大数据CDH安全之Sentry
1、Sentry概述
cdh版本的hadoop在对数据安全上的处理通常采用Kerberos+Sentry的结构。
kerberos主要负责平台用户的权限管理,sentry则负责数据的权限管理。
2、Sentry简介
Apache Sentry是Cloudera公司发布的一个Hadoop开源组件,它提供了细粒度级,基于角色的授权以及多租户的管理模式。
Sentry提供了对Hadoop集群上经过身份验证的用户和应用程序的数据控制和强制执行精确级别权限的功能。Sentry目前可以与Aapache Hive,Hive Metastore/HCatalog,Apache,Solr,Impala和HDFS(仅限于Hive表数据)一起使用。
Sentry成为Hadoop组件的可插拔授权引擎。它允许自定义授权则以验证用户或应用程序对Hadoop资源的访问请求。Sentry是高度模块化的,可以支持Hadoop中各种数据模型的授权。
3、Sentry
4、cdh集群添加sentry服务
通过cdh集群页面添加sentry服务,按照提示添加,此步骤忽略!!!
5、hive配置sentry
1)在hive配置中开启sentry服务

2)hive配置sentry.hive.testing.mode状态为true

3)关闭hive模拟功能
6、开启权限体系架构后通过别的用户是没有权限读取,需要创建管理角色并授权超管权限
链接方式:通过hive自带belinee测试

create role admin
grant all on server server1 to role admin;
grant role admin to group hive;
7、创建hive测试表
create table t1(s1 string,s2 string)row format delimited fields terminated by',';
insert into t1 values('a','b'),('1','2'); ## 测试表中插入数据
8、hive添加测试角色并授权给用户组
read:只读test库t1表,并授权给user_r用户组
write:只能写test库t1表,并授权给write_r用户组
注意:集群所有节点必须存在添加的用户,用户默认用户组与用户名一致,赋权具针对用户组而不是针对用户。
useradd user_r
useradd user_w
9、使用hive用户创建read和write角色并授权read角色对test库t1表select权限,write角色对test库t1表insert权限
create role admin
grant all on server server1 to role admin;
grant role admin to group hive;
10、验证user_r用户

11、验证user_w用户


浙公网安备 33010602011771号