証明機関の設定
この記事では,フェデレーション認証サービス(FAS)を証明機関(CA)サーバーと統合するための詳細設定について説明します。これらの設定の大半はFAS管理コンソールでサポートされていません。この説明では,FASが提供するPowerShell APIを使用します。この記事に記載されている説明を実行する前に,PowerShellの基礎知識を確認してください。
FASで使用するための複数CAサーバーのセットアップ
FAS管理コンソールを使用して,複数の証明機関でFASを構成し,ルールを作成または編集できます:
選択したすべての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を再認証することもできます:
以下の手順を実行します。
新しい認証証明書を作成します。
New-FasAuthorizationCertificate
次のコマンドによって返される新しい認証証明書のGUIDをメモします:
Get-FasAuthorizationCertificate
FASサーバーをメンテナンスモードにします:
Set-FasServer -Address
-MaintenanceMode $true 新しい認証証明書を置換します。
Set-FasCertificateDefinition -AuthorizationCertificate < GUID >
FASサーバーのメンテナンスモードを解除します。
设置- fasserver -Address
-MaintenanceMode $false 古い認証証明書を削除します。
Remove-FasAuthorizationCertificate