証明機関の構成

この記事では、フェデレーション認証サービス (FAS) と証明機関 (CA) サーバーを統合するための高度な構成について説明します。これらの構成のほとんどは、FAS 管理コンソールではサポートされていません。手順では、FAS が提供する PowerShell API を使用します。この記事の手順を実行する前に、PowerShell の基本的な知識が必要です。

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

FAS 管理コンソールを使用して、ルール作成または編集時に複数の CA を構成できます。

2 つの CA を使用したルールの編集

選択するすべての CA は、Citrix_SmartcardLogon 証明書テンプレート (またはルールで選択したテンプレート) を公開している必要があります。

使用したい CA のいずれかが目的のテンプレートを公開していない場合は、その CA に対して 証明機関のセットアップ 手順を実行します。

注:

この手順で構成された承認証明書は、どの CA でも使用できるため、すべての CA に対して このサービスの承認 手順を実行する必要はありません。

予期される動作の変更

複数の CA サーバーで FAS サーバーを構成すると、ユーザー証明書の生成は構成されているすべての 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
}
<!--NeedCopy-->

Get-ADUser は、ユーザーの一覧をクエリするための標準的なコマンドレットです。上記の例には、UserPrincipalName を持ち、アカウントステータスが「有効」なユーザーのみを一覧表示するフィルター引数が含まれています。

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
    }
}
<!--NeedCopy-->

複数の FAS サーバーがある場合、特定のユーザーの証明書はメインサーバーとフェールオーバーサーバーでそれぞれ 1 つずつ、2 回生成されます。

上記のスクリプトは、「default」という名前のルールに対応しています。異なるルール名 (たとえば、「hello」) を使用している場合は、スクリプト内の $rule 変数を変更してください。

ローカライズされた画像

登録機関証明書の更新

複数の FAS サーバーが使用されている場合、ログオンしているユーザーに影響を与えることなく、FAS 承認証明書を更新できます。

注:

GUI を使用して FAS を再承認することもできます。

ローカライズされた画像

次のシーケンスを完了します。

  1. 新しい承認証明書を作成します: New-FasAuthorizationCertificate

  2. Get-FasAuthorizationCertificate によって返される新しい承認証明書の GUID をメモします。

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