Cloudera安全认证概述+ 查看更多
Cloudera安全认证概述
+ 查看更多
1.Cloudera Manager身份认证概述
简而言之,Kerberos是一种身份验证协议,它依赖于加密机制来处理发出请求的客户端与服务器之间的交互,从而极大地降低了模拟的风险。密码既不存储在本地也不通过网络明文发送。用户在登录其系统时输入的密码用于解锁本地机制,然后在与受信任的第三方的后续交互中使用该机制来向用户授予票证(有效期有限),该票证用于根据请求进行身份验证服务。在客户端和服务器进程相互证明各自的身份之后,对通信进行加密以确保隐私和数据完整性。
受信任的第三方是Kerberos密钥分发中心(KDC),它是Kerberos操作的焦点,它也为系统提供身份验证服务和票证授予服务(TGS)。简要地说,TGS向请求的用户或服务发行票证,然后将票证提供给请求的服务,以证明用户(或服务)在票证有效期内的身份(默认为10小时)。Kerberos有许多细微差别,包括定义用于标识系统用户和服务的主体,票证续订,委托令牌处理等。请参见Kerberos安全工件概述。
此外,这些过程大部分完全透明地发生。例如,集群的业务用户只需在登录时输入密码,票证处理,加密和其他详细信息就会在后台自动进行。此外,由于使用了票证和Kerberos基础结构中的其他机制,用户不仅通过了单个服务目标,还通过了整个网络的身份验证。
3.Kerberos部署模型
架构摘要:
- MIT KDC和单独的Kerberos领域本地部署到CDH集群。本地MIT KDC通常部署在实用程序主机上。为了获得高可用性,其他复制的MIT KDC是可选的。
- 必须将所有集群主机配置为使用该krb5.conf文件使用本地MIT Kerberos领域。
- 必须在本地MIT KDC和Kerberos领域中创建所有服务和用户主体。
- 本地MIT KDC将同时验证服务主体(使用keytab文件)和用户主体(使用密码)。
- Cloudera Manager连接到本地MIT KDC,以创建和管理在集群上运行的CDH服务的主体。为此,Cloudera Manager使用在设置过程中创建的管理员主体和密钥表。Kerberos向导已自动执行此步骤。有关详细信息,请参见使用向导启用Kerberos认证。有关手动创建管理员主体的信息,请参见如何配置集群以使用Kerberos进行认证。
- 本地MIT KDC管理员通常会创建所有其他用户主体。但是,Cloudera Manager Kerberos向导可以自动创建主体和密钥表文件。

优点 | 缺点 |
---|---|
身份验证机制与企业的其余部分隔离。 | 这非常容易设置,特别是如果您使用Cloudera Manager Kerberos向导来自动创建和分发服务主体和密钥表文件。
|
这非常容易设置,特别是如果您使用Cloudera Manager Kerberos向导来自动创建和分发服务主体和密钥表文件。
| 用户和服务主体必须在本地MIT KDC中创建,这可能很耗时。
|
本地MIT KDC可能是集群的单点故障,除非可以将复制的KDC配置为具有高可用性。
| |
本地MIT KDC是另一个要管理的身份验证系统。
|
具有Active Directory集成的本地MIT KDC
- MIT KDC和独特的Kerberos领域已本地部署到CDH集群。本地MIT KDC通常部署在实用程序主机上,并且其他复制的MIT KDC具有高可用性是可选的。
- 使用该krb5.conf文件,所有集群主机都配置了Kerberos领域(本地和中央AD)。默认领域应为本地MIT Kerberos领域。
- 服务主体应在本地MIT KDC和本地Kerberos领域中创建。Cloudera Manager连接到本地MIT KDC,以创建和管理在集群上运行的CDH服务的主体。为此,Cloudera Manager使用在安全设置期间创建的管理员主体和密钥表。Kerberos向导已自动执行此步骤。
- 必须从本地Kerberos领域到包含要求访问CDH集群的用户主体的中央AD领域建立单向跨领域信任。无需在中央AD领域中创建服务主体,也无需在本地领域中创建用户主体。

优点 | 缺点 |
---|---|
本地MIT KDC充当中央Active Directory的防护对象,以防止CDH集群中的许多主机和服务。在大型集群中重新启动服务会创建许多同时进行的身份验证请求。如果Active Directory无法处理负载激增,则集群可以有效地引起分布式拒绝服务(DDOS)攻击。
| 本地MIT KDC可以是集群的单点故障(SPOF)。可以将复制的KDC配置为高可用性。 |
这非常容易设置,特别是如果您使用Cloudera Manager Kerberos向导来自动创建和分发服务主体和密钥表文件。 Active Directory管理员只需要在设置过程中参与配置跨域信任。 | 本地MIT KDC是另一个要管理的身份验证系统。
|
与中央Active Directory集成以进行用户主体身份验证可提供更完整的身份验证解决方案。
| |
允许增量配置。可以使用本地MIT KDC独立和与Active Directory集成来配置和验证Hadoop安全性。
|
使用集中式Active Directory服务
- 所有服务和用户主体都在Active Directory KDC中创建。
- 所有集群主机都使用来配置中央AD Kerberos领域krb5.conf。
- Cloudera Manager连接到Active Directory KDC,以创建和管理在集群上运行的CDH服务的主体。为此,Cloudera Manager使用具有在给定组织单位(OU)内创建其他帐户的特权的主体。(此步骤已由Kerberos向导自动执行。)
- 所有服务和用户主体均由Active Directory KDC进行身份验证。

Active Directory KDC的建议
与Active Directory的身份集成
- Active Directory组织单位(OU)和OU用户 -应该在Active Directory中创建一个单独的OU,以及一个有权在该OU中创建其他帐户的帐户。
- 为AD启用SSL -Cloudera Manager应该能够通过LDAPS(TCP 636)端口连接到AD。
- 主体和密钥表 -在使用Kerberos向导设置的直接AD部署中,默认情况下,所有必需的主体和密钥表将由Cloudera Manager创建,部署和管理。但是,如果由于某种原因您不能允许Cloudera Manager管理直接到AD的部署,则应该在AD中为在每个主机上运行的每个服务手动创建唯一帐户,并且必须提供相同的keytab文件。这些帐户应将AD用户主体名称(UPN)设置为 service/fqdn@REALM,并将服务主体名称(SPN)设置为service/fqdn。keytab文件中的主体名称应为帐户的UPN。密钥表文件应遵循命名约定:servicename_fqdn.keytab。必须为它们在其上运行的每个主机创建以下主体和keytab文件:Hadoop用户(user:group)和Kerberos主体。
- AD绑定帐户 -创建一个将在Hue,Cloudera Manager和Cloudera Navigator中用于LDAP绑定的AD帐户。
- 特权用户的 AD组-创建AD组并为授权用户,HDFS管理员和HDFS超级用户组添加成员。
- 授权用户–由需要访问集群的所有用户组成的组
- HDFS管理员–将运行HDFS管理命令的用户组
- HDFS超级用户–需要超级用户特权(即对HDFS中所有数据和目录的读/写访问权限)的用户组
- 不建议将普通用户放入HDFS超级用户组。相反,管理员将问题升级到的帐户应成为HDFS超级用户组的一部分。
- 用于基于角色访问Cloudera Manager和Cloudera Navigator的 AD组-创建AD组并将成员添加到这些组中,以便您以后可以配置对Cloudera Manager和Cloudera Navigator的基于角色的访问。
- AD测试用户和组 -应该至少提供一个现有的AD用户和该用户所属的组,以测试授权规则是否按预期工作。
分享到: