数据的权限控制

ACL是数据仓库实际应用中比较必要的一个模块。

权限平台最主要的几个概念:用户、角色、操作和资源。常见的:如人是用户,管理员是角色,读/写属于操作,而表格就属于资源。用户通过角色拥有对资源的操作权限。事实上,在实际中,考虑一个用户可能只需要拥有某张表格的某几列的写权限,可能不适宜直接创建一个特殊的角色来支持这种需求,为防止角色的数目过于泛滥,可以支持用户直接拥有具体资源的权限,不过这样在概念上有点不合适宜。具体可根据实际应用取舍。


在实际应用中,一般操作就是增/删/读/写/改,用户和资源则可以很多,因此出于方便的考虑,通常需要支持用户组、资源组。事实上,角色就是对用户的一种区分方式,而一个用户组包含多个用户,一个用户可以拥有多个角色。

最复杂的可能就是资源方面了,在数据仓库的权限控制中,可能需要细致到A角色对某表的某几列某几行拥有权限。此时,最基本的资源分配单位就是一张表格中的一个单元格。
但是单元格作为分配在大多数情况下作为分配单位是非常繁琐的。因此,需要对资源进行分组,举例来说,可以引入资源的类型、部门、表、列和行。从而建立一颗资源树如下:
|--部门
  |--数据类型
     |--表
        |--列
           |--行
当然,根据实际情况会有所不同,顺序也可以调整,这只是一个例子。


如果我们有一个前端,如网页的地址是warehouse.com/getData/departmentA/click/pv/20120101/name/,表示要请求departmentA的click类型的数据,表格名称为pv,字段为name的20120101日期的数据,那么ACL时,用户首先在浏览器端登录认证,在请求具体这个URL时,服务端向ACL模块提交验证请求即可。当前ACL需要提供不同粒度的接口,如有时只要认证对表格是否有读权限,对部门是否有权限,如是等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值