Red Hat Training

A Red Hat training course is available for RHEL 8

65.3. 从证书获取数据,以便在匹配规则中使用

这个流程描述了如何从证书获取数据,以便您可以将其复制并粘贴到证书映射规则的匹配规则中。要获得匹配规则所需的数据,请使用 sssctl cert-showsssctl cert-eval-rule 命令。

先决条件

  • 您有 PEM 格式的用户证书。

流程

  1. 创建一个指向证书的变量,该变量还确保其正确编码,以便您可以检索所需的数据。

    # CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
  2. 使用 sssctl cert-eval-rule 来确定匹配的数据。在以下示例中,使用了证书序列号。

    # sssctl cert-eval-rule $CERT --match='<ISSUER>CN=adcs19-WIN1-CA,DC=AD,DC=EXAMPLE,DC=COM' --map='LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})'
    Certificate matches rule.
    Mapping filter:
    
        (altSecurityIdentities=X509:<I>DC=com,DC=example,DC=ad,CN=adcs19-WIN1-CA<SR>0F0000000000DB8852DD7B246C9C0F0000003B)

    在这种情况下,将 altSecurityIdentities= 后的所有内容添加到用户的 AD 中的 altSecurityIdentities 属性中。如果使用 SKI 映射,请使用 --map='LDAPU1: (altSecurityIdentities=X509:<SKI>{subject_key_id!hex_u})'

  3. 另外,要根据匹配规则在 CLI 中创建一个新的映射规则,该规则指定证书签发者必须与 ad.example.com 域的 adcs19-WIN1-CA 匹配,证书的序列号必须与用户帐户中的 altSecurityIdentities 条目匹配:

    # ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=adcs19-WIN1-CA,DC=AD,DC=EXAMPLE,DC=COM' --maprule 'LDAPU1:(altSecurityIdentities=X509:<I>{issuer_dn!ad_x500}<SR>{serial_number!hex_ur})'