CDH5.16集成ldap
集成ldap之前请参考安装好openldap:Ubuntu16.04安装openldap和phpldapadmin
1.hadoop集成ldap
HDFS 的文件权限与 Linux/Unix 系统类似,也是采用UGO模型,分成用户、组和其他权限。其权限you两种实现方式:1.基于Linux/Unix系统的用户和用户组;2.基于使用LDAP协议的数据库
参考网易数帆的文章:HDFS权限管理实践
使用基于Linux/Unix系统的用户和用户组,即 hadoop.security.group.mapping 的值为 org.apache.hadoop.security.ShellBasedUnixGroupsMapping
使用基于使用LDAP协议的数据库,即 hadoop.security.group.mapping 的值为 org.apache.hadoop.security.LdapGroupsMapping
首先在phpldapadmin上配置好user和group
1.给用户创建一个新的ou,叫person
并在这个person ou下面创建一个名为xiaoming的person
选择默认
选择person
2.给组创建新的ou,叫hadoopGroup
然后在这个hadoopGroup ou下面创建一个groupOfNames的object,名为hive
并把刚刚的xiaoming用户添加到hive用户组中
在CDH上配置hadoop
hadoop.security.group.mapping.ldap.search.filter.user 的值为
(|(&(objectClass=person)(cn={0}))(&(objectClass=account)(uid={0})))
将会同时支持os用户和外部用户的权限,需要注意外部用户和os用户不能同名,否则hue会无法登录
然后重启集群,接下来验证权限
可以看到外部用户xiaoming属于hive组,和ldap上配置的一样,即表示CDH hadoop集成ldap成功
root@master:~# kinit -kt /var/lib/hadoop-hdfs/hdfs.keytab hdfs/master@HADOOP.COM root@master:~# hdfs groups xiaoming xiaoming : hive
再将os用户hive也拉到hive组中
root@master:~# hdfs groups hive hive : hive
os用户hive也拥有了hive组的权限
参考:Setting Up Hadoop Group Mapping for LDAP/AD
hdfs+hive+impala+hue+sentry与ldap整合全套方案
CDH5.10.0基于OpenLDAP配置 Hadoop GroupMapping
如果你参考下面的配置来集成ldap的话,只能对linux上的用户生效,而对于外部在os上不存在的用户,及时在ldap上添加了组,也不能拿到访问hdfs的权限
Hadoop 用户组映射实现 hadoop.security.group.mapping org.apache.hadoop.security.LdapGroupsMapping ---------------------------------------------------------------- Hadoop 用户组 进程ping LDAP URL hadoop.security.group.mapping.ldap.url ldap://master ---------------------------------------------------------------- Hadoop 用户组映射 LDAP 绑定用户可分辨名称 hadoop.security.group.mapping.ldap.bind.user uid=admin,ou=people,dc=hadoop,dc=com ---------------------------------------------------------------- Hadoop 用户组 进程ping 搜索基础 hadoop.security.group.mapping.ldap.base dc=hadoop,dc=com ---------------------------------------------------------------- Hadoop 用户组 进程ping LDAP 用户搜索筛选器 hadoop.security.group.mapping.ldap.search.filter.user (&(objectClass=posixAccount)(uid={0})) ----------------------------------------------------------------- Hadoop 用户组 进程ping LDAP 组搜索筛选器 hadoop.security.group.mapping.ldap.search.filter.group (objectClass=posixGroup) ----------------------------------------------------------------- Hadoop 用户组 进程ping LDAP 组成员身份属性 hadoop.security.group.mapping.ldap.search.attr.member memberUid ----------------------------------------------------------------- Hadoop 用户组 进程ping LDAP 组名称属性 hadoop.security.group.mapping.ldap.search.attr.group.name cn ----------------------------------------------------------------- Hadoop 用户组 进程ping LDAP 绑定用户密码 hadoop.security.group.mapping.ldap.bind.password password ----------------------------------------------------------------- hdfs-site.xml的HDFS服务高级配置代码段(安全阀) hadoop.security.group.mapping.ldap.posix.attr.uid.name uid hadoop.security.groups.cache.secs 10 ----------------------------------------------------------------- core-site.xml的群集范围高级配置代码段(安全阀) hadoop.security.group.mapping.ldap.posix.attr.uid.name uid ----------------------------------------------------------------- hadoop-policy.xml的HDFS服务高级配置代码段(安全阀) hadoop.security.group.mapping.ldap.posix.attr.uid.name uid
2.HUE集成ldap
hue也同时支持os用户和外部用户登录
本文只发表于博客园和tonglin0325的博客,作者:tonglin0325,转载请注明原文链接:https://www.cnblogs.com/tonglin0325/p/5351195.html