Ranger集成Kerberos

1. 概述

  当前ranger版本为ranger-1.2.0

2. 生成用户主体

  在kerberos服务器生成用于ranger的用户主体:

root@~:/# kadmin.local
kadmin.local: addprinc -randkey http/node3@EXAMPLE.COM
kadmin.local: addprinc -randky root/node3@EXAMPLE.COM
kadmin.local: ktadd -norandkey -kt rangadmin.keytab http/node3@EXAMPLE.COM root/node3@EXAMPLE.COM
kadmin.local: quit

  这里用于ranger的用户主体为root/node3@EXAMPLE.COM和http/node3@EXAMPLE.COM,其中root是启动ranger的用户,http为通信协议,node3为ranger服务器。接着,拷贝rangeradmin.keytab到ranger admin服务器

3. 修改配置

  修改ranger admin的install properties 文件

  主要修改以下几项配置:

#------------ Kerberos Config -----------------
spnego_principal=HTTP/node3@EXAMPLE.COM
spnego_keytab=/data/ranger/ranger-1.2.0-SNAPSHOT-admin/rangadmin.keytab

admin_principal=rangadmin/node3@EXAMPLE.COM
admin_keytab=/data/ranger/ranger-1.2.0-SNAPSHOT-admin/rangadmin.keytab
lookup_principal=rangadmin/node3@EXAMPLE.COM
lookup_keytab=/data/ranger/ranger-1.2.0-SNAPSHOT-admin/rangadmin.keytab

hadoop_conf=/data1/hadoop/hadoop/etc/hadoop/

4. 初始化

  修改完配置以后,重新初始化./setup.sh和./set_globals.sh

5. 插件配置

5.1. hdfs插件配置

  hdfs插件创建service:  hdfsRepo的参数Authentication Type选择kerberos类型,如下:

username: test
password: test
namenode url: hdfs://node214:8020,hdfs://node215:8020
Authorization Enabled: yes
Authentication Type: kerberos
hadoop.security.auth_to_local: default
dfs.datanode.kerberos.principal: xiaobai/_HOST@EXAMPLE.COM
dfs.namenode.kerberos.principal: xiaobai/_HOST@EXAMPLE.COM
dfs.journalnode.kerberos.principal: xiaobai/_HOST@EXAMPLE.COM
RPC Protection Type: authentication
policy.download.auth.users: test

  

  注:

    这里的dfs.datanode.kerberos.principal、dfs.namenode.kerberos.principal、dfs.journalnode.kerberos.principal需要跟hdfs-site.xml配置的一样

5.2. hive插件配置

  hive插件创建service: hivedev的参数jdbc.url填写格式:

jdbc:hive2://node3:10000/;principal=root/node3@EXAMPLE.COM

  principal=root/node3@EXAMPLE.COM为hive-site.xml中的配置项:hive.server2.authentication.kerberos.principal

  插件编辑内容如下:

username: test
password: test
jdbc.driverClassName: org.apache.hive.jdbc.HiveDriver
jdbc.url: jdbc:hive2://node215:10000;principal=xiaobai/_HOST@EXAMPLE.COM
policy.download.auth.users: test

  

5.3. 其他插件配置

  ranger每一个插件开启kerberos后,拉取策略到本地需要在ranger-admin的web页面创建service时增加如下配置项,例如:  

policy.download.auth.users  hdfs

  hdfs用户为hdfs组件的启动用户

  注:

    如果不配置,就没有权限拉取策略,插件会集成失败

6. 参考资料

https://www.cnblogs.com/yjt1993/p/11888044.html

posted @ 2021-04-22 15:46  牧梦者  阅读(2874)  评论(0编辑  收藏  举报