証明機関の構成

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

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

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

予期される動作の変更

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

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

デフォルトでは、Microsoft CA はアクセスに DCOM を使用します。これにより、ファイアウォールセキュリティを実装する際に複雑さが増す可能性があるため、Microsoft は静的 TCP ポートに切り替えるための規定を設けています。Microsoft CA で、[スタート]>[ファイル名を指定して実行]>「dcomcnfg.exe」 を使用して DCOM 構成パネルを開き、[コンピューター]>[マイコンピューター]>[DCOM の構成] を展開して CertSrv Request ノードを表示し、CertSrv Request DCOM アプリケーションのプロパティを編集します。
ローカライズされた画像
「エンドポイント」を変更して静的エンドポイントを選択し、TCP ポート番号(上記の図では 900)を指定します。
Microsoft 証明機関を再起動し、証明書要求を送信します。netstat –a –n –b を実行すると、certsvr がポート 900 でリッスンしていることがわかります。
ローカライズされた画像
DCOMはRPCポートを使用してネゴシエーション段階を持つため、FASサーバー(または証明機関を使用する他のマシン)を設定する必要はありません。クライアントがDCOMを使用する必要がある場合、証明書サーバー上のDCOM RPCサービスに接続し、特定のDCOMサーバーへのアクセスを要求します。これによりポート900が開かれ、DCOMサーバーがFASサーバーに接続方法を指示します。

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

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承認証明書を更新できます。
注:
GUIを使用してFASを再承認することもできます。
ローカライズされた画像
次のシーケンスを完了します。
  1. 新しい承認証明書を作成します: New-FasAuthorizationCertificate
  2. 新しい承認証明書のGUIDをメモします。これは次によって返されます: Get-FasAuthorizationCertificate
  3. FASサーバーをメンテナンスモードにします: Set-FasServer –Address <FAS server> -MaintenanceMode $true
  4. 新しい承認証明書を交換します: Set-FasCertificateDefinition –AuthorizationCertificate <GUID>
  5. FASサーバーをメンテナンスモードから解除します: Set-FasServer –Address <FAS server> -MaintenanceMode $false
  6. 古い承認証明書を削除します: Remove-FasAuthorizationCertificate

関連情報

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