10.8. AD ユーザーエントリーに証明書やマッピングデータが含まれていない場合に、証明書マッピングの設定
このユーザーストーリーでは、IdM デプロイメントが Active Directory (AD) を信頼し、そのユーザーが AD に保存され、AD のユーザーエントリーに証明書全体または証明書マッピングデータが含まれる場合に、IdM で証明書マッピングを有効にするのに必要な手順を説明します。
前提条件
- IdM にユーザーアカウントがない。
-
ユーザーのアカウントがある AD に、証明書全体、または
altSecurityIdentities属性、IdMcertmapdata属性で AD に相当するものがない。 IdM 管理者は次のいずれかを実行しました。
-
AD ユーザー証明書全体を IdM の AD ユーザーの
user ID overrideに追加しました。 - サブジェクト代替名やユーザーの SID など、証明書内の代替フィールドにマップする証明書マッピングルールを作成しました。
-
AD ユーザー証明書全体を IdM の AD ユーザーの
10.8.1. IdM Web UI で証明書マッピングルールの追加 リンクのコピーリンクがクリップボードにコピーされました!
- 管理者として IdM Web UI にログインします。
-
AuthenticationCertificate Identity Mapping RulesCertificate Identity Mapping Rulesの順に移動します。 Addをクリックします。図10.9 IdM Web UI で新しい証明書マッピングルールの追加
- ルール名を入力します。
マッピングルールを入力します。認証するために IdM に提示された証明書全体を、IdM の AD ユーザーエントリーのユーザー ID オーバーライドエントリーに保存されている証明書と比較できるようにするには、次のコマンドを実行します。
(userCertificate;binary={cert!bin})(userCertificate;binary={cert!bin})Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記証明書には SAN としてのユーザープリンシパル名も含まれており、最新の更新では証明書の SID 拡張子にユーザーの SID も含まれているため、これらのフィールドを使用して証明書をユーザーにマップすることもできます。たとえば、ユーザーの SID を使用する場合は、このマッピングルールを
LDAPU1:(objectsid={sid})に置き換えます。証明書マッピングの詳細は、システム上のsss-certmapman ページを参照してください。マッチングルールを入力します。たとえば、
AD.EXAMPLE.COMドメインのAD-ROOT-CAが発行する証明書のみを認証できるようにするには、次のコマンドを実行します。<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=com
<ISSUER>CN=AD-ROOT-CA,DC=ad,DC=example,DC=comCopy to Clipboard Copied! Toggle word wrap Toggle overflow ドメイン名を入力します。たとえば、
ad.example.comドメインでユーザーを検索するには、以下を実行します。図10.10 AD に証明書やマッピングデータが保存されていないユーザーに対する証明書マッピングルール
-
Addをクリックします。 System Security Services Daemon (SSSD) は、証明書マッピングルールを定期的に再読み込みします。新たに作成したルールがすぐに読み込まれるようにするには、CLI で SSSD を再起動します。
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.8.2. IdM CLI での証明書マッピングルールの追加 リンクのコピーリンクがクリップボードにコピーされました!
管理者の認証情報を取得します。
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow マッピングルールを入力し、マッピングルールの基となっているマッチングルールを入力します。IdM の AD ユーザーエントリーのユーザー ID オーバーライドエントリーに保存されている証明書と比較する、認証用に提示される証明書全体を取得して、
AD.EXAMPLE.COMドメインのAD-ROOT-CAにより発行された証明書のみを認証できるようにするには、以下のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記証明書には SAN としてのユーザープリンシパル名も含まれており、最新の更新では証明書の SID 拡張子にユーザーの SID も含まれているため、これらのフィールドを使用して証明書をユーザーにマップすることもできます。たとえば、ユーザーの SID を使用する場合は、このマッピングルールを
LDAPU1:(objectsid={sid})に置き換えます。証明書マッピングの詳細は、システム上のsss-certmapman ページを参照してください。System Security Services Daemon (SSSD) は、証明書マッピングルールを定期的に再読み込みします。新たに作成したルールがすぐに読み込まれるようにする場合は、次のコマンドを実行して SSSD を再起動します。
systemctl restart sssd
# systemctl restart sssdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.8.3. IdM Web UI で、AD ユーザーの ID オーバーライドに証明書を追加 リンクのコピーリンクがクリップボードにコピーされました!
-
IdentityID ViewsDefault Trust Viewの順に選択します。 Addをクリックします。図10.11 IdM Web UI で新規ユーザー ID オーバーライドの追加
-
User to overrideフィールドに、ad_user@ad.example.comと入力します。 ad_userの証明書を、Certificateフィールドにコピーアンドペーストします。図10.12 AD ユーザーにユーザー ID オーバーライドの設定
-
Addをクリックします。
検証
ユーザーと証明書がリンクしていることを確認します。
sss_cacheユーティリティーを使用して、SSSD キャッシュでad_user@ad.example.comのレコードを無効にし、ad_user@ad.example.com情報の再読み込みを強制します。sss_cache -u ad_user@ad.example.com
# sss_cache -u ad_user@ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow AD ユーザーの証明書が含まれるファイルの名前で、
ipa certmap-matchコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この出力では、ad_user@ad.example.com に追加した証明書マッピングデータがあり、Adding a certificate mapping rule if the AD user entry contains no certificate or mapping data で定義した対応するマッピングルールが存在することを確認します。これは、定義した証明書マッピングデータに一致する証明書を使用して、ad_user@ad.example.com として認証できることを意味します。
10.8.4. IdM CLI で、AD ユーザーの ID オーバーライドに証明書を追加する リンクのコピーリンクがクリップボードにコピーされました!
管理者の認証情報を取得します。
kinit admin
# kinit adminCopy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書 blob を
CERTという新しい変数に格納します。CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)
# CERT=$(openssl x509 -in /path/to/certificate -outform der|base64 -w0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow ipa idoverrideuser-add-certコマンドを使用して、ad_user@ad.example.comの証明書をユーザーアカウントに追加します。ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERT
# ipa idoverrideuser-add-cert ad_user@ad.example.com --certificate $CERTCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ユーザーと証明書がリンクしていることを確認します。
sss_cacheユーティリティーを使用して、SSSD キャッシュでad_user@ad.example.comのレコードを無効にし、ad_user@ad.example.com情報の再読み込みを強制します。sss_cache -u ad_user@ad.example.com
# sss_cache -u ad_user@ad.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow AD ユーザーの証明書が含まれるファイルの名前で、
ipa certmap-matchコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
この出力では、ad_user@ad.example.com に追加した証明書マッピングデータがあり、Adding a certificate mapping rule if the AD user entry contains no certificate or mapping data で定義した対応するマッピングルールが存在することを確認します。これは、定義した証明書マッピングデータに一致する証明書を使用して、ad_user@ad.example.com として認証できることを意味します。