PIVスマートカード認証を構成する

最終公開日 : Nov 13, 2026
この記事では、スマートカード認証機能を有効にするために、DirectorサーバーとActive Directoryで必要な構成について説明します。
注:
スマートカード認証は、同じActive Directoryドメインのユーザーに対してのみサポートされます。

Directorサーバーの構成

Directorサーバーで次の構成手順を実行します。
  1. クライアント証明書マッピング認証をインストールして有効にします。Microsoftドキュメントの「Client Certificate Mapping Authentication」にある「Active Directoryを使用したクライアント証明書マッピング認証」の手順に従ってください。
  2. Directorサイトでフォーム認証を無効にします。
    IISマネージャーを起動します。
    サイト \> 既定のWebサイト \> Director に移動します。
    認証 を選択します。
    フォーム認証 を右クリックし、無効 を選択します。
    フォーム認証を無効にする(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/dir-smartcard-config1.png)
  3. クライアント証明書認証のために、Director URLをより安全なhttpsプロトコル(HTTPではなく)に構成します。
    1. IISマネージャーを起動します。
    2. サイト \> 既定のWebサイト \> Director に移動します。
    3. 「SSL Settings」を選択します。
    4. Require SSL と Client certificates \> Require を選択します。
    SSL設定(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/dir-smartcard-config2.png)
  4. web.config を更新します。テキストエディターを使用して、web.config ファイル(c:\inetpub\wwwroot\Director にあります)を開きます。
<system.webServer> 親要素の下に、次のスニペットを最初の子要素として追加します。
&lt;defaultDocument>
   &lt;files>
       &lt;add value="LogOn.aspx"/>
   &lt;/files>
&lt;/defaultDocument>

Active Directory の構成

デフォルトでは、Director アプリケーションはアプリケーションプールの ID プロパティで実行されます。スマートカード認証には委任が必要であり、そのためには Director アプリケーションの ID がサービスホスト上で Trusted Computing Base (TCB) 権限を持っている必要があります。
Citrix では、アプリケーションプールの ID 用に個別のサービスアカウントを作成することをお勧めします。Microsoft MSDN の記事「Protocol Transition with Constrained Delegation Technical Supplement」の手順に従って、サービスアカウントを作成し、TCB 権限を割り当てます。
新しく作成したサービスアカウントを Director アプリケーションプールに割り当てます。次の図は、サンプルサービスアカウント「Domain Pool」のプロパティダイアログを示しています。
サンプルサービスアカウント(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/dir-smartcard-config3.png)
このアカウントに対して、次のサービスを構成します。
  • デリバリーコントローラー™: ホスト、HTTP
  • ディレクター: HOST, HTTP
  • アクティブディレクトリ: GC, LDAP
構成するには、,
  1. ユーザーアカウントのプロパティダイアログで、追加をクリックします。
  2. サービスの追加ダイアログで、 または をクリックします。
  3. Delivery Controller のホスト名を選択します。
  4. 利用可能なサービスの一覧から、HOST と HTTP の サービスの種類を選択します。
サービスを構成する(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/dir-smartcard-config4.png)
同様に、Director および Active Directory ホストのサービスの種類を追加します。

サービスプリンシパル名レコードを作成する

各 Director サーバーと、Director サーバーのプールへのアクセスに使用される負荷分散された仮想 IP (VIP) ごとにサービスアカウントを作成する必要があります。新しく作成されたサービスアカウントへの委任を構成するには、サービスプリンシパル名 (SPN) レコードを作成する必要があります。
  • Director サーバーの SPN レコードを作成するには、次のコマンドを使用します。
      setspn -a http/<directorServer>.<domain_fqdn> <domain>\<DirectorAppPoolServiceAcct>
  • 負荷分散された VIP の SPN レコードを作成するには、次のコマンドを使用します。
      setspn -S http/<DirectorFQDN> <domain>\<DirectorAppPoolServiceAcct>
  • 作成された SPN を表示またはテストするには、次のコマンドを使用します。
     setspn –l <DirectorAppPoolServiceAcct>
スマートカード(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/dir-smart-card-auth-2.png)
  • 左側のペインで Director 仮想ディレクトリを選択し、アプリケーション設定をダブルクリックします。アプリケーション設定ウィンドウ内で、追加をクリックし、AllowKerberosConstrainedDelegation が 1 に設定されていることを確認します。
ケルベロス(/en-us/citrix-virtual-apps-desktops/2607-ltsr/media/dir-smart-card-auth-3.png)
  • 左側のペインで アプリケーションプールを選択し、Director アプリケーションプールを右クリックして詳細設定を選択します。
  • 「Identity」を選択し、省略記号(「…」)をクリックして、サービスアカウントのドメイン\ログオンとパスワードの資格情報を入力します。IISコンソールを閉じます。
ID
  • 管理者として実行したコマンドプロンプトから、ディレクトリをC:\Windows\System32\inetsrvに変更し、次のコマンドを入力します。
   appcmd.exe set config “Default Web Site” -section:system.webServer/security/authentication/clientCertificateMappingAuthentication /enabled:”True” /commit:apphost

    appcmd.exe set config “Default Web Site” -section:system.webServer/security/access /sslFlags:”Ssl, SslNegotiateCert” /commit:apphost
コマンドプロンプト

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セクションを参照してください。