如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

genshengxiao 2020-06-04

如何在CDH 6.3.2 启用Kerberos 中 使用sentry 限制用户读写

标签(空格分隔): 大数据平台构建


  • 一: 系统环境介绍
  • 二: CDH6.3.2 启用安装sentry
  • 三: sentry 使用
  • 四:启用sentry测试

一: 系统环境介绍

操作系统
    CentOS7.5x64

cdh/cm 版本
   cm:6.3.1
   cdh:6.3.2 

采用root用户操作

前置条件:
1.CDH集群运行正常

2.集群已启用Kerberos且正常使用

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

##二:CDH6.3.2 启用安装sentry

1.在MySQL中创建sentry数据库

# mysql -uroot -pflyfish225
mysql> create database sentry character set latin1;     (这个地方必须是latin1 字符集)
mysql> grant all privileges on sentry.* to ‘sentry‘@‘%‘ identified by ‘sentry_1234‘ with grant option;
mysql> flush privileges;

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写


如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

三: sentry 使用

3.1 在 hive 中使用sentry

1.配置Hive使用Sentry服务

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

2.关闭Hive的用户模拟功能

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

3.2 在impala 中启用sentry

配置Impala使用Sentry

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

3.3 在hue中启用sentry

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

3.4 在hdfs中启用sentry

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

完成以上配置后,回到Cloudera Manager主页,部署客户端配置并重启相关服务。

四:sentry 的测试

4.1创建hive超级用户

使用hive用户登录Kerberos,操作如下

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

1.使用beeline连接HiveServer2

beeline 
!connect jdbc:hive2://localhost:10000/;principal=hive/
create role admin;

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

grant all on server server1 to role admin;
 grant role admin to group hive;

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

创建普通账号与开发者账号
注意:集群所有节点必须存在用户与用户组,赋权是针对用户组而不是针对用户。

Linux添加两个用户(所有节点都要执行)
 useradd read
 useradd developer

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

beeline登录创建账号
 create role read;
 create role developer;

 grant select on server server1 to role read;
 grant select on server server1 to role developer;
 grant insert on server server1 to role developer;
 grant create on server server1 to role developer;

 grant role read to group read;
 grant role developer to group developer;

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写


创建test表

使用hive用户登录Kerberos,通过beeline登录HiveServer2,创建test表,并插入测试数据

create table test (s1 string, s2 string) row format delimited fields terminated by ‘,‘;

insert into test values(‘a‘,‘b‘),(‘1‘,‘2‘);

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

使用read 账号登录hue 查看 可以 创建 表 报错

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写


使用developer 登录

既可以 查询 也可以 创建表

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

如何在CDH 6.3.2 启用Kerberos 中 使用sentry限制 用户读写

相关推荐