第9章 スマートカードで PKINIT を使用した Active Directory ユーザーとしての認証
Active Directory (AD)ユーザーは、IdM に参加しているデスクトップクライアントシステムに対してスマートカードで認証し、Kerberos Ticket-Granting Ticket (TGT)を取得できます。これらのチケットは、クライアントからのシングルサインオン (SSO) 認証に使用できます。
前提条件
- クライアントはスマートカード認証用に設定されている。
-
krb5-pkinit
パッケージがインストールされている。 - AD サーバーが、スマートカード証明書を発行した認証局 (CA) を信頼するように設定されている。CA 証明書を NTAuth ストアにインポート (Microsoft サポート を参照) し、CA を信頼できる CA として追加します。詳細は、Active Directory のドキュメントを参照してください。
手順
スマートカード証明書を発行した CA を信頼するように Kerberos クライアントを設定します。
-
IdM クライアントで、
/etc/krb5.conf
ファイルを開きます。 ファイルに以下の行を追加します。
[realms] AD.DOMAIN.COM = { pkinit_eku_checking = kpServerAuth pkinit_kdc_hostname = adserver.ad.domain.com }
-
IdM クライアントで、
ユーザー証明書に証明書失効リスト (CRL) ディストリビューションポイント拡張が含まれていない場合は、失効エラーを無視するように AD を設定します
以下の 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 module
を pre-authentication 属性として指定します。
関連情報
-
kinit(1)
の man ページ