9.5. 使用 Active Directory 域信任的证书映射规则
如果 IdM 部署与活动目录(AD)域具有信任关系,则可能会有不同的证书映射用例。
根据 AD 配置,可能会出现以下情况:
- 如果证书是由 AD 证书系统发布的,但用户和证书存储在 IdM 中,则身份验证请求的映射和整个处理发生在 IdM 端。有关配置此情境的详情,请参阅为存储在 IdM 中的用户配置证书映射
如果用户存储在 AD 中,则身份验证请求的处理会在 AD 中发生。有三个不同的子案例:
- AD 用户条目包含整个证书。有关在这种情况下配置 IdM 的详情,请参考为 AD 用户条目包含整个证书的用户配置证书映射。
-
AD 配置为将用户证书映射到用户帐户。在本例中,AD 用户条目不包含整个证书,而是包含名为
altSecurityIdentities 的属性。
有关如何在这种场景中配置 IdM 的详情,请参阅在将 AD 配置为将用户证书映射到用户帐户时配置证书 映射。 AD 用户条目既不包含整个证书,也不包含映射数据。在这种情况下,有两个选项:
- 如果用户证书是由 AD 证书系统发布的,则证书会包含作为 Subject Alternative Name (SAN)的用户主体名称,或者如果最新的更新被应用到 AD,则用户的 SID在证书的 SID 扩展中。它们都可用于将证书映射到用户。
-
如果用户证书位于智能卡上,要启用带有智能卡的 SSH,SSSD 必须从证书生成公共 SSH 密钥,因此需要完整证书。唯一的解决方案是使用
ipa idoverrideuser-add
命令将整个证书添加到 IdM 中 AD 用户的 ID 覆盖中。详情请参阅 AD 用户条目不包含证书或映射数据时配置证书映射。
AD 域管理员可以使用 altSecurityIdentities
属性手动将证书映射到 AD 中的用户。此属性有六个支持的值,但三个映射被视为不安全。作为 2022 年 5 月 10 日安全更新 的一部分,在安装之后,所有设备都处于兼容模式,如果证书被弱映射到用户,则身份验证如预期发生。但是,会记录警告消息,标识任何与完整执行模式不兼容的证书。从 2023 年 11 月 14 日起,所有设备都将更新为完整的强制模式,如果证书不满足强映射标准,则身份验证将被拒绝。
例如,当 AD 用户请求带有证书(PKINIT)的 IdM Kerberos 票据时,AD 需要在内部将证书映射到用户,并为此使用新的映射规则。但是,在 IdM 中,如果 IdM 被用于将证书映射到 IdM 客户端上的用户,则以前的规则可以继续工作。
IdM 支持新的映射模板,使 AD 管理员更易于使用新规则,而不维护这两个模板。IdM 现在支持添加到活动目录的新映射模板,来包括:
- 序列号:LDAPU1: (altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})
- 主题 Key Id: LDAPU1: (altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})
- 用户 SID:LDAPU1: (objectsid={sid})
如果您不想使用新的 SID 扩展重新发布证书,您可以通过将适当的映射字符串添加到 AD 中的 altSecurityIdentities
属性来创建一个手动映射。