大数据技术学习——管理组件Kerberos&Ldap
【摘要】 Kerberos和Ldap组件共同组成整个集群的安全鉴权体系,Ldap负责用户数据存储。
1 一句话介绍
Kerberos和Ldap组件共同组成整个集群的安全鉴权体系,Ldap负责用户数据存储。
2 认证鉴权
- 识别(identification):确认访问者的身份。常见的身份识别方式有用户ID、进程ID及智能卡等。
- 认证/鉴权(authentication):鉴别访问者资源访问权限,服务端将用户输入的凭证与数据库存储的凭证做对比,以此确认访问者的权限,防止用户非法侵占资源。常见的认证方式有密码、PIN码、数字证书、令牌(Token)等。
- 授权(authorization):根据访问者身份,授予一定范围的资源操作权限。
- 权限控制(access/permission control):权限即用户一系列可执行的操作的集合,分为RBAC(基于角色)和PBAC(基于策略)两种权限控制方式。
- RBAC:将特定资源的操作权限打包成角色,一个或多个用户与角色绑定后即可拥有特定权限。充当了权限与用户之前的桥梁。
- PBAC:站在资源的角度,细粒度配置每条策略,规定可访问该资源的时间、位置、用户、用户组等。
3 Ldap介绍
Ldap是一种轻量级目录访问协议,数据被组织成树状目录,访问速度非常快,但是写性能差,且不支持事务。适用于数据量少,一次写多次读的场景,基本局限于用户、账户数据存储。Linux系统开源Ldap软件是OpenLDAP,Windows系统则是AD(Active Directory)。Ldap目录数据库中数据组织结构实例如下:
数据的最小粒度是Entry(条目),每个条目用户唯一标识名(例如admin用户的标识名就是User=admin: Group:干部:OU=人事部:O=A公司)。每个Entry可以有多个属性(Attribute)(例如邮箱、地址等)
大数据各服务组件不会直接去访问操作系统Ldap去获取用户数据,避免大量客户端连接造成认证服务器负载过高,客户端访问操作系统sssd服务(操作系统缓存服务守护进程)去获取用户数据(执行id命令),而sssd会从Ldap中获取用户信息。
4 Kerberos介绍
Kerberos源自希腊神话“三个头的狗——地狱之门守护者”,也意指Kerberos认证鉴权体系中的三方:客户端、服务端、Kerberos服务器(KDC,密钥分发中心)。KDC包括认证服务器(AS)和票据授予服务器(TGS)。
4.1 基本概念
- 主体(Principal):Kerberos认证鉴权流程中涉及到的对象。包括业务用户、集群服务(例如Hive、Kafka)等。
- 票据授予票据(TGT):用户通过认证环节后,TGS会颁发TGT给客户端,作为客户端向集群各个服务申请建立会话的凭证。一般TGT有效期24小时。
- 服务票据(ST):客户端与集群各个服务端建立会话的凭证。这就好比用户进去游乐园需要一张大门的门票(TGT),但是用户去体验园内某些游戏服务时需另外买票(ST)。
- Keytab文件:Kerberos生成的对principal密码进行加密的文件。包含principal、密码及hostname,因此集群扩容后需要更新Keytab文件。
- 默认用户及非默认用户:大数据系统中组件之间也会相互访问,组件本身运行的用户为系统默认用户,对用户不可见。例如HDFS组件的hdfs用户。非默认用户即用户登录管理平台或应用访问大数据服务的开发用户,对用户可见。
4.2 认证流程
5 参考
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)