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 Logs > Application log にあります。
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-->