10.3. 从证书获取数据,以便在匹配规则中使用
这个流程描述了如何从证书获取数据,以便您可以将其复制并粘贴到证书映射规则的匹配规则中。要获得匹配规则所需的数据,请使用 sssctl cert-show
或 sssctl cert-eval-rule
命令。
先决条件
- 您有 PEM 格式的用户证书。
步骤
创建一个指向证书的变量,该变量还确保其被正确编码,以便您可以检索所需的数据。
# CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
使用
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})'
。可选:要在 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})'