Apache Sentry:SemanticException无有效权限此查询所需的权限

时间:2016-03-11 10:50:58

标签: hadoop cloudera apache-sentry

我有不安全的群集(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中检查了哨兵服务从&#34;无&#34;到&#34; Sentry&#34; - 在插入了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;

我错过了什么?

1 个答案:

答案 0 :(得分:0)

最后我被告知错误:Hue组必须与Namenode的linux上的组相同(检查HDFS org.apache.hadoop.security.ShellBasedUnixGroupsMapping)。对于Impala,使用Impala守护程序的所有节点都必须具有相同的组。

但是,我将从LDAP中取代组(选项org.apache.hadoop.security.LdapGroupsMapping)。