Red Hat Training

A Red Hat training course is available for RHEL 8

66.6. 为 AD 用户条目包含整个证书的用户配置证书映射

此用户故事描述了如果 IdM 部署与 Active Directory(AD)信任时,在 IdM 中启用证书映射所需的步骤,该用户存储在 AD 中,AD 中的用户条目包含整个证书。

先决条件

  • 用户在 IdM 中没有帐户。
  • 用户在 AD 中有一个包含证书的帐户。
  • IdM 管理员有权访问 IdM 证书映射规则可以基于的数据。
注意

为确保 PKINIT 适用于用户,必须应用以下条件之一:

  • 用户条目中的证书包括用户的用户主体名称或用户的 SID 扩展。
  • AD 中的用户条目在 altSecurityIdentities 属性中有一个合适的条目。

66.6.1. 在 IdM Web UI 中添加证书映射规则

  1. 以管理员身份登录 IdM Web UI。
  2. 导航到 AuthenticationCertificate Identity Mapping RulesCertificate Identity Mapping Rules
  3. Add

    图 66.5. 在 IdM Web UI 中添加一个新的证书映射规则

    IdM Web UI 的截图,显示身份验证选项卡中的"Certificate Identity Mapping Rules"子页。突出显示右侧的"添加"按钮。
  4. 输入规则名称。
  5. 输入映射规则。与 AD 中的可用内容相比,要向 IdM 提供整个证书以进行身份验证:

    (userCertificate;binary={cert!bin})
    注意

    如果使用完整证书进行映射,如果续订证书,您必须确保将新证书添加到 AD 用户对象中。

  6. 输入匹配的规则。例如,要只允许 AD.EXAMPLE.COM 域的 AD-ROOT-CA 发布的证书进行身份验证:

    <ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com

    图 66.6. 在 AD 中存储证书的用户的证书映射规则

    "添加证书身份映射规则"弹出窗口的截图并填写以下字段:规则名称(必需)- 映射规则 - 匹配规则。Priority 字段为空,"Domain name"标签旁边还有一个"添加"按钮。
  7. Add
  8. 系统安全服务守护进程(SSSD)定期重新读取证书映射规则。要强制立即加载新创建的规则,请在 CLI 中重启 SSSD:

    # systemctl restart sssd

66.6.2. 在 IdM CLI 中添加证书映射规则

  1. 获取管理员凭证:

    # kinit admin
  2. 输入映射规则以及映射规则所基于的匹配规则。与 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 用户对象中。

  3. 系统安全服务守护进程(SSSD)定期重新读取证书映射规则。要强制立即载入新创建的规则,重启 SSSD:

    # systemctl restart sssd