FAS V2 チケットとレジストリアドレスリスト
FAS 2511より前は、FASはインデックスバイトで始まるV1 (バージョン1) 形式のチケットを作成していました。VDAは、どのFASサーバーがチケットを発行したかを判断する必要があります。これは、インデックスバイトを使用して、レジストリ内のFASアドレスのリストからFASアドレスを検索することで行われます。
GPOは通常、VDA上のFASアドレスのリストを構成します。Windows VDAでは、アドレスリストのレジストリの場所は HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication\UserCredentialService\Addresses です。
VDA上のアドレスリストは、StoreFront上のアドレスリストと完全に一致している必要があります。そうでない場合、シングルサインオンは失敗します。この要件は、特に複雑な展開を行っている顧客にとって、構成エラーの大きな原因となっていました。
FAS 2511では、V2 (バージョン2) 形式のチケットが導入されました。FASサーバーのアドレス (つまり、FQDNとポート) はチケット自体に書き込まれるため、VDAはレジストリアドレスリストを参照する必要がありません。
互換性
2511以降、FASはデフォルトでV2チケットを生成します。V2チケットは、すべてのWindowsおよびLinux VDAバージョンと互換性があります。
バージョン2511より前のVDAは、前のセクションで説明したように、インデックスバイトを使用してレジストリアドレスリストを参照し続けます。
2511以降のWindowsおよびLinux VDAのみがV2チケットを解析できるため、レジストリアドレスリストは必要ありません。
V2チケットはStoreFrontのどのバージョンとも互換性があり、StoreFrontのアップグレードは不要です。
V2チケットで問題が発生した場合は、次のPowerShellコマンドを使用してFASがV1チケットを生成するように構成できます。
Set-FasServer -Address localhost -TicketVersion 1
<!--NeedCopy-->
V2チケットの生成に戻すには、次のPowerShellコマンドを使用します。
Set-FasServer -Address localhost -TicketVersion 2
<!--NeedCopy-->
VDAが認識するFASチケットバージョン
VDA 2511以降のみがV2チケットを解析できます。以前のバージョンでは、V2チケットはV1チケットであるかのように扱われます。
VDAがV2チケットバージョンを認識しているかどうかを確認するには、FASサーバーのイベントログを検査します。
FASとVDAが2511以降の場合、VDA起動中に次のようなイベントログエントリが表示されるはずです。このイベントは、FASサーバーの Windowsログ > アプリケーションログ にあります。
Level: Information
Source: Citrix.Authentication.FederatedAuthenticationService
EventId: 204
Text: [S204] Relying party [VDA machine name] accessing the Logon Provider for [User UPN] in role: [FAS Role] [Operation: XXXX] as authorized by [StoreFront machine name]. Caller ticket version: 2. [correlation: XXXX]
<!--NeedCopy-->
このイベントでは、呼び出し元チケットのバージョンは 2 です。これは、VDAがレジストリFASアドレスリストで構成される必要がないことを示しています。
逆に、VDAがV2チケットをサポートしていない場合、イベントログエントリの呼び出し元チケットバージョンは 1 になります。
Level: Information
Source: Citrix.Authentication.FederatedAuthenticationService
EventId: 204
Text: [S204] Relying party [VDA machine name] accessing the Logon Provider for [User UPN] in role: [FAS Role] [Operation: XXXX] as authorized by [StoreFront machine name]. Caller ticket version: 1. [correlation: XXXX]
<!--NeedCopy-->
StoreFrontでのFAS V2チケットの構成
FASチケットはStoreFrontにとって不透明であり、特別な構成は不要であるため、StoreFrontのどのバージョンでも使用できます。
StoreFrontでのFASサーバーアドレスの構成は、GPOを使用して提供されるレジストリアドレスリストを引き続き使用します。
Citrix Cloud WorkspaceでのFAS V2チケットの構成
FASがCitrix Cloudに接続されている場合、FASは自身のアドレスが自身のレジストリアドレスリストに存在することを要求します。この動作はV1チケットをサポートするためです。見つからない場合、FAS管理コンソールは警告を表示し、FASはCitrix Cloud Workspaceの起動に対してシングルサインオンを提供しません。
ただし、展開全体がV2チケットを使用している場合 (つまり、FASサーバーとVDAが2511以降の場合)、FASサーバー上のレジストリアドレスリストは不要です。
クラウド接続されたFASがレジストリアドレスリストを要求しないようにするには、次のPowerShellを使用できます。
Set-FasCloudConfig -Address localhost -SkipGpoCheck $true
<!--NeedCopy-->
その他のPowerShellの変更点
上記のコマンドに加えて、FAS 2511のPowerShellには以下の変更が加えられています。
FASサーバーのFQDNとポートの表示
次のPowerShellコマンドは、FASサーバーのFQDNとリスニングポートを返します。これは、V2チケットにエンコードされるFASアドレス情報です。
Get-FasServer -Address localhost
<!--NeedCopy-->
コマンドレットのアドレスパラメーター
2511より前は、FAS PowerShellコマンドの任意のアドレスパラメーター (“localhost”を除く) は、FASサーバーのレジストリアドレスリストに対してチェックされていました。この動作を変更するには、次のコマンドを使用する必要がありました。
Set-FasAdministrationPolicy -CheckAddressAgainstGpo $false
<!--NeedCopy-->
2511以降、FAS PowerShellコマンドはアドレスパラメーターをアドレスリストに対してチェックしません。以前の動作に戻すには、次のPowerShellコマンドを実行します。
Set-FasAdministrationPolicy -CheckAddressAgainstGpo $true
<!--NeedCopy-->