大数据技术学习——管理组件Kerberos&Ldap

举报
Eric Shi 发表于 2023/02/02 11:13:06 2023/02/02
【摘要】 Kerberos和Ldap组件共同组成整个集群的安全鉴权体系,Ldap负责用户数据存储。

1       一句话介绍

KerberosLdap组件共同组成整个集群的安全鉴权体系,Ldap负责用户数据存储。

2       认证鉴权

  • 识别(identification):确认访问者的身份。常见的身份识别方式有用户ID、进程ID及智能卡等。
  • 认证/鉴权(authentication):鉴别访问者资源访问权限,服务端将用户输入的凭证与数据库存储的凭证做对比,以此确认访问者的权限,防止用户非法侵占资源。常见的认证方式有密码、PIN码、数字证书、令牌(Token)等。
  • 授权(authorization):根据访问者身份,授予一定范围的资源操作权限。
  • 权限控制(access/permission control):权限即用户一系列可执行的操作的集合,分为RBAC(基于角色)和PBAC(基于策略)两种权限控制方式。
    • RBAC:将特定资源的操作权限打包成角色,一个或多个用户与角色绑定后即可拥有特定权限。充当了权限与用户之前的桥梁。
    • PBAC:站在资源的角度,细粒度配置每条策略,规定可访问该资源的时间、位置、用户、用户组等。


3       Ldap介绍

Ldap是一种轻量级目录访问协议,数据被组织成树状目录,访问速度非常快,但是写性能差,且不支持事务。适用于数据量少,一次写多次读的场景,基本局限于用户、账户数据存储。Linux系统开源Ldap软件是OpenLDAPWindows系统则是ADActive 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认证鉴权流程中涉及到的对象。包括业务用户、集群服务(例如HiveKafka)等。
  • 票据授予票据(TGT):用户通过认证环节后,TGS会颁发TGT给客户端,作为客户端向集群各个服务申请建立会话的凭证。一般TGT有效期24小时。
  • 服务票据(ST):客户端与集群各个服务端建立会话的凭证。这就好比用户进去游乐园需要一张大门的门票(TGT),但是用户去体验园内某些游戏服务时需另外买票(ST)。
  • Keytab文件:Kerberos生成的对principal密码进行加密的文件。包含principal、密码及hostname,因此集群扩容后需要更新Keytab文件。
  • 默认用户及非默认用户:大数据系统中组件之间也会相互访问,组件本身运行的用户为系统默认用户,对用户不可见。例如HDFS组件的hdfs用户。非默认用户即用户登录管理平台或应用访问大数据服务的开发用户,对用户可见。

4.2       认证流程


5       参考

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。