9.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})'
を使用します。オプションで、証明書の発行者が
ad.example.com
ドメインのadcs19-WIN1-CA
と一致し、証明書のシリアル番号がユーザーアカウントのaltSecurityIdentities
エントリーと一致する必要があることを指定する一致ルールに基づいて、CLI で新しいマッピングルールを作成するには、以下を実行します。# 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})'