10.6. 为 AD 用户条目包含整个证书的用户配置证书映射
这个用例介绍了在 IdM 部署中启用证书映射所需的步骤(如果使用受 Active Directory(AD)信任的 IdM 部署,用户存储在 AD 中,并且 AD 中的用户条目包含整个证书)。
先决条件
- 用户在 IdM 中没有帐户。
- 用户在 AD 中有一个包含证书的帐户。
- IdM 管理员有权访问 IdM 证书映射规则可以基于的数据。
为确保 PKINIT 适用于用户,必须满足以下条件之一:
- 用户条目中的证书包括用户的用户主体名称或 SID 扩展。
-
AD 中的用户条目在
altSecurityIdentities
属性中有一个合适的条目。
10.6.1. 在 IdM Web UI 中添加证书映射规则
- 以管理员身份登录 IdM Web UI。
-
进入到
Authentication
Certificate Identity Mapping Rules
Certificate Identity Mapping Rules
。 点
Add
。图 10.5. 在 IdM web UI 中添加新证书映射规则
- 输入规则名称。
输入映射规则。与 AD 中可用的内容相比,会出现 IdM 为身份验证的整个证书:
(userCertificate;binary={cert!bin})
注意如果使用全证书进行映射,如果续订证书,您必须确保将新证书添加到 AD 用户对象中。
输入匹配的规则。例如,只允许
AD.EXAMPLE.COM
域的AD-ROOT-CA
签发的证书进行验证:<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
图 10.6. 用户使用存储在 AD 中的证书的用户的证书映射规则
-
点
Add
。 系统安全服务守护进程(SSSD)会定期重新读取证书映射规则。要强制立即载入新创建的规则,请在 CLI 中重启 SSSD:
# systemctl restart sssd
10.6.2. 在 IdM CLI 中添加证书映射规则
获取管理员凭证:
# kinit admin
输入映射规则以及映射规则所基于的匹配规则。将提供的整个证书与 AD 中可用的证书进行比较,只允许
AD.EXAMPLE.COM
域的AD-ROOT-CA
签发的证书进行身份验证:# ipa certmaprule-add
simpleADrule
--matchrule '<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com' --maprule '(userCertificate;binary={cert!bin})' --domain ad.example.com ------------------------------------------------------- Added Certificate Identity Mapping Rule "simpleADrule" ------------------------------------------------------- Rule name: simpleADrule Mapping rule: (userCertificate;binary={cert!bin}) Matching rule: <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com Domain name: ad.example.com Enabled: TRUE注意如果使用全证书进行映射,如果续订证书,您必须确保将新证书添加到 AD 用户对象中。
系统安全服务守护进程(SSSD)会定期重新读取证书映射规则。要强制立即载入新创建的规则,重启 SSSD:
# systemctl restart sssd