PIVスマートカード認証を構成する
この記事では、スマートカード認証機能を有効にするために、DirectorサーバーとActive Directoryで必要な構成について説明します。
注:
スマートカード認証は、同じActive Directoryドメインのユーザーに対してのみサポートされています。
ディレクターサーバーの構成
Directorサーバーで次の構成手順を実行します。
-
クライアント証明書マッピング認証をインストールして有効にします。Microsoftドキュメントの「Client Certificate Mapping Authentication」にある「Active Directory を使用したクライアント証明書マッピング認証」の手順に従ってください。
-
Directorサイトでフォーム認証を無効にします。
IISマネージャーを起動します。
サイト > 既定の Web サイト > Director に移動します。
認証 を選択します。
フォーム認証 を右クリックし、無効 を選択します。

-
クライアント証明書認証のために、Director URLをより安全なhttpsプロトコル(HTTPの代わりに)に構成します。
-
IISマネージャーを起動します。
-
「サイト」 > 「デフォルトWebサイト」 > 「ディレクター」に移動します。
-
「SSL設定」を選択します。
-
「SSLを必須にする」と「クライアント証明書」 > 「必須」を選択します。

-
-
web.configを更新します。web.configファイル(c:\inetpub\wwwroot\Directorにあります)をテキストエディターで開きます。
<system.webServer>親要素の下に、次のスニペットを最初の子要素として追加します。
<defaultDocument>
<files>
<add value="LogOn.aspx"/>
</files>
</defaultDocument>
アクティブ ディレクトリの構成
デフォルトでは、DirectorアプリケーションはApplication PoolのIDプロパティで実行されます。スマートカード認証には委任が必要であり、そのためにはDirectorアプリケーションのIDがサービスホスト上でTrusted Computing Base (TCB)の特権を持っている必要があります。
Citrixでは、アプリケーションプールのID用に個別のサービスアカウントを作成することをお勧めします。Microsoft MSDNの記事「Protocol Transition with Constrained Delegation Technical Supplement」の指示に従って、サービスアカウントを作成し、TCB特権を割り当ててください。
新しく作成したサービスアカウントをDirectorアプリケーションプールに割り当てます。次の図は、サンプルサービスアカウント「Domain Pool」のプロパティダイアログを示しています。
サンプルサービスアカウント(/ja-jp/citrix-virtual-apps-desktops/2311/media/dir-smartcard-config3.png)
このアカウントに対して、次のサービスを構成します。
- デリバリーコントローラー™: ホスト, エイチティーティーピー
- ディレクター: ホスト, HTTP
- アクティブ ディレクトリ: GC, LDAP
構成するには、
-
ユーザーアカウントのプロパティダイアログで、追加をクリックします。
-
サービスの追加ダイアログで、[ユーザーまたはコンピューター]をクリックします。
-
デリバリーコントローラーのホスト名を選択します。
-
利用可能なサービスの一覧から、HOSTとHTTPのサービスの種類を選択します。

同様に、DirectorおよびActive Directoryホストのサービスの種類を追加します。
サービスプリンシパル名レコードを作成する
各Directorサーバーと、Directorサーバーのプールへのアクセスに使用される負荷分散された仮想IP(VIP)ごとにサービスアカウントを作成する必要があります。新しく作成されたサービスアカウントへの委任を構成するには、サービスプリンシパル名(SPN)レコードを作成する必要があります。
-
DirectorサーバーのSPNレコードを作成するには、次のコマンドを使用します。
setspn -a http/<directorServer>.<domain_fqdn> <domain>\<DirectorAppPoolServiceAcct> <!--NeedCopy--> -
負荷分散されたVIPのSPNレコードを作成するには、次のコマンドを使用します。
setspn -S http/<DirectorFQDN> <domain>\<DirectorAppPoolServiceAcct> <!--NeedCopy--> -
作成されたSPNを表示またはテストするには、次のコマンドを使用します。
setspn –l <DirectorAppPoolServiceAcct> <!--NeedCopy-->

- 左ペインでDirector仮想ディレクトリを選択し、アプリケーション設定をダブルクリックします。アプリケーション設定ウィンドウ内で、追加をクリックし、AllowKerberosConstrainedDelegationが1に設定されていることを確認します。

-
左側のペインで「アプリケーションプール」を選択し、Directorアプリケーションプールを右クリックして「詳細設定」を選択します。
-
「ID」を選択し、省略記号(「…」)をクリックしてサービスアカウントのドメイン\ログオンとパスワードの資格情報を入力します。IISコンソールを閉じます。

- 管理者として実行したコマンドプロンプトから、ディレクトリをC:\Windows\System32\inetsrvに変更し、次のコマンドを入力します。
appcmd.exe set config “Default Web Site” -section:system.webServer/security/authentication/clientCertificateMappingAuthentication /enabled:”True” /commit:apphost
<!--NeedCopy-->
appcmd.exe set config “Default Web Site” -section:system.webServer/security/access /sslFlags:”Ssl, SslNegotiateCert” /commit:apphost
<!--NeedCopy-->

Firefoxブラウザーの構成
Firefoxブラウザーを使用するには、OpenSC 0.17.0で入手可能なPIVドライバーをインストールします。インストールと構成の手順については、「Installing OpenSC PKCS#11 Module in Firefox, Step by Step」を参照してください。 Directorでのスマートカード認証機能の使用方法については、Directorの記事の「Use Director with PIV based smart card authentication」セクションを参照してください。