http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Security-Guide/cdh5sg_sentry.html
条件:
Kerberos安全认证(使用cm配置安全认证后,hive自动也添加了认证,所以hive认证配置http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH5/latest/CDH5-Security-Guide/cdh5sg_hive_security.html可以省略)
该条件是cloudera官方文档中说明的,据了解,可以不配置kerberos安全认证,同样可以使用sentry,但试过,求试过的同学个回复
步骤:
sudo -u hdfs hdfs dfs -chmod -R 770 /user/hive/warehouse
sudo -u hdfs hdfs dfs -chown -R hive:hive /user/hive/warehouse
cm的hive配置中找到 hive.sentry.provider设置成org.apache.sentry.provider.file.LocalGroupResourceAuthorizationProvider
(如此hive将识别policy file的user group配置)
sentry-provider.ini配置。例如:
[databases]
# Defines the location of the per DB policy file for the customers DB/schema
customers = hdfs://namenode11.yeahmobi.com:8020/etc/sentry/customers.ini
-------------某个数据库权限配置
[groups]
# Assigns each Hadoop group to its set of roles
manager = analyst_role, junior_analyst_role
analyst = analyst_role
jranalyst = junior_analyst_role
customers_admin = customers_admin_role
admin = admin_role
[roles]
# The uris below define a define a landing skid which
# the user can use to import or export data from the system.
# Since the server runs as the user "hive" files in that directory
# must either have the group hive and read/write set or
# be world read/write.
analyst_role = server=server1->db=analyst1, \
server=server1->db=jranalyst1->table=*->action=select,\
server=server1->db=default->table=*->action=select,\
server=server1->db=test->table=*->action=select
junior_analyst_role = server=server1->db=jranalyst1
# Implies everything on server1 -> customers. Privileges for
# customers can be defined in the global policy file even though
# customers has its only policy file. Note that the Privileges from
# both the global policy file and the per-DB policy file
# are merged. There is no overriding.
customers_admin_role = server=server1->db=customers
# Implies everything on server1.
admin_role = server=server1
[users]
-----------------------------user group在此生效
hive = manager,customers_admin
hue = analyst
rube = analyst
qiulp= analyst
上传此文件至hdfs的某个目录项,此目录授权给hive用户hive组。
hive启用sentry
cm中找到hive hive.server2.session.hook配置为:org.apache.sentry.binding.hive.HiveAuthzBindingSessionHook
配置hive.sentry.conf.url
使用hive jdbc时,出现如下异常:
Exception in thread "main" java.sql.SQLException: Error while compiling statement: FAILED: SemanticException No valid privileges
at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:167)
at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:155)
at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:210)
是权限赋值的有问题。
分享到:
相关推荐
1. **登录与权限问题**:有时用户无法成功登录Hue,可能是由于认证配置错误或者用户权限不足。解决方法包括检查配置文件`core-site.xml`和`hue.ini`中的认证设置,以及确保用户已添加到Hue的授权组。 2. **Hive查询...
6. **用户权限管理**:Hue支持LDAP或Kerberos集成,实现用户身份验证和权限管理,确保只有授权用户才能访问和操作数据。 【应用场景】 1. **数据探索**:Hue是数据科学家和分析师的理想工具,他们可以快速浏览数据...
8. **权限管理**:Hue支持Hadoop的HDFS和Oozie的ACLs(访问控制列表),允许管理员配置用户和组的访问权限,确保数据安全。 9. **插件扩展**:Hue设计为可扩展的,开发者可以为其添加自定义的插件,以适应特定的...
6. **权限管理**:集成Hadoop的访问控制模型,用户可以管理角色和权限,确保数据安全性。 7. **改进的性能和稳定性**:3.9.0版本针对CDH 5.7.1进行了优化,提升了响应速度和系统的稳定性。 8. **自定义插件**: ...
安装完成后,用户可以通过Web浏览器访问Hue的管理界面,根据需求配置服务连接、创建用户账户并分配权限,然后就可以开始利用Hue提供的功能进行大数据分析工作了。 总的来说,Hue 3.12.0作为Hue的一个版本,旨在简化...
安装和配置Hue时,需要考虑的要点包括配置数据库连接(通常使用MySQL或PostgreSQL)、设置Hadoop相关服务的访问权限以及调整Hue的配置参数以满足特定的性能和安全需求。此外,确保系统满足Hue的硬件和软件要求,例如...
Hue是Hadoop生态系统中的一个关键组件,其主要功能是提供一系列的Web应用程序,如文件浏览器、数据库查询工具(Beeswax)、工作流管理器(Oozie)等,帮助用户无需编写复杂的命令行脚本,即可完成数据的浏览、查询、...