Show Table of Contents
23.5. Identity Management での PKINIT スマートカード認証
Identity Management ユーザーは、スマートカードを使用して、Identity Management に登録されているデスクトップクライアントシステムに対して認証を行い、自動的に TGT (Ticket-Granting Ticket) を取得することができます。ユーザーは、クライアントからチケットを使用して、さらにシングルサインオン (SSO) 認証を行うことができます。
23.5.1. PKINIT 認証に向けた Identity Management クライアントの準備
Identity Management の管理者として、ユーザー認証を行うクライアントマシンで以下の手順を実行します。
- サーバーで、shell スクリプトを作成してクライアントを設定します。
ipa-advise config-client-for-smart-card-authコマンドを使用して出力をファイルに保存します。#
ipa-advise config-client-for-smart-card-auth > client_smart_card_script.sh- スクリプトファイルを開き、内容を確認します。
chmodユーティリティーを使用して実行パーミッションをファイルに追加します。#
chmod +x client_smart_card_script.sh
- スクリプトをクライアントにコピーして実行します。スマートカード証明書を署名した認証局 (CA) を含む PEM ファイルへのパスを追加します。
# ./client_smart_card_script.sh CA_cert.pem
- krb5-pkinit パッケージがインストールされていることを確認します。
さらに、外部の証明局 (CA) がスマートカードの証明書を署名した場合に、スマートカード CA を信頼された CA として追加します。
- Identity Management サーバーで CA 証明書をインストールします。
#
ipa-cacert-manage -n "SmartCard CA" -t CT,C,C install ca.pem#ipa-certupdateすべてのレプリカおよびクライアントでもipa-certupdateを繰り返します。 - HTTP サーバーを再起動します。
#
systemctl restart httpdすべてのレプリカでもsystemctl restart httpdを実行します。
注記
SSSD では、管理者は
certificate_verification パラメーターで証明書の検証プロセスを調節できます。たとえば、証明書に定義されている Online Certificate Status Protocol (OCSP) サーバーは、クライアントから到達できません。詳しい情報は sssd.conf(5) の man ページを参照してください。
23.5.2. Identity Management ユーザー: Identity Management クライアントでの PKINIT を使用した認証
Identity Management クライアントで
kinit ユーティリティーを使用した認証:
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_user-X オプションは、事前認証の属性として opensc-pkcs11.so モジュールを指定します。詳しい情報は、kinit(1) の man ページを参照してください。
23.5.3. Active Directory ユーザー: Identity Management クライアントでの PKINIT を使用した認証
前提条件
管理者として、環境が Active Directory ユーザーの PKINIT 認証をサポートするように設定します。
- Active Directory サーバーが、スマートカード証明書を発行する認証局 (CA) を信頼するように設定します。NTAuth ストアに CA をインポートして (Microsoft サポート を参照)、信頼された CA として CA を追加します。詳細は Active Directory ドキュメントを参照してください。
- スマートカード証明書を発行する CA を信頼するように Kerberos クライアントを設定します。
- Identity Management クライアントで
/etc/krb5.confファイルを開きます。 - ファイルに以下の行を追加します。
[libdefaults] [... file truncated ...] pkinit_eku_checking = kpServerAuth pkinit_kdc_hostname = adserver.ad.domain.com
- ユーザー証明書に、証明書失効リスト (CRL: Certificate Revocation List) の Distribution Point Extension が含まれていない場合には、Active Directory が失効エラーを無視するように設定します。
- 以下の REG 形式の内容をプレーンテキストファイルに保存して、ファイルをダブルクリックして Windows レジストリーにインポートします。
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc] "UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA\Kerberos\Parameters] "UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors"=dword:00000001
または、regedit.exeアプリケーションを使用して手動で値を設定します。 - Windows システムを再起動して変更を適用します。
手順
Identity Management クライアントで
kinit ユーティリティーを使用して認証し、ユーザーとドメイン名で Active Directory ユーザーを指定します。
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' ad_user@ad.domain.com-X オプションは、事前認証の属性として opensc-pkcs11.so モジュールを指定します。詳しい情報は、kinit(1) の man ページを参照してください。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.