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)
(对配置有不理解的可评论联系我)
HDP安全之集成kerberos/LDAP、ranger(knox自带LDAP)的更多相关文章
- Ambari集成Kerberos报错汇总
Ambari集成Kerberos报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看报错的配置信息步骤 1>.点击Test Kerberos Client,查看相 ...
- LDAP第三天 MySQL+LDAP 安装
https://www.easysoft.com/applications/openldap/back-sql-odbc.html OpenLDAP 使用 SQLServer 和 Oracl ...
- 管理员技术(五): 配置文档的访问权限、 配置附加权限、绑定到LDAP验证服务、配置LDAP家目录漫游
一.配置文档的访问权限 问题: 本例要求将文件 /etc/fstab 拷贝为 /var/tmp/fstab,并调整文件 /var/tmp/fstab的权限,满足以下要求: 1> 此文件的拥有者 ...
- 挖坑:hive集成kerberos
集成hive+kerberos前,hadoop已经支持kerberos,所以基础安装略去: https://www.cnblogs.com/garfieldcgf/p/10077331.html 直接 ...
- hive集成kerberos
1.票据的生成 kdc服务器操作,生成用于hive身份验证的principal 1.1.创建principal # kadmin.local -q “addprinc -randkey hive/yj ...
- zookeeper、hbase集成kerberos
1.KDC创建principal 1.1.创建认证用户 登陆到kdc服务器,使用root或者可以使用root权限的普通用户操作: # kadmin.local -q “addprinc -randke ...
- Kafka集成Kerberos之后如何使用生产者消费者命令
1.生产者1.1.准备jaas.conf并添加到环境变量(使用以下方式的其中一种)1.1.1.使用Kinit方式前提是手动kinit 配置内容为: KafkaClient { com.sun.secu ...
- presto集成kerberos以及访问集成了kerberos的hive集群
1.创建主体 注: 192.168.0.230 为单节点集群 192.168.4.50为kdc服务器 192.168.0.9为客户端 1.1.Kdc服务器创建主体 # kadmin.local -q ...
- hdfs、yarn集成kerberos
1.kdc创建principal 1.1.创建认证用户 登陆到kdc服务器,使用root或者可以使用root权限的普通用户操作: # kadmin.local -q “addprinc -randke ...
随机推荐
- 第四周作业——C语言自评
1.你对自己的未来有什么规划?做了哪些准备?以目前的现状来说,希望至少能够掌握专业所要求的基本操作,然后一步步去深入.提升,毕业之后不会灰溜溜的一次次求职失败.目前更多的是利用闲暇时间补回过去老师同学 ...
- PAT 甲级 1027 Colors in Mars
https://pintia.cn/problem-sets/994805342720868352/problems/994805470349344768 People in Mars represe ...
- laravel连接多个不同数据库的单例类
在連接多個不同數據庫時,需要寫多個連接,爲了簡化該操作,可以使用該基類,不同的數據庫只要建立好相對應的類繼承該類,就可以使用ORM模型進行操作了. class singletonInstance { ...
- Java JVM- jstat查看jvm的GC情况[转]
ava通过jvm自己管理内存,同时Java提供了一些命令行工具,用于查看内存使用情况.这里主要介绍一下jstat.jmap命令以及相关工具. 一.jstat查看 gc实时执行情况 jstat命令命令格 ...
- [LeetCode] MaximumDepth of Binary Tree
Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...
- 第186天:js深入理解构造函数和原型对象
1.在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例.但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propoty ...
- 【Java】JDBCUtil模板
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; ...
- BZOJ4896 THUSC2016补退选(trie)
字符串扔进trie,vector记录每个前缀出现次数的最大值的更新记录即可. #include<iostream> #include<cstdio> #include<c ...
- Django之CSS,JS静态文件的配置
一. 专门创建一个目录放静态文件,即CSS,JS等. 1)先把jquery.min拿过来. 2)新建一个CSS文件放入样式 3)在login.html中引入.css文件 在login.html中引入. ...
- 【JQuery】效果
一.前言 接着上一章事件,继续jQuery的学习. 二.内容 animate 执行css属性集的自定义动画 $(selector).animate(styles,speed,easing ...