基于LDAP和Sentry的大数据认证和鉴权解决方案--Part One:LDAP集成
2016-12-28 14:41
1291 查看
1,背景
项目中需要对大数据平台进行数据权限管理,涉及到数据访问的认证和鉴权。大数据平台中有三个数据访问的入口:HUE,impala-shell和beeline(for hive)。每种入口都必须提供用户名和密码,并且,根据用户所在的角色,能访问的数据库和表是各不相同的。
在项目中采用了LDAP来作为用户的认证机制,使用Sentry来对用户进行数据权限的管理。
整个大数据的运维采用了Cloudera Manager的5.8.0的版本,本文也是基于CM5.8.0来介绍的。
2,LDAP认证实现
由于项目的需求是对HUE,impala-shell和beeline都要进行访问认证,所以需要分别在HUE,Impala和Hive中分别实现LDAP的集成。但不管那个系统与LDAP的集成,不外乎都要配置三个基本的属性:1)告诉系统我要与LDAP集成。2) LDAP服务器的地址。3)LDAP的baseDN。
本文假定LDAP已经成功安装,LDAP打安装和配置网上可以参考的文章很多。
2.1,LDAP和Hive的集成。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/4eb833a08621ae8ddc67f26478c38805)
完成上面的配置后重新启动Hive,配置就生效了,次数如果通过beeline来链接hive,就需要提供用户名和密码了。例如:
beeline -u "jdbc:hive2://ddw-test-1:10000" -n hive -p hive -d org.apache.hive.jdbc.HiveDriver
如果没有提供用户名和密码,或者用户名密码不匹配,就会报错,如下图
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/b7b775f6f657f0cd101b1bbbc6bbc134)
2.2,LDAP与Impala的集成
LDAP和Impala的集成与和Hive的集成非常的类似,除了Hive中提到的3个配置项之外,还需要多配一个配置项(如下图),以告诉Impala密码可以通过明文来传播(如果你的环境中没有配置TSL并且又没有设置这个配置,impala将无法正常启动)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/5821710c3434e17687eec452bff191a2)
完成上述配置并重启Impala使配置生效,此时用impala 去访问就需要输入密码了,如下图所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/0178b2a4693310628fa43cbcfd96fc7e)
2.3 LDAP和HUE的集成
LDAP和HUE的集成依然必须包含那三个关键的要素:告诉HUE要启动LDAP认证,LDAP的Server地址以及baseDN
#告诉Hue使用LDAP来做认证
backend=desktop.auth.backend.LdapBackend
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/aeb9a6dcfa34cb27a1f58f6579312c8e)
#LDAP服务器的地址
ldap_url=ldap://ddw-test-5
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/51b8a85559cbcd44bf27dd28d23418da)
# ldap登陆用户的模板,username运行时被替换
ldap_username_pattern="uid=<username>,ou=people,dc=javachen,dc=com"
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/0ba828e43ed50143a367fc1a3095ec52)
#其他snippet,Hue登录时,需要使用一个预设的用户名和密码去连接hive/impala,连接成功之后,当真正执行QL的时候,还使用登录时的账号来做鉴权。
[impala]
server_host=ddw-test-5
server_interface=hiveserver2
server_port=21050
query_timeout_s=100
impersonation_enabled=True
auth_username=hue
auth_password=hue
[beeswax]
close_queries=True
use_sasl=False
auth_username=hue
auth_password=hue
![](https://oscdn.geek-share.com/Uploads/Images/Content/202010/30/561be47c1eca29e37582b2bc536926c8)
至此,LDAP和HUE,Impala,Hive的整合就完成了。用户访问HUE,Impala以及Hive都需要提供用户名和密码了。
整合的过程也遇到了各种问题,但没有任何问题是查看错误日志和google不能解决的。
项目中需要对大数据平台进行数据权限管理,涉及到数据访问的认证和鉴权。大数据平台中有三个数据访问的入口:HUE,impala-shell和beeline(for hive)。每种入口都必须提供用户名和密码,并且,根据用户所在的角色,能访问的数据库和表是各不相同的。
在项目中采用了LDAP来作为用户的认证机制,使用Sentry来对用户进行数据权限的管理。
整个大数据的运维采用了Cloudera Manager的5.8.0的版本,本文也是基于CM5.8.0来介绍的。
2,LDAP认证实现
由于项目的需求是对HUE,impala-shell和beeline都要进行访问认证,所以需要分别在HUE,Impala和Hive中分别实现LDAP的集成。但不管那个系统与LDAP的集成,不外乎都要配置三个基本的属性:1)告诉系统我要与LDAP集成。2) LDAP服务器的地址。3)LDAP的baseDN。
本文假定LDAP已经成功安装,LDAP打安装和配置网上可以参考的文章很多。
2.1,LDAP和Hive的集成。
完成上面的配置后重新启动Hive,配置就生效了,次数如果通过beeline来链接hive,就需要提供用户名和密码了。例如:
beeline -u "jdbc:hive2://ddw-test-1:10000" -n hive -p hive -d org.apache.hive.jdbc.HiveDriver
如果没有提供用户名和密码,或者用户名密码不匹配,就会报错,如下图
2.2,LDAP与Impala的集成
LDAP和Impala的集成与和Hive的集成非常的类似,除了Hive中提到的3个配置项之外,还需要多配一个配置项(如下图),以告诉Impala密码可以通过明文来传播(如果你的环境中没有配置TSL并且又没有设置这个配置,impala将无法正常启动)
完成上述配置并重启Impala使配置生效,此时用impala 去访问就需要输入密码了,如下图所示:
2.3 LDAP和HUE的集成
LDAP和HUE的集成依然必须包含那三个关键的要素:告诉HUE要启动LDAP认证,LDAP的Server地址以及baseDN
#告诉Hue使用LDAP来做认证
backend=desktop.auth.backend.LdapBackend
#LDAP服务器的地址
ldap_url=ldap://ddw-test-5
# ldap登陆用户的模板,username运行时被替换
ldap_username_pattern="uid=<username>,ou=people,dc=javachen,dc=com"
#其他snippet,Hue登录时,需要使用一个预设的用户名和密码去连接hive/impala,连接成功之后,当真正执行QL的时候,还使用登录时的账号来做鉴权。
[impala]
server_host=ddw-test-5
server_interface=hiveserver2
server_port=21050
query_timeout_s=100
impersonation_enabled=True
auth_username=hue
auth_password=hue
[beeswax]
close_queries=True
use_sasl=False
auth_username=hue
auth_password=hue
至此,LDAP和HUE,Impala,Hive的整合就完成了。用户访问HUE,Impala以及Hive都需要提供用户名和密码了。
整合的过程也遇到了各种问题,但没有任何问题是查看错误日志和google不能解决的。
相关文章推荐
- 基于LDAP和Sentry的大数据认证和鉴权解决方案--Part Two:Sentry集成
- 基于数据复制的高可靠性解决方案
- 【解决方案】之基于iot表建物化视图的数据高级复制
- 集成SafeNet发布业内首款面向云计算与SaaS应用的单点登录和强身份认证解决方案
- Linux下基于LDAP统一用户认证的研究
- 基于数据集成时,请尽量隔离接口表的访问
- Linux下基于LDAP统一用户认证的研究
- 集成SafeNet发布业内首款面向云计算与SaaS应用的单点登录和强身份认证解决方案
- 基于ARM的嵌入式大容量数据存储解决方案
- 如何实现基于Jazz Team Server的RQM与LDAP的集成(三)
- 基于NAS存储的数据备份解决方案
- RDF――Web数据集成的元数据解决方案
- 基于LDAP的Web身份认证机制
- 基于LDAP的Web身份认证机制的研究与设计
- 如何实现基于Jazz Team Server的RQM与LDAP的集成(一)
- 基于Adobe LCDS产品的数据访问解决方案Part2
- 甲骨文宣布,推出最新数据集成解决方案Oracle GoldenGate
- 基于 SOA 架构的石化行业信息集成解决方案介绍