zoukankan      html  css  js  c++  java
  • HDP安全之集成kerberos/LDAP、ranger(knox自带LDAP)

    ----------------------目录导航见左上角------------------------------- 

    环境

    HDP 3.0.1.0 (已有)

    JDK   1.8.0_91 (已有)

    Mysql  5.7.25 (已有)

    Kerberos       1.10.3-30 (后续文档中有介绍如何安装)

    LDAP       knox自带的通用LDAP (已有)

    Ranger    1.1.0 (已有)

    目的

    集成HDP kerberos /LDAP/ranger之前必须先了解为什么要这样做,kerberos/LDAP是用来做身份认证的,ranger用来做授权审计的,KNOX负责集群安全,所以集成后应该要满足同一个账号,例如hux可以在linux、ambari、ranger、kerberos等等等均可使用,ranger上可以同步LDAP中的用户,并进行统一的用户权限管理,所以需要在linux中创建的用户与LDAP、kerberos中创建的用户相同,由于此次使用的是knox自带的LDAP,所以里面没有集成kerberos,需要在LDAP和kerberos中分别创建同样的账号,如果使用的AD、IPA就不需要这样做了,因为它们有集成kerberos。

    以下以创建hux用户为例做集成

    一、安装部署kerberos

    1,在server上安装KDC

    yum install krb5-server krb5-libs krb5-workstation

    2,修改配置并取消注释

    vi /etc/krb5.conf

    default_realm = EXAMPLE.COM

    [realms]

     EXAMPLE.COM = {

      kdc = test002

      admin_server = test002

     }

    3,创建数据库

    kdb5_util create -s -r EXAMPLE.COM

    输入密码并确认

    4,创建管理员

    kadmin.local

    输入(上面确认的密码)

    addprinc admin/admin(管理员账号admin,密码admin)

    5,重启服务

    systemctl restart krb5kdc

    systemctl restart kadmin

    查看状态

    systemctl krb5kdc status

    或者

    service krb5kdc status

    6,将KDC服务器设置为在引导时的自动启动

    chkconfig krb5kdc on

    chkconfig kadmin on

    7,为kerberos安装JCE

    下载jdk对应版本的JCE文件

    wget http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

    8,将压缩包内的jar包解压至JDK对应的子目录

    /usr/local/jdk1.8.0_91/jre/lib/security/

    并SCP至另外俩个节点

    重启ambari

    9,运行kerberos安全向导

    (注意kerberos对时间高度敏感,需要检查时间是否一致,查看NTP状态)

    10,基础操作

    添加普通用户

    kadmin.local -q "addprinc hux"

    hux

    查看kerberos用户(K管理员才可查看)

    Klist

    使用hdfs 的认证登陆kerberos用户并提交hdfs任务

    klist -kt /etc/security/keytabs/hdfs.headless.keytab

    kinit -kt /etc/security/keytabs/hdfs.headless.keytab hdfs-myc1@EXAMPLE.COM

    list

    hdfs dfs -put /etc/resolv.conf /tmp/     (显示是HDFS用户上传的)

    二、部署LDAP(通用LDAP)

    1,在ambari knox组件上开启ldap demo

     

    2,执行ambari初始化命令

    ambari-server setup-ldap

    输入的参数在ambari knox Advanced users-ldif 文件中可见(一定要和配置文件中相同)

     

     

    Setup参数如下:

    查看端口:netstat -natp | grep 389

     

    如上 端口为33389

     

    3,配置LDAPadmin win配置连接:

    LDAPadmin(windows下进行管理ambari用户)参数参考如下:

     

    组相关信息:

     

    用户相关信息:

     

    4,重启ambari

    ambari-server restart

    5,创建用户

    touch users.txt

    vim users.txt

    输入如下内容:

    hux

    6,创建组

    touch groups.txt

    vim groups.txt

    输入如下内容:

    analyst,scientist

    7,创建及同步用户、组示例*

    ambari-server sync-ldap --users users.txt --groups groups.txt

     

     

    8,将kerberos用户添加至ldap文件夹中,准备同步至ambari

    echo "hux" > users.txt

    ambari-server sync-ldap --users users.txt

    在LDAP客户端中创建hux用户,也可通过命令创建(尽量创建的组与组,用户与用户之间其他的属性基本一致,方便后面做ranger用户同步)

     

    三、配置Ranger同步LDAP用户

    1,打开user sync

    2,配置LDAP同步的相关信息(一一对应)

    可结合上面LDAP win客户端及配置文件的信息和下面ranger界面对LDAP的配置对应着看来结合自身的作参考。

     

     

    在advance中的配置

     

     

    配置完成后保存,重启所有受影响的

    3,配置完成

    用admin账户登录ranger可以看到同步过来的组,用户信息

     

    创建的用户信息

     

    在ranger中对hux账户赋权,hux可以进行相关的操作,例如上传hdfs文件,访问HIVE等等,并且现在huv账户应该是除了对赋予的权限可以进行操作外,还可以同一个账户登录ambari,ranger,kerberos,LDAP,linux(su,id)

     

    (对配置有不理解的可评论联系我)

     

  • 相关阅读:
    zeplin 登录效果实现
    instanceof 是如何工作的
    JavaScript版—贪吃蛇小组件
    C#+HtmlAgilityPack—糗事百科桌面版V2.0
    Google自定义搜索引擎
    百度网盘资源搜索器
    CSS元素类型
    CSS盒子模型
    Android调用Web服务
    无法将匿名方法转换为System.Delegate
  • 原文地址:https://www.cnblogs.com/huxinga/p/10755855.html
Copyright © 2011-2022 走看看