PIVスマートカード認証の構成

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

Directorサーバーの構成

Directorサーバーで次の構成手順を実行します。
  1. クライアント証明書マッピング認証をインストールして有効にします。Microsoftドキュメントの「クライアント証明書マッピング認証」にある**「Active Directoryを使用したクライアント証明書マッピング認証」**の手順に従ってください。
  2. Directorサイトでフォーム認証を無効にします。
    IISマネージャーを起動します。
    [サイト] \> [Default Web Site] \> [Director] の順に移動します。
    [認証] を選択します。
    [フォーム認証] を右クリックし、[無効] を選択します。
    フォーム認証を無効にする
  3. クライアント証明書認証のために、Director URLをより安全なhttpsプロトコル(HTTPではなく)に構成します。
    1. IISマネージャーを起動します。
    2. [サイト] \> [Default Web Site] \> [Director] の順に移動します。
    3. 「SSL 設定」を選択します。
    4. 「SSL を要求」と「クライアント証明書」\>「要求」を選択します。
    SSL 設定(/en-us/citrix-virtual-apps-desktops/2507-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/2507-ltsr/media/dir-smartcard-config3.png)
このアカウントに対して、次のサービスを構成します。
  • デリバリーコントローラー™: HOST、HTTP
  • ディレクター: HOST、HTTP
  • アクティブディレクトリ: GC、LDAP
構成するには、,
  1. 「ユーザーアカウントのプロパティ」ダイアログで、「追加」をクリックします。
  2. 「サービスの追加」ダイアログで、「ユーザーまたはコンピューター」をクリックします。
  3. Delivery Controllerのホスト名を選択します。
  4. 「利用可能なサービス」リストから、HOSTとHTTPの「サービスの種類」を選択します。
サービスを構成する(/en-us/citrix-virtual-apps-desktops/2507-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/2507-ltsr/media/dir-smart-card-auth-2.png)
  • 左ペインでDirector仮想ディレクトリを選択し、「アプリケーション設定」をダブルクリックします。「アプリケーション設定」ウィンドウ内で、「追加」をクリックし、「AllowKerberosConstrainedDelegation」が1に設定されていることを確認します。
ケルベロス(/en-us/citrix-virtual-apps-desktops/2507-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ドライバーをインストールします。インストールと構成の手順については、FirefoxでのOpenSC PKCS#11モジュールのステップバイステップインストールを参照してください。 Directorでのスマートカード認証機能の使用方法については、Directorの記事のPIVベースのスマートカード認証でDirectorを使用するセクションを参照してください。