認証局の構成

最終公開日 : Oct 24, 2026
この記事では、Federated Authentication Service (FAS) を証明機関 (CA) サーバーと統合するための高度な構成について説明します。これらの構成のほとんどは、FAS 管理コンソールではサポートされていません。手順では、FAS が提供するPowerShell API を使用します。この記事のいずれかの手順を実行する前に、PowerShell の基本的な知識が必要です。

FAS で使用する複数のCAサーバーをセットアップする

ルールを作成または編集する際に、FAS管理コンソールを使用して複数のCAでFASを構成できます。
2つのCAでルールを編集
選択するすべてのCAは、Citrix_SmartcardLogon証明書テンプレート(またはルールで選択したテンプレート)を公開している必要があります。
使用したいCAのいずれかが目的のテンプレートを公開していない場合は、そのCAに対して認証局をセットアップするの手順を実行してください。
注:
すべてのCAに対して、このサービスを承認する の手順を実行する必要はありません。この手順で構成された承認証明書は、どのCAでも使用できるためです。

予期される動作の変更

FASサーバーを複数のCAサーバーで構成すると、ユーザー証明書の生成は構成されているすべてのCAサーバーに分散されます。また、構成されているCAサーバーのいずれかが失敗した場合、FASサーバーは別の利用可能なCAサーバーに切り替わります。

TCP アクセス用に Microsoft 証明機関を構成する

FAS は Microsoft CA に DCOM を使用してアクセスします。DCOM はポート 135 を使用して、サービスがリッスンしているポートを検出します。デフォルトでは、リッスンポートは動的に割り当てられます。 これは、ファイアウォールセキュリティを実装する際に複雑さを生じさせる可能性があります。そのため、Microsoft は静的ポートを構成する機能を提供しています。 Microsoft CA で静的ポートを構成するには、Start > Run > dcomcnfg.exe を選択して DCOM configuration パネルを開きます。Computers > My computer > DCOM Config を展開して CertSrv Request ノードを表示します。次に、CertSrv Request DCOM アプリケーションのプロパティを編集します。
ローカライズされた画像
Endpoints を変更して静的エンドポイントを選択し、TCPポート番号 (上記のグラフィックでは 900) を指定します。
この例では、ファイアウォールはポート135とポート900を許可する必要があります。
変更を適用するには、Microsoft証明機関を再起動します。
DCOMはRPCポート135を使用してネゴシエーション段階を持つため、FASサーバー(または証明機関を使用する他のマシン)を設定する必要はありません。クライアントがDCOMを使用する必要がある場合、サーバー上のDCOM RPCサービスに接続し、特定のDCOMサーバーへのアクセスを要求します。これにより、ポート900(この例では)が開かれ、DCOMサーバーはクライアントにそのポートへの接続を指示します。

ユーザー証明書を事前生成する

FASサーバー内でユーザー証明書が事前生成されると、ユーザーのログオン時間が大幅に改善されます。以下のセクションでは、単一または複数のFASサーバーでこれを実現する方法について説明します。

Active Directoryユーザーのリストを取得する

以下の例に示すように、ADをクエリし、ユーザーのリストをファイル(たとえば、.csvファイル)に保存することで、証明書の生成を改善できます。
Import-Module ActiveDirectory

$searchbase = "cn=users,dc=bvt,dc=local" # AD User Base to Look for Users, leave it blank to search all
$filename = "user_list.csv" # Filename to save

if ($searchbase -ne ""){
    Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -SearchBase $searchbase -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
} else {
    Get-ADUser -Filter {(UserPrincipalName -ne "null") -and (Enabled -eq "true")} -Properties UserPrincipalName | Select UserPrincipalName | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $filename
}
Get-ADUser は、ユーザーのリストをクエリするための標準的なコマンドレットです。上記の例には、UserPrincipalNameを持ち、アカウントステータスが「enabled」のユーザーのみをリストするためのフィルター引数が含まれています。
SearchBase引数は、ADのどの部分でユーザーを検索するかを絞り込みます。AD内のすべてのユーザーを含めたい場合は、これを省略できます。
注:
このクエリは多数のユーザーを返す可能性があります。
CSVは次のようになります。
ローカライズされた画像

FASサーバー

以下のPowerShellスクリプトは、以前に生成されたユーザーリストを受け取り、ユーザー証明書のリストを作成します。
Add-PSSnapin Citrix.A*
$csv = "user_list.csv"
$rule = "default" # rule/role in your admin console
$users = Import-Csv -encoding utf8 $csv
foreach ( $user in $users )
{
    $server = Get-FasServerForUser -UserPrincipalNames $user.UserPrincipalName
    if( $server.Server -ne $NULL) {
        New-FasUserCertificate -Address $server.Server -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
    }
    if( $server.Failover -ne $NULL) {
        New-FasUserCertificate -Address $server.Failover -UserPrincipalName $user.UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule
    }
}
FASサーバーが複数ある場合、特定のユーザーの証明書は2回生成されます。1つはメインサーバーで、もう1つはフェイルオーバーサーバーで生成されます。
この前のスクリプトは、「default」という名前のルールに対応しています。異なるルール名(例:「hello」)を使用している場合は、スクリプト内の$rule変数を変更してください。
ローカライズされた画像

FAS承認証明書の更新

FASユーザーに影響を与えることなく、FAS承認証明書を更新できます。

FAS管理コンソールの使用

  • 新しいFAS承認証明書要求を生成するには、再承認をクリックします。 再承認
CAで要求を手動で承認する必要があります。詳細については、フェデレーション認証サービスを承認するを参照してください。
  • 新しい承認証明書が生成されると、FASはそれがまだルールに関連付けられていないことを示します。新しい承認証明書をルールに関連付けるには、構成を更新をクリックします。 構成を更新

PowerShellの使用

次のシーケンスを完了します。
  1. 承認証明書を作成します: New-FasAuthorizationCertificate
  2. 新しい承認証明書のGUIDを、Get-FasAuthorizationCertificateによって返されるとおりにメモします。
  3. 新しい承認証明書を交換します: Set-FasCertificateDefinition –AuthorizationCertificate <GUID>
  4. 古い承認証明書を削除します: Remove-FasAuthorizationCertificate。ユーザーのアクティビティが中断されないように、DeleteUserCerts $false optionを使用してください。

FASの認証解除とFAS証明書の削除

FAS管理コンソールの使用

  • Deauthorizeリンクをクリックして、承認証明書を削除します。すべてのユーザー証明書とすべてのルールを削除できます(ただし、証明書をクリアするために必須ではありません)。 Deauthorize
  • ルールを削除しない場合、後でFASを承認すると警告が表示されます。 Warning
この警告は、承認証明書がまだルールに関連付けられていないことを示しています。Update the configurationをクリックして、新しい承認証明書をルールに関連付けます。

PowerShellの使用

承認証明書とユーザー証明書を削除するには、次のPowerShellコマンドを使用します。
$AuthCert = Get-FasAuthorizationCertificate -Address localhost
Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id
注:
Get-FasAuthorizationCertificateは、承認証明書と保留中の承認証明書要求のリストを返します。Remove-FasAuthorizationCertificateに進む前に、$AuthCertの値を検査してください。
DeleteUserCertsパラメーターをfalseに設定すると、承認証明書を削除し、ユーザー証明書を保持できます。
Remove-FasAuthorizationCertificate -Address localhost -Id $AuthCert.Id -DeleteUserCerts $false
残りのユーザー証明書は、VDAサインインおよびセッション内証明書としてFASで引き続き使用できます。これは、FAS承認を更新する際に役立ちます。詳細については、「Renew FAS authorization certificate」を参照してください。
  • ユーザー証明書は次のように削除できます。
Remove-FasUserCertificate -Address localhost
このコマンドは、FASサーバーからすべてのユーザー証明書を削除します。このコマンドには、削除される証明書のセットをフィルター処理するオプションがあります。
「注:」:
FASが内部ストレージから承認またはユーザー証明書を削除すると、関連するキーペアも削除されます。

オフライン承認

