10.7. 如果将 AD 配置为将用户证书映射到用户帐户,配置证书映射
这个用户故事描述了如果 IdM 部署与活动目录(AD)有信任关系时,在 IdM 中启用证书映射所需的步骤,用户存储在 AD 中,AD 中的用户条目包含证书映射数据。
先决条件
- 用户在 IdM 中没有帐户。
-
用户在 AD 中有一个帐户,其中包含
altSecurityIdentities
属性(AD 等同于 IdMcertmapdata
属性)。 - IdM 管理员有权访问 IdM 证书映射规则可以基于的数据。
10.7.1. 在 IdM Web UI 中添加证书映射规则
- 以管理员身份登录 IdM Web UI。
-
进入到
Authentication
Certificate Identity Mapping Rules
Certificate Identity Mapping Rules
。 点
Add
。图 10.7. 在 IdM web UI 中添加新证书映射规则
- 输入规则名称。
输入映射规则。例如,要让 AD DC 搜索提供给它们的任何证书中带有
Issuer
和Subject
条目,并根据在提供的证书中的这两个条目是否被找到来决定进行验证或不验证。(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})
输入匹配的规则。例如,只允许
AD.EXAMPLE.COM
域的AD-ROOT-CA
签发的证书在 IdM 中验证用户:<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
输入域:
ad.example.com
图 10.8. 如果为映射配置了 AD,则证书映射规则
-
点
Add
。 系统安全服务守护进程(SSSD)会定期重新读取证书映射规则。要强制立即载入新创建的规则,请在 CLI 中重启 SSSD:
# systemctl restart sssd
10.7.2. 在 IdM CLI 中添加证书映射规则
获取管理员凭证:
# kinit admin
输入映射规则以及映射规则所基于的匹配规则。例如,若要使 AD 搜索任何呈现的证书中的
Issuer
和Subject
条目,并且只允许AD.EXAMPLE.COM
域的AD-ROOT-CA
签发的证书:# ipa certmaprule-add ad_configured_for_mapping_rule --matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500})' --domain=ad.example.com ------------------------------------------------------- Added Certificate Identity Mapping Rule "ad_configured_for_mapping_rule" ------------------------------------------------------- Rule name: ad_configured_for_mapping_rule Mapping rule: (altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}) Matching rule: <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com Domain name: ad.example.com Enabled: TRUE
系统安全服务守护进程(SSSD)会定期重新读取证书映射规则。要强制立即载入新创建的规则,重启 SSSD:
# systemctl restart sssd
10.7.3. 检查 AD 端的证书映射数据
altSecurityIdentities
属性是 IdM 中 certmapdata
用户属性等同的 Active Directory(AD)。当将可信 AD 域配置为将用户证书映射到用户帐户时,在 IdM 中配置证书映射时,IdM 系统管理员需要检查是否在 AD 中的用户条目中正确设置了 altSecurityIdentities
属性。
先决条件
- 用户帐户必须具有用户管理访问权限。
步骤
要检查 AD 是否包含存储在 AD 中的用户的正确信息,请使用
ldapsearch
命令。例如,输入以下命令检查adserver.ad.example.com
服务器是否适用以下条件:-
altSecurityIdentities
属性在ad_user
的用户条目中设置。 适用以下条件的匹配规则推断如下:
-
ad_user
用于向 AD 进行身份验证的证书由ad.example.com
域的AD-ROOT-CA
发布。 -
主题为
<S>DC=com,DC=example,DC=ad,CN=Users,CN=ad_user
:
-
$ ldapsearch -o ldif-wrap=no -LLL -h adserver.ad.example.com \ -p 389 -D cn=Administrator,cn=users,dc=ad,dc=example,dc=com \ -W -b cn=users,dc=ad,dc=example,dc=com "(cn=ad_user)" \ altSecurityIdentities Enter LDAP Password: dn: CN=ad_user,CN=Users,DC=ad,DC=example,DC=com altSecurityIdentities: X509:<I>DC=com,DC=example,DC=ad,CN=AD-ROOT-CA<S>DC=com,DC=example,DC=ad,CN=Users,CN=ad_user
-