免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3808 | 回复: 9
打印 上一主题 下一主题

V9的LBAC的权限问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-17 11:34 |只看该作者 |倒序浏览
在使用LBAC时碰到了麻烦
如果只是用到行标签的时候没有问题。
但是用到列标签的时候,如果是在建表的时候就指定安全标签
报错:SQL20419N 对于表 "EMPLOYEE",授权标识 "SAM" 没有允许使用安全标号 "CONFIDENTIAL"来保护列 "EMPNO" 的 LBAC 凭证。  SQLSTATE=42522                                          
如果建表后,使用alter来加入安全标签
报错:SQL20402N 授权标识 "SAM" 没有对表 "EMPLOYEE" 执行 "ALTER" 操作所需的 LBAC凭证。  SQLSTATE=42519

我使用一个用户a建立安全标签,sam建表。然后由a把这个policy下面的一个标签的读权限赋给sam

请问是什么原因引起的

论坛徽章:
0
2 [报告]
发表于 2008-01-17 14:49 |只看该作者
DB2 Security Administrator (SECADM) is required to manipulate LBAC objects. SECADM authority can only be granted by SYSADM. A database manager (DBM) does not have SECADM by default.

try
grant SECADM on DATABASE to user/group

论坛徽章:
0
3 [报告]
发表于 2008-01-17 16:40 |只看该作者
My mistake
need write access
try
GRANT SECURITY LABEL security-label-name   FOR WRITE ACCESS  TO USER sam

论坛徽章:
0
4 [报告]
发表于 2008-01-18 09:34 |只看该作者

回复 #3 我笨故我在new 的帖子

是我写错了,我用的是write权限。
现在我定义的是一个array,即使我把最敏感级别HIGHCONFIDENTIAL赋给了sam,那么在alter语句中就只能使用这一个安全标签才会成功。其他的SECURED WITH UNCLASSIFIED就会报错。
请问这要怎么解决?

论坛徽章:
0
5 [报告]
发表于 2008-01-18 09:46 |只看该作者
补充:
ARRAY ['HIGHLY CONFIDENTIAL', 'CONFIDENTIAL', 'UNCLASSIFIED']
ALTER TABLE hr.EMPLOYEE                          
    ALTER EMPNO SECURED WITH CONFIDENTIAL         
    ALTER GENDER  SECURED WITH UNCLASSIFIED      
    ALTER COMM SECURED WITH HIGHCONFIDENTIAL      
    add column a DB2SECURITYLABEL                 
    ADD SECURITY POLICY ACCESS_EMPLOYEE_POLICY_2  
    ;                                             

把HIGHCONFIDENTIAL 赋给sam后,alter不成功,报授权标识 "SAM" 没有允许使用安全标号 "CONFIDENTIAL"来保护列 "EMPNO" 的 LBAC 凭证。
然后执行GRANT EXEMPTION ON RULE DB2LBACWRITEARRAY WRITEDOWN FOR ACCESS_EMPLOYEE_POLICY_2 TO USER SAM
执行alter成功。

最郁闷的是,我原来只赋了一个CONFIDENTIAL的write权限也建成了表,后来重复做的时候就怎么都不成功了。

[ 本帖最后由 有瑕 于 2008-1-18 10:03 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-01-18 10:49 |只看该作者
你用的是9.1 or 9.5?

[ 本帖最后由 我笨故我在new 于 2008-1-18 11:00 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-01-18 11:24 |只看该作者
9.1
被这个搞得混乱死了。而且在使用行列组合标签的时候还会出现权限混乱的情况。比如明明这个用户没有对这个列的read权,可是查询的时候却能用

论坛徽章:
0
8 [报告]
发表于 2008-01-18 11:32 |只看该作者
你用SECADM组中有alter table权限的用户或者DBM组中被授予了SECADM 权限的用户alter table
然后用SECADM 用户把label的权限给用户
看看是不是正常

最好不要GRANT EXEMPTION 都规则免除了该用户当然不受限制了

论坛徽章:
0
9 [报告]
发表于 2008-01-18 12:19 |只看该作者
配置管理工作交给管理员 使用交给用户 逻辑上先不要乱

用普通用户既进行配置管理 又要限制其使用 产生混乱也是正常现象

论坛徽章:
0
10 [报告]
发表于 2008-01-23 17:03 |只看该作者

回复 #9 我笨故我在new 的帖子

对,我已经把这些分开了,但是还是有点问题。

再问一下,用户标签有什么用?我感觉好像没有用一样

还有一个问题。我现在使用sample数据库,按照https://www6.software.ibm.com/dw ... 5wong/section4.html上面的介绍跟着做section4,也就是同时使用行和列标签。前面一切顺利,但是到了后面查询的时候,只要在查询语句中包含MEDICAL_HISTORY字段(受保护),那么任意用户都可以选择查询所有的记录,也就是他的行标签不起作用:(。不知道到底是什么问题引起的,还是我数据库设置的本身的问题。

[ 本帖最后由 有瑕 于 2008-1-25 09:29 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP