証明機関の設定

この記事では,フェデレーション認証サービス(FAS)を証明機関(CA)サーバーと統合するための詳細設定について説明します。これらの設定の大半はFAS管理コンソールでサポートされていません。この説明では,FASが提供するPowerShell APIを使用します。この記事に記載されている説明を実行する前に,PowerShellの基礎知識を確認してください。

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

FAS管理コンソールを使用して,複数の証明機関でFASを構成し,ルールを作成または編集できます:

2つのCAでルールを編集する。

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

使用するいずれかのCAが必要なテンプレートを公開していない場合,CAの証明機関をセットアップする手順を実行します。

注:

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

想定される動作の変更

FASサーバーを複数のCAサーバーで構成した後は,ユーザー証明書の生成は構成済みのすべてのCAサーバー間で配信されます。さらに,構成済みのCAサーバーのうちいずれかでエラーが発生すると,FASサーバーは別の使用可能なCAサーバーに切り替えます。

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

デフォルトでは,微软証明機関はアクセスにDCOMを使用します。この場合,ファイアウォールの実装が複雑になるため,静的TCPポートに切り替えることができます。微软証明機関でDCOM構成パネルを開き,“CertSrv要求“DCOMアプリケーションのプロパティを編集します:

ローカライズされた画的像

[エンドポイント]を変更して静的エンドポイントを選択し,TCPポート番号を指定します(上の図では900です)。

微软証明機関を再起動して,証明書要求を送信します。「Netstat -a -n -b“を実行する場合は,certsvrがポート900をリスンしていることを確認する必要があります:

ローカライズされた画的像

DCOMにはRPCポートを使用するネゴシエーションステージがあるため,FASサーバー(または証明機関を使用するその他のマシン)を構成する必要はありません。クライアントがDCOMを使用する必要がある場合,クライアントは証明書サーバーのDCOM RPC服务に接続して特定のDCOMサーバーへのアクセスを要求します。900年これによってポートが開かれ,DCOMサーバーはFASサーバーに接続方法を指示します。

ユーザー証明書の事前生成

ユーザー証明書がFASサーバー内で事前生成されると,ユーザーのログオンにかかる時間が大幅に短縮されます。次のセクションでは,単一または複数のFASサーバーでユーザー証明書を事前生成する方法について説明します。

Active Directoryユーザーの一覧を取得します

广告に対してクエリを実行し,ユーザーの一覧を次の例のようにファイル(. csvファイルなど)に保存することにより,証明書の生成を改善することができます。

Import-Module ActiveDirectory $searchbase = "cn=users,dc=bvt,dc=local" # AD User Base to Look for users,$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を持ちステータスが”有効”のユーザーのみを一覧表示するフィルター引数が含まれています。

SearchBase引数によって,广告のユーザー検索が制限されます。すべてのユーザーを广告に含めたい場合,これを省略できます。注:このクエリによって、多数のユーザーが返される可能性があります。

CSVの外観は,次のようになります。

ローカライズされた画的像

FASサーバー

以下のPowerShellスクリプトでは,以前生成されたユーザーの一覧を使用してユーザー証明書の一覧が作成されます。

Add-PSSnapin Citrix。$user = Import-Csv -encoding utf8 $csv foreach ($user in $users) {$server = Get-FasServerForUser -UserPrincipalNames $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user. $user。UserPrincipalName if($服务器。Server -ne $NULL) {New-FasUserCertificate -Address $ Server . net}。服务器-UserPrincipalName $ user。UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule}Failover -ne $NULL) {New-FasUserCertificate -Address $server. cfg . cfg . cfg . cfg . cfg。故障转移-UserPrincipalName $ user。UserPrincipalName -CertificateDefinition $rule"_Definition" -Rule $rule}} 

複数のFASサーバーが存在する場合は,特定のユーザーの証明書がメインサーバーで1回,フェールオーバーサーバーで1回の合計2回生成されます。

上述のスクリプトは,“默认”という名前の規則の場合のものです。規則名が異なる場合(“hello”など)は,スクリプトの美元统治変数を変更してください。

ローカライズされた画的像

登録機関証明書を更新します

複数のFASサーバーを使用中の場合は,ログオン中のユーザーに影響することなくFAS認証証明書を更新できます。

注:

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

ローカライズされた画的像

以下の手順を実行します。

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

  2. 次のコマンドによって返される新しい認証証明書のGUIDをメモします:Get-FasAuthorizationCertificate

  3. FASサーバーをメンテナンスモードにします:Set-FasServer -Address -MaintenanceMode $true

  4. 新しい認証証明書を置換します。Set-FasCertificateDefinition -AuthorizationCertificate < GUID >

  5. FASサーバーのメンテナンスモードを解除します。设置- fasserver -Address -MaintenanceMode $false

  6. 古い認証証明書を削除します。Remove-FasAuthorizationCertificate

関連情報

  • FASのインストールと構成については,”インストールと構成“を参照してください。
  • 一般的なフェデレーション認証サービス環境については,”展開アーキテクチャ“を参照してください。
  • その他の具体的な手順については,”詳細な構成“を参照してください。
証明機関の設定