美文网首页Hadoop
100.如何用OpenLDAP的用户进行Sentry授权

100.如何用OpenLDAP的用户进行Sentry授权

作者: 大勇任卷舒 | 来源:发表于2022-02-11 10:15 被阅读0次

    100.1 演示环境介绍

    • OpenLDAP:2.4.44
    • CM和CDH版本:5.13.1
    • OS为Redhat:7.3
    • 已启用Kerberos
    • OpenLDAP服务和CDH各个服务已安装和集成

    100.2 操作演示

    1.OpenLDAP环境描述

    • 主节点IP地址
      • 186.31.24.169
    • 主节点HOSTNAME
      • ip-186-31-24-169.ap-southeast-1.compute.internal
    • 备节点IP地址
      • 186.31.16.68
    • 备节点HOSTNAME
      • ip-186-31-16-68.ap-southeast-1.compute.internal
    • 主节点和备节点均OpenLDAP已安装

    2.创建和验证OpenLDAP

    • 编辑testsentry.ldif文件:
    [root@ip-186-31-24-169 ldap]# vim testsentry.ldif
    #添加用户默认组
    dn: cn=testsentry,ou=Group,dc=fayson,dc=com
    objectClass: posixGroup
    objectClass: top
    cn: testsentry
    userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
    gidNumber: 2999
    #添加用户
    dn: uid=testsentry,ou=People,dc=fayson,dc=com
    uid: testsentry
    cn: testsentry
    objectClass: account
    objectClass: posixAccount
    objectClass: top
    objectClass: shadowAccount
    userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
    shadowLastChange: 17493
    shadowMin: 0
    shadowMax: 99999
    shadowWarning: 7
    loginShell: /bin/bash
    uidNumber: 2999
    gidNumber: 2999
    homeDirectory: /home/testsentry
    
    • 执行如下命令导入testsentry用户
    ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f testsentry.ldif
    
    • 验证OpenLDAP是否成功添加testsentry用户
    ldapsearch -D "cn=Manager,dc=fayson,dc=com" -W  |grep testsentry
    
    • 验证CDH集群所有节点已同步该testsentry用户
    [root@ip-186-31-16-68 shell]# sh ssh_do_all.sh node.list "id testsentry"
    

    3.Kerberos账号的创建

    • 在kadmin所在服务器上执行如下命令创建Kerberos账号
    [root@ip-186-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:  
    
    • 测试Kerberos账号是否可以使用
      • 注意:用户名需与OpenLDAP一致
    [root@ip-186-31-16-68 ~]# kinit testsentry@FAYSON.COM
    Password for testsentry@FAYSON.COM: 
    [root@ip-186-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-186-31-16-68 ~]# 
    

    4.Hue授权OpenLDAP用户组

    • 进入Security授权界面
      • 注意:需使用hive的超级管用登录Hue
    • 把tpcds_text_2库的所有权限授权给testsentry用户
      • 添加tpcds_role角色


    • 如下即为创建成功


    5.授权验证

    • 使用testsentry用户登录Hue,验证授权是否正确
    • 在命令行执行
    [root@ip-186-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: ******
    

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

    [root@ip-186-31-16-68 ~]# kinit testsentry
    Password for testsentry@FAYSON.COM: 
    [root@ip-186-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-186-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-186-31-16-68 ~]# 
    

    6.总结

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

    大数据视频推荐:
    腾讯课堂
    CSDN
    大数据语音推荐:
    企业级大数据技术应用
    大数据机器学习案例之推荐系统
    自然语言处理
    大数据基础
    人工智能:深度学习入门到精通

    相关文章

      网友评论

        本文标题:100.如何用OpenLDAP的用户进行Sentry授权

        本文链接:https://www.haomeiwen.com/subject/eklwkrtx.html