快捷搜索:  汽车  科技

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)《》前面Fayson的文章介绍了多篇Redhat7的OpenLDAP的文章具体如下:《1.如何在RedHat7上安装OpenLDA并配置客户端

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


前面Fayson的文章介绍了多篇Redhat7的OpenLDAP的文章具体如下:

1.如何在RedHat7上安装OpenLDA并配置客户端

2.如何在RedHat7中实现OpenLDAP集成SSH登录并使用sssd同步用户

3.如何RedHat7上实现OpenLDAP的主主同步

4.如何为Hive集成RedHat7的OpenLDAP认证

5.如何为Impala集成Redhat7的OpenLDAP认证

6.如何为Hue集成RedHat7的OpenLDAP认证

3.验证OpenLDAP是否成功添加testsentry用户

ldapsearch -D "cn=Manager dc=fayson dc=com" -W |grep testsentry

(可左右滑动)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(1)

4.验证CDH集群所有节点已同步该testsentry用户

[root@ip-172-31-16-68 shell]# sh ssh_do_all.sh node.list "id testsentry"

(可左右滑动)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(2)

这里Fayson使用一个批量脚本执行,可以看到集群的所有节点已同步了OpenLDAP服务的testsentry用户。

4.创建Kerberos账号


如果集群未启用Kerberos可跳过此步。

由于Fayson的集群启用了Kerberos,如果用户要访问集群则需要创建testsentry用户的Kerberos账号,具体操作步骤如下:

1.在kadmin所在服务器上执行如下命令创建Kerberos账号

[root@ip-172-31-16-68 ~]# kadmin.local Authenticating as principal hbase/admin@FAYSON.COM with password. kadmin.local: addprinc testsentry@FAYSON.COM WARNING: no policy specified for testsentry@FAYSON.COM; defaulting to no policy Enter password for principal "testsentry@FAYSON.COM": 输入账号密码 Re-enter password for principal "testsentry@FAYSON.COM": 输入账号密码 Principal "testsentry@FAYSON.COM" created. kadmin.local:

(可左右滑动)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(3)

2.测试Kerberos账号是否可以使用

[root@ip-172-31-16-68 ~]# kinit testsentry@FAYSON.COM Password for testsentry@FAYSON.COM: [root@ip-172-31-16-68 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: testsentry@FAYSON.COM Valid starting Expires Service principal 04/12/2018 22:17:45 04/13/2018 22:17:45 krbtgt/FAYSON.COM@FAYSON.COM renew until 04/19/2018 22:17:45 [root@ip-172-31-16-68 ~]#

(可左右滑动)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(4)

5.Hue授权OpenLDAP用户组


1.使用hive的超级管用登录Hue,进入“Security”授权界面

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(5)

2.将tpcds_text_2库的所有权限授权给testsentry用户

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(6)

添加tpcds_role角色

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(7)

创建成功

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(8)

6.授权验证


1.使用testsentry用户登录Hue,验证授权是否正确

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(9)

登录成功

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(10)

这里我们也没有在Hue中添加testsentry用户就可以登录,因为Fayson在集成Hue的时候勾选了“登录时创建 LDAP 用户”选项,所以默认不需要在Hue中手动的同步OpenLDAP用户。

在Hue中可以看到testsentry用户拥有default和tpcds_text_2两个库,未给testsentry组授予default库的权限,所以default库显示为空

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(11)

tpcds_text_2库下能显示所有的表

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(12)

执行SQL查询tpcds_text_2库下customer表 执行成功

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(13)

执行SQL统计tpcds_text_2库下customer表总数,执行成功

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(14)

使用Impala引擎测试

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(15)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(16)

2.在命令行执行

[root@ip-172-31-16-68 ~]# beeline beeline> !connect jdbc:hive2://localhost:10000 Enter username for jdbc:hive2://localhost:10000: testsentry Enter password for jdbc:hive2://localhost:10000: ******

(可左右滑动)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(17)

查看拥有的库的权限与Hue上显示一致

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(18)

执行SQL查询操作select * from customer limit 5;执行成功

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(19)

执行统计成功,select count(*) fromcustomer;

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(20)

3.使用hadoop命令浏览授权库的数据目录

[root@ip-172-31-16-68 ~]# kinit testsentry Password for testsentry@FAYSON.COM: [root@ip-172-31-16-68 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: testsentry@FAYSON.COM Valid starting Expires Service principal 04/12/2018 23:12:26 04/13/2018 23:12:26 krbtgt/FAYSON.COM@FAYSON.COM renew until 04/19/2018 23:12:26 [root@ip-172-31-16-68 ~]# hadoop fs -ls /tmp/tpcds-generate/2/customer Found 1 items -rwxrwx--x 3 hive hive 19084888 2018-03-17 04:01 /tmp/tpcds-generate/2/customer/data-m-00001 [root@ip-172-31-16-68 ~]#

(可左右滑动)

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(21)

未授权用户无法访问相应HDFS的数据目录

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(22)

7.总结


  • OpenLDAP中的用户中与Linux中的用户是一致的
  • Sentry授权是针对用户组的,所以在需要在Hue中授权的用户组名与OpenLDAP中的用户组名称一致
  • 如果集群启用了Kerberos则需要创建OpenLDAP相应用户的Kerberos账号,否则LDAP用户无法访问授权的表的HDFS数据目录

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

redhat7.2安装(0238-如何使用RedHat7的OpenLDAP和Sentry权限集成)(23)

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

猜您喜欢: