介绍
Sentry是Cloudera公司发布的一个Hadoop开源组件,主要集成在CDH总,它提供了细粒度级、基于角色的授权以及多租户的管理模式。Sentry当前可以和Hive/Hcatalog、Apache Solr 和Cloudera Impala集成,未来会扩展到其他的Hadoop组件,例如HDFS和HBase,简单来讲目前是用户CDH上Hive/Impala的权限管理。
在CDH中安装和配置
- 安装
- 在CDH管理界面,通过添加服务:
- 添加一台sentry server服务器,任意台Gateway服务器即可。
为sentry服务配置数据库
3、配置完成后,点击完成等待完成安装即可。
- 在CDH管理界面,通过添加服务:
- 配置
- 设置hdfs权限
修改hdfs路径/user/hive/warehouse权限,
所有者为hive:hive,如果已经是了请忽略
hadoop fs -chown -R hive:hive /user/hive/warehouse
修改hive下所有路径的权限为771:
hadoop fs -chmod -R 771 /user/hive/warehouse
如下图:
- 为hive启用sentry server
从CDH管理界面,进入hive->配置,修改如下配置:
如果需要为hue也启用sentry server,操作如上。 - 配置Securing the Hive Metastore
在HiveServer2 的sentry-site.xml配置中启用如下参数
如果在CDH管理界面进行修改,请进入hive->配置->高级,找到如下配置:<property> <name>sentry.hive.testing.mode</name> <value>true</value> </property>
- 设置hdfs权限
- 重启hive
授权语法
CREATE ROLE 语句
CREATE ROLE 语句创建一个可授予权限的角色。授予角色权限,然后将其分配给用户。已分配角色的用户将只能能执行该角色的权限。
仅具有管理权限的用户可创建/删除角色。默认情况下,hive、impala 和 hue 用户在 Sentry 中具有管理权限。
CREATE ROLE [role_name]