这篇文章给大家分享的是有关rancher2.x如何配置AD域认证的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
如果您的组织使用Microsoft Active Directory作为统一用户管理系统,则Rancher可以集成Active Directory服务以进行统一身份验证。Rancher根据Active Directory管理的用户和组来控制对集群和项目的访问,同时允许最终用户在登录Rancher UI时使用其AD凭据进行身份验证。
Rancher使用LDAP与Active Directory服务通信。因此,Active Directory的身份验证流程与 OpenLDAP身份验证集成方法相同。
注意 在开始之前,请熟悉 外部身份验证配置和主要用户的概念。
您需要通过AD管理员创建或获取新的AD用户,以用作Rancher的服务帐户
。此用户必须具有足够的权限才能执行LDAP搜索并读取AD域下的用户和组的属性。
通常应该使用域用户帐户(非管理员)来实现此目的,因为默认情况下此用户对域中的大多数对象具有只读权限。
但请注意,在某些锁定的Active Directory配置中,此默认行为可能不适用。在这种情况下,您需要确保服务帐户用户至少具有在基本OU(封闭用户和组)上授予的读取和列出内容
权限,或者全局授予域。
使用TLS? 如果AD服务器使用的证书是自签名的,或者不是来自公认的证书颁发机构,请确保手头有PEM格式的CA证书(与所有中间证书连接)。您必须在配置期间设置此证书,以便Rancher能够验证证书。
使用本地admin帐户登录Rancher UI 。
从全局
视图中,导航到安全>认证
。
选择Active Directory
,配置AD认证参数。
在标题为配置Active Directory服务器
的部分中,填写特定于Active Directory服务的配置信息。有关每个参数所需值的详细信息,请参阅下表。
注意 如果您不确定要在 用户/组 搜索库字段中输入什么值, 请查看 使用ldapsearch识别Search-Base和架构。
表1:AD 服务器参数
参数 | 描述 |
---|---|
主机名 | 指定AD服务器的域名或IP地址 |
端口 | 指定Active Directory服务器侦听的端口。未加密的LDAP通常使用标准端口389 ,而LDAPS使用端口636 。 |
TLS | 选中此框以启用LDAP over SSL/TLS(通常称为LDAPS)。 |
服务器连接超时 | Rancher无法访问AD服务器后等待的持续时间。 |
服务帐户用户名 | 输入对您的登录域具有只读访问权限的AD帐户的用户名(请参阅先决条件)。用户名可以用NetBIOS格式输入(例如: DOMAIN\serviceaccount )或UPN格式(例如: serviceaccount@domain.com )。 |
服务帐户密码 | 服务帐户的密码。 |
默认登录域 | 使用AD域的NetBIOS名称配置此字段时,在没有域(例如jdoe )时输入的用户名将在绑定到AD服务器时自动转换为斜线的NetBIOS登录(例如LOGIN_DOMAIN\jdoe )。如果您的用户使用UPN(例如jdoe@acme.com )作为用户名进行身份验证,则此字段必须 为空。 |
User Search Base | 目录树中节点的专有名称,从该节点开始搜索用户对象。所有用户必须是此基本DN的后代。例如:ou=people,dc=acme,dc=com 。 |
Group Search Base | 如果您的组位于与User Search Base 配置的节点不同的节点下,则需要在此处提供可分辨名称。否则将其留空。例如:ou=groups,dc=acme,dc=com 。 |
注意 如果您的AD服务器为标准配置,那可以跳过此步骤
在标题为自定义架构
部分中,您必须为Rancher提供与目录中使用的模式相对应的用户和组
属性的正确配置。
Rancher使用LDAP查询来搜索和检索有关Active Directory中的用户和组的信息,本节中配置的属性映射用于构建搜索过滤器并解析组成员身份。因此,提供的设置反映AD域的实际情况至关重要。
注意 如果您不熟悉Active Directory域中使用的架构,请参阅使用ldapsearch识别搜索库和架构以确定正确的配置值。
下表详细介绍了用户架构部分配置的参数。
表2:用户架构配置参数
参数 | 描述 |
---|---|
对象类型 | 域中用户对象的类型名称。 |
用户名属性 | 其值作为显示名称。 |
登录属性 | 该值与用户在登录Rancher时输入的凭据的用户名部分相匹配的属性。如果您的用户使用其UPN(例如“ jdoe@acme.com”)作为用户名进行身份验证,则通常必须将此字段设置为userPrincipalName 。否则,对于旧的NetBIOS样式的登录名称(例如“jdoe”)通常是这样sAMAccountName 。 |
用户成员属性 | 包含用户所属组的属性。 |
搜索属性 | 当用户输入文本以在UI中添加用户或组时,Rancher将查询AD服务器并尝试按此设置中提供的属性匹配用户。可以通过使用管道(“|”)符号分隔多个属性来指定它们。要匹配UPN用户名(例如jdoe@acme.com ),通常应将此字段的值设置为userPrincipalName 。 |
用户启用的属性 | 包含表示用户帐户标志的按位枚举的整数值的属性。Rancher使用它来确定是否禁用了用户帐户。您通常应将此设置保留为AD标准userAccountControl 。 |
禁用状态位掩码 | 这是User Enabled Attribute 指定已禁用的用户帐户的值。您通常应将此设置保留为Microsoft Active Directory架构中指定的默认值“2”(请参阅此处)。 |
下表详细说明了组架构配置的参数。
表3: 组架构配置参数
参数 | 描述 |
---|---|
对象类型 | 域中组对象的类型名称。 |
名称属性 | 其值作为显示名称。 |
组成员用户属性 | 格式与中的组成员匹配的用户属性的名称Group Member Mapping Attribute 。 |
组成员映射属性 | 包含组成员的组属性的名称。 |
搜索属性 | 在将群组添加到集群或项目时用于构建搜索过滤器的属性。请参阅用户架构的说明Search Attribute 。 |
组DN属性 | group属性的名称,其格式与描述用户成员身份的user属性中的值匹配。见 User Member Attribute 。 |
嵌套组成员资格 | 此设置定义Rancher是否应解析嵌套组成员资格。仅在您的组织使用这些嵌套成员资格时使用(即您拥有包含其他组作为成员的组)。 |
为了成功配置AD身份验证,您必须提供与AD服务器的层次结构和架构相关的正确配置。
该ldapsearch
工具可以帮助您查询AD服务器用户和组对象的模式。
处于演示的目的,我们假设:
Active Directory服务器的主机名为ad.acme.com
。
服务器正在侦听端口上的未加密连接389
。
Active Directory域是acme
拥有一个有效的AD帐户,其中包含用户名jdoe
和密码secret
首先,我们将使用ldapsearch
来识别用户和组的父节点的专有名称(DN):
|
此命令执行LDAP搜索,search base
设置为根域(-b "dc=acme,dc=com"
),过滤器以用户(sAMAccountNam=jdoe
)为目标,返回所述用户的属性:
由于在这种情况下用户的DN是CN=John Doe,CN=Users,DC=acme,DC=com[5]
,我们应该使用父节点DN配置用户Search BaseCN=Users,DC=acme,DC=com
。
类似地,基于memberOf
属性[4]中引用的组的DN,组Search Base的正确值应该是该值的父节点,即:OU=Groups,DC=acme,DC=com
。
上述ldapsearch
查询的输出结果还可以确定用户架构的配置:
Object Class
: person [1]
Username Attribute
: name [2]
Login Attribute
: sAMAccountName [3]
User Member Attribute
: memberOf [4]
注意 如果组织中的AD用户使用他们的UPN(例如
jdoe@acme.com
)而不是短登录名进行身份验证,那么我们必须将Login Attribute
设置为userPrincipalName
。
还可以Search Attribute
参数设置为sAMAccountName | name
。这样,通过输入用户名或全名,可以通过Rancher UI将用户添加到集群/项目中。
接下来,我们查询与此用户关联的一个组,在这种情况下CN=examplegroup,OU=Groups,DC=acme,DC=com
:
|
以上命令将显示组对象的属性:
Object Class
: group [1]
Name Attribute
: name [2]
Group Member Mapping Attribute
: member [3]
Search Attribute
: sAMAccountName [4]
查看成员属性值,我们可以看到它包含引用用户的DN。这对应用户对象中的distinguishedName
属性。因此必须将Group Member User Attribute
参数的值设置为此属性值。以同样的方式,我们可以观察到用户对象中memberOf
属性中的值对应于组的distinguishedName [5]
。因此,我们需要将Group DN Attribute
参数的值设置为此属性值。
完成配置后,继续测试与AD服务器的连接。如果测试成功,将隐式启用使用已配置的Active Directory进行身份验证。
注意 与在此步骤中输入的凭据相关的AD用户将映射到本地主体帐户并在Rancher中分配管理员权限。因此,您应该有意识地决定使用哪个AD帐户执行此步骤。
输入应映射到本地主帐户的AD帐户的用户名和密码。
单击使用Active Directory进行身份验证以完成设置。
注意 如果LDAP服务中断,您可以使用本地帐户和密码登录。
感谢各位的阅读!关于“rancher2.x如何配置AD域认证”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。