0812-7.1.3-如何使用Ranger给HBase授权( 二 )


0812-7.1.3-如何使用Ranger给HBase授权文章插图
验证2:Exclude from Allow Conditions 验证 , 使用testuser1 用户创建权限策略testExcludeAllow 。 在Allow Conditions给testuser2 授予ExcludeAllow表的读、写、创建权限 , 并且在Exclude from Allow Conditions 排除读的权限 , 如下图所示:
0812-7.1.3-如何使用Ranger给HBase授权文章插图
然后使用testuser2 插入ExcludeAllow数据并查看验证 , 验证Allow Conditions 和Exclude from Allow Conditions都已生效 , 并且Exclude 条件优先于Allow , 因此得到的结果是testuser2 可以插入数据到ExcludeAllow表中 , 但是不能查看 , 验证如下图所示:
hbase(main):006:0> put 'testspace:ExcludeAllow, 'rowKey1', 'name:column1', 'testuser2'hbase(main):007:0> scan "testspace:ExcludeAllow"
0812-7.1.3-如何使用Ranger给HBase授权文章插图
验证3:Deny Conditions 验证 , 使用testuser1创建策略 testDeny 。 在Allow Conditions给testuser2 授予Deny表的读、写、创建权限 , 并且在Deny Conditions种添加拒绝读的权限 。 如下图所示:
0812-7.1.3-如何使用Ranger给HBase授权文章插图
根据上面的权限策略 , 得到的结论与验证2的结果一致 。 testuser2 可以插入数据到Deny 表中 , 但是不能查看 , 验证如下图所示:
hbase(main):006:0> put 'testspace:Deny, 'rowKey1', 'name:column1', 'testuser2'hbase(main):007:0> scan "testspace:Deny"
0812-7.1.3-如何使用Ranger给HBase授权文章插图
验证4:Exclude from Deny Conditions 验证 , 使用testuser1 用户创建权限策略testExcludeDeny 。 在Allow Conditions给testuser2 授予ExcludeAllow表的读、写、创建权限策略 。 在Deny Conditions 添加拒绝读、写的权限策略 , 并且在Exclude from Deny Conditions 排除拒绝写的权限策略 , 如下图所示:
0812-7.1.3-如何使用Ranger给HBase授权文章插图
根据上面的权限策略 , 得到的结论与验证2、3的结果一致 。 testuser2 可以插入数据到ExcludeDeny 表中 , 但是不能查看 , 验证如下图所示:
hbase(main):006:0> put 'testspace:ExcludeDeny, 'rowKey1', 'name:column1', 'testuser2'hbase(main):007:0> scan "testspace:ExcludeDeny"
0812-7.1.3-如何使用Ranger给HBase授权文章插图
登录testuser1 验证上面所有的数据确认测试2-4使用testuser2都已正常写入
0812-7.1.3-如何使用Ranger给HBase授权文章插图
验证5:HBase column 级别授权,使用testuser1 用户创建权表testColumn , 并put 数据
hbase(main):004:0> create "testspace:testColumn" ,"name","age"hbase(main):005:0> desc "testspace:testColumn"hbase(main):006:0> put 'testspace:testColumn', 'rowKey1', 'name:column1', 'testuser1'hbase(main):007:0> put 'testspace:testColumn', 'rowKey1', 'age:column1', '20'hbase(main):008:0> scan 'testspace:testColumn'
0812-7.1.3-如何使用Ranger给HBase授权文章插图