0

我有不安全的集群(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

group hive 具有角色 admin(第一个具有解锁锁的角色):

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

此外,用户 hive 位于 sentry.service.admin.group 和 sentry.service.allow.connect 两个集合中。

2)我已经打开哨兵 - 在 Hive 中检查了哨兵服务从“无”到“哨兵” - 在 Hive 服务高级配置片段(安全阀)中插入 sentry-site.xml <property> <name>sentry.hive.testing.mode</name><value>true</value></property> + 重新启动哨兵

结果:用户 hive 可以访问 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;

我错过了什么?

4

1 回答 1

0

最后我被告知出了什么问题:Hue 组必须与 Namenode 的 linux 上的组相同(因为检查了 HDFS org.apache.hadoop.security.ShellBasedUnixGroupsMapping)。对于 Impala,所有具有 Impala 守护进程的节点都必须具有相同的组。

但是,我将超越 LDAP 中的组(选项 org.apache.hadoop.security.LdapGroupsMapping)。

于 2016-03-22T09:05:12.523 回答