FAS承認証明書は、PowerShellを使用してオフラインで要求できます。これは、証明機関がオンライン証明書署名要求を通じて承認証明書を発行することを望まない組織に適しています。
  1. 管理コンソールを使用して初期FAS構成を行う際は、最初の2つの手順のみを完了してください。「証明書テンプレートの展開」と「証明機関のセットアップ」です。 テンプレートの展開と証明機関のセットアップ
  2. FASサーバーで次のPowerShellコマンドレットをロードします。
    Add-PSSnapin Citrix.Authentication.FederatedAuthenticationService.V1`
  3. FASサーバーで次のPowerShellコマンドレットを入力して、キーペアを生成し、証明書署名要求を作成します。

    $AuthCertRequest = New-FasAuthorizationCertificateRequest -Address localhost $AuthCertRequest
    これにより、次の結果が得られます。
    結果(/en-us/federated-authentication-service/2511/media/result-new-fas-auth-cert.png)
    「注:」:
    生成されたキーペアのプロパティは、FAS承認キー構成によって決定されます。詳細については、「プライベートキーの保護」(/ja-jp/federated-authentication-service/2511/config-manage/private-key-protection.html)を参照してください。
  4. 証明書要求をディスクにコピーします。
    `$AuthCertRequest.CertificateRequest > c:\temp\authcert.csr
  5. 証明書要求ファイル(この例ではauthcert.csr)を証明機関に提示し、要求を承認して、証明書応答を取得します。
    次の5つの手順は、Microsoft Enterprise証明機関の使用に特有のものです。他のCAについては、CAベンダーに問い合わせて支援を受けてください。
    • 証明機関サーバーで、証明書テンプレートMMCスナップインを追加します。「Citrix_RegistrationAuthority_ManualAuthorization」テンプレートを右クリックし、「テンプレートの複製」を選択します。「全般」タブを選択します。名前と有効期間を変更します。この例では、名前はOffline_RAで、有効期間は2年です。
      プライベートキーテンプレートのプロパティ
    • 認証局サーバーで、認証局MMCスナップインを追加します。証明書テンプレートを右クリックします。新規を選択し、発行する証明書テンプレートをクリックします。作成したテンプレートを選択します。
    • FASサーバーのPowerShellコマンドプロンプトに以下を入力して、証明書署名要求を認証局に送信します。
      certreq -submit -attrib "certificatetemplate:<certificate template from step 5a>" <certificate request file from step 4>
      例:
      certreq -submit -attrib "certificatetemplate:Offline_RA" C:\temp\authcert.csr
      前のコマンドを実行すると、次の結果が表示されます。
      証明書テンプレートの結果
      この時点で、認証局リストウィンドウが表示される場合があります。この例の認証局では、DCOM(上)とHTTP(下)の両方の登録が有効になっています。利用可能な場合はDCOMを選択し、OKをクリックします。
      認証局リスト
      認証局が指定されると、コマンドが完了し、RequestIDが表示されます。
      証明書要求の保留中のステータス
    • 認証局サーバーで、認証局MMCスナップインの保留中の要求をクリックします。要求IDを見つけます。次に、要求を右クリックし、発行を選択します。
    • 発行された証明書ノードを選択します。発行された証明書を見つけます(要求IDが一致する必要があります)。証明書をダブルクリックして開きます。詳細タブを選択します。ファイルにコピーをクリックします。証明書のエクスポートウィザードが起動します。次へをクリックします。ファイル形式について次のオプションを選択します。
      プライベートキー証明書のエクスポートウィザード
    形式は**暗号メッセージ構文標準 – PKCS #7 証明書 (.P7B)**であり、可能であれば、証明のパスにあるすべての証明書を含めるが選択されている必要があります。
  6. エクスポートされた証明書ファイルをFASサーバーにコピーします。
  7. FASサーバーで次のPowerShellコマンドレットを入力して、登録機関証明書をFASサーバーにインポートします。
    Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile <Certificate file from step 6>
    例:
    Import-FasAuthorizationCertificateResponse -Address localhost -Id $AuthCertRequest.Id -Pkcs7CertificateFile C:\temp\response.p7b
    このコマンドを実行すると、次の結果が得られます:
    FAS承認証明書のインポート応答(/en-us/federated-authentication-service/2511/media/import-fas-auth-cert-response.png)
  8. FAS管理コンソールを確認します。FASが承認されていることが表示されているはずです。
    サービスを承認(/en-us/federated-authentication-service/2511/media/fas-admin-console-authorize-service.png)
    注:
    このサービスを承認ステップの横に緑色のチェックマークが表示されます。
  9. ルールを作成して構成を続行します。詳細については、ルールを構成するを参照してください。

関連情報

  • インストールと構成の記事は、FASのインストールと構成に関する主要なリファレンスです。
  • 一般的なフェデレーション認証サービス展開は、展開アーキテクチャの記事にまとめられています。
  • その他のハウツー記事は、高度な構成の記事で紹介されています。