68.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 现在支持添加到 Active Directory 的新映射模板,以包括:
- 序列号: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
属性来创建手动映射。