我有不安全的群集(CDH 5.4),因为我想向更多用户提供数据访问,我想打开Sentry,到目前为止没有Kerberos(在成功启动Sentry之后)。 由于其他一些人目前可能需要Impala,我决定在第一阶段将其设置在Hive中。
我采取的步骤: 1)我已经设置了2个用户:hive和tuser
tuser - 小组测试 蜂巢 - 群蜂巢,动物园管理员
小组测试
indexer.access, about.access, beeswax.access, filebrowser.access, hbase.write, hbase.access, help.access, impala.access, jobbrowser.access,
jobsub.access, metastore.write, metastore.access, oozie.dashboard_jobs_access, oozie.access, pig.access, proxy.access, rdbms.access,
search.access, security.impersonate, security.access, spark.access, sqoop.access, useradmin.access_view:useradmin:edit_user, useradmin.access, zookeeper.access
小组配置单元
beeswax.access
群组配置单元具有角色管理员(第一个具有解锁锁定):
SERVER
server=server1 action=ALL
SERVER
server=server1 action=ALL
小组测试有角色neco
SERVER
server=server1 action=ALL
URI
server=server1 hdfs://...:8020/user/hive/warehouse action=ALL
DATABASE
server=server1 db=default action=ALL
此外,用户配置单元位于sentry.service.admin.group和sentry.service.allow.connect两个集合中。
2)我打开了哨兵
- 在Hive中检查了哨兵服务从"无"到" Sentry"
- 在插入了sentry-site.xml的Hive Service高级配置代码段(安全阀)中<property> <name>sentry.hive.testing.mode</name><value>true</value></property>
+重启Sentry
结果: 用户配置单元可以访问Hive中的任何内容。这就是我所期待的。
用户tuser无法访问Hive中的任何内容:Error while compiling statement: FAILED: SemanticException No valid privileges Required privileges for this query: Server=server1->Db=*->Table=+->action=insert;Server=server1->Db=*->Table=+->action=select;
我错过了什么?
答案 0 :(得分:0)
最后我被告知错误:Hue组必须与Namenode的linux上的组相同(检查HDFS org.apache.hadoop.security.ShellBasedUnixGroupsMapping)。对于Impala,使用Impala守护程序的所有节点都必须具有相同的组。
但是,我将从LDAP中取代组(选项org.apache.hadoop.security.LdapGroupsMapping)。