我有不安全的群集(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
此外,用户配置单元位于sendry.service.admin.group和sentry.service.allow.connect中。
2)我已打开哨兵-在Hive中将Sentry服务从“无”检查为“哨兵”-在Hive Service的高级配置代码段(安全阀)中,已插入并<property> <name>sentry.hive.testing.mode</name><value>true</value></property>
重新启动Sentry的sentry-site.xml
结果:用户配置单元可以访问配置单元中的任何内容。那就是我所期望的。
用户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;
我想念什么?
最终,我被告知出了什么问题:Hue组必须与Namenode的Linux上的组相同(检查HDFS org.apache.hadoop.security.ShellBasedUnixGroupsMapping)。对于Impala,所有具有Impala守护程序的节点都必须具有相同的组。
但是,我将从LDAP(选项org.apache.hadoop.security.LdapGroupsMapping)中取代组。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句