Entra ID を使用した VDA へのシングルサインオン (プレビュー)
Entra に参加している VDA へのシングルサインオンを有効にできます。これにより、ユーザーが Entra ID を使用してストアに認証した後、仮想アプリまたはデスクトップを起動する際に資格情報を再入力する必要がなくなります。
重要:
OIDC を介した Entra ID 認証は現在プレビュー段階です。この機能はサポートなしで提供されており、本番環境での使用はまだ推奨されていません。
前提条件
- Citrix DaaS™ または Citrix Virtual Apps and Desktops™ 2603 以降によってホストされている Entra ID に参加しているリソースがあること。
- ユーザーは Entra ID を使用してストアに認証します。これは、(/ja-jp/storefront/current-release/integrate-with-citrix-gateway-and-citrix-adc/entra-id-oidc)、Citrix Gateway と SAML、または (/ja-jp/storefront/current-release/stores/authentication/saml) を使用して行うことができます。
- (/ja-jp/storefront/current-release/stores/websites/ui-experience) が Modern に設定されていること。
- (/ja-jp/citrix-daas/install-configure/session-authentication/entra-sso.html) または (/ja-jp/citrix-virtual-apps-desktops/install-configure/session-authentication/entra-sso) に記載されているすべての構成を完了していること。そうしないと、シングルサインオンが失敗し、ユーザーは起動の遅延やエラーを経験する可能性があります。
- ストアが認証に Citrix Gateway を使用し、Citrix DaaS サイトからリソースを公開している場合は、(#configure-netscaler-adc-to-allow-unauthenticated-access-to-ticket-redemption-endpoint)。すべてのサイトが Citrix Virtual Apps and Desktops である場合、またはゲートウェイなしで StoreFront に直接認証する場合は、これは必要ありません。
既知の問題
ユーザーが SAML を使用して認証し、複数の Entra ID アカウントにログインしている場合、ユーザーが VDA を起動すると、Web ブラウザまたは Citrix Workspace アプリが使用するアカウントを選択するようユーザーに促すか、シングルサインオンが失敗する可能性があります。この問題は、ユーザーが OIDC ベースの認証を使用して認証する場合には発生しません。
管理コンソールを使用した構成
Entra ID SSO を構成するには:
-
構成するストアの (/ja-jp/storefront/current-release/stores/settings) ウィンドウを開きます。
-
「アクション」ペインで、[ストア設定の構成] を選択します。
-
[ストア設定の構成] ページで、[Entra SSO] タブを選択します。
-
Entra SSO を有効または無効にします。
ストアのEntra SSO構成タブのスクリーンショット(/ja-jp/storefront/current-release/media/stores/configure-store-entra-sso.png)
-
変更を保存するには、[OK] を選択します。
この設定は、ログオンの種類としてEntraまたはハイブリッドを使用するように構成されたデリバリーグループ内のマシンにのみ影響します。ログオンの種類がActive Directoryのデリバリーグループの場合、Federated Authentication Serviceも有効にすることをお勧めします。
PowerShell を使用した構成
PowerShell を使用してシングルサインオンを構成するには、Set-STFStoreLaunchOptions コマンドレットをパラメーター -EntraIdSsoEnabled で呼び出します。
チケット引き換えエンドポイントへの認証されていないアクセスを許可するようにNetScaler ADCを構成します
Citrix DaaSは、Citrix管理のAzureクライアントを使用して、Citrix Entra ID Webページを介してSSOを処理します。セキュリティを向上させるため、StoreFrontはクライアントにリンクされたチケットを作成します。Citrix Entra ID Webページは、そのチケットを検証するためにStoreFrontにコールバックします。Citrix Entra ID WebページはStoreFrontとは異なるドメインでホストされているため、認証コンテキストにアクセスできません。したがって、ユーザーがCitrix Gatewayを介してストアに認証する場合、/Citrix/<StoreWeb>/Tickets/RedeemStoreTicket への呼び出しに対してCitrix GatewayをバイパスするようにNetScaler ADCを構成する必要があります。
注:
Citrix Virtual Apps and Desktopsでは、Citrix管理クライアントを使用するのではなく、Azureで独自のクライアントを作成する必要があります。したがって、チケットは不要であり、以下の構成は必要ありません。
次の図は、コンテンツスイッチャーを使用してチケット引き換えURLの認証をバイパスする方法を示しています。
コンテンツスイッチャーを使用した要求フローを示す図(/ja-jp/storefront/current-release/media/integrate-with-citrix-gateway-and-citrix-adc/azure-chart.png)
/Citrix/<StoreWeb>/Tickets/RedeemStoreTicket への呼び出しは、ゲートウェイをバイパスしてStoreFrontに要求を転送するロードバランサーに転送されます。コンテンツスイッチャーはトラフィックをURLに直接転送するように構成できず、ターゲットとして仮想サーバーを必要とするため、ロードバランサーが必要であることに注意してください。ロードバランサーはロードバランシングを実行せず、単にStoreFrontにトラフィックを転送します。同じマシンに適切なStoreFrontロードバランサーがすでにある場合は、代わりにそれを使用できます。
他のすべての呼び出しは、ゲートウェイのVPN仮想サーバーに転送されます。
コンテンツスイッチャーからStoreFrontにパススルーするためのロードバランサーを作成する
ゲートウェイと同じマシンで実行され、StoreFrontサーバーグループの前面にあるロードバランサー仮想サーバーが既にある場合は、この手順をスキップし、コンテンツスイッチを構成してトラフィックをその仮想サーバーに直接送信できます。そうでない場合は、StoreFrontサーバーにトラフィックをパススルーするためのロードバランサーを作成する必要があります。これは、コンテンツスイッチャーのアクションが仮想サーバーを参照する必要があるためです。
手順は、StoreFrontがHTTPS(推奨)またはHTTPのどちらに構成されているかによって若干異なります。
StoreFrontがHTTPS用に構成されている
StoreFrontを表すサービスstf_srvをそのIPアドレスを使用して作成し、永続性のないSSLロードバランサーにバインドします。
add service stf_srv <StoreFront Ip Address> SSL 443
add lb vserver lb_vs SSL <lb_vs Ip Address> 443 -persistenceType NONE -cltTimeout 180
bind lb vserver lb_vs stf_srv
<!--NeedCopy-->
StoreFrontがHTTP用に構成されている
StoreFrontを表すサービスstf_srvをそのFQDNを使用して作成し、永続性のないHTTPロードバランサーにバインドします。
add server storefront1 <storefront fqdn>
add service stf_srv storefront1 HTTP 80
add lb vserver lb_vs HTTP 0.0.0.0 0 -persistenceType NONE -cltTimeout 180
bind lb vserver lb_vs stf_srv
<!--NeedCopy-->
SSLコンテンツスイッチング仮想サーバーを作成する
クライアント要求を処理するSSLコンテンツスイッチング仮想サーバーを作成します。このコンテンツスイッチング仮想サーバーは、ポート443でHTTPSトラフィックをリッスンし、要求をゲートウェイVPN仮想サーバーにルーティングするか、ロードバランサーを介してStoreFrontにパススルーします。
デフォルトではコンテンツスイッチングは無効になっているため、以前に有効にしていない場合は有効にする必要があります。
enable feature CS
add cs vserver cs_vs SSL <cs_vs Ip Address> 443 -cltTimeout 180 -persistenceType NONE
bind ssl vserver cs_vs -certkeyName <Certificate Name>
<!--NeedCopy-->
チケット引き換え用のコンテンツスイッチングポリシーを作成する
StoreFrontチケット引き換えパスを含むURLに基づいてロードバランシングを行うコンテンツスイッチングポリシーを作成します。
このポリシーは、URLに/Citrix/<StoreWeb>/Tickets/RedeemStoreTicketが含まれる場合に要求を照合し、VPN仮想サーバーを経由せずにロードバランサーにルーティングします。
<StoreWeb>をStoreFront仮想サーバーWebポリシーのStoreFront Webサイトの名前に置き換えます。前の手順で作成したロードバランサーlb_vsを使用するか、StoreFrontサーバーの前面にある既存のロードバランサー仮想サーバーを使用できます。
add cs action cs_lb_vs -targetLBVserver lb_vs
add cs policy cs_lb_vs_pol -rule "HTTP.REQ.URL.CONTAINS(\"/Citrix/<StoreWeb>/Tickets/RedeemStoreTicket\")" -action cs_lb_vs
bind cs vserver cs_vs -policyName cs_lb_vs_pol -priority 100
<!--NeedCopy-->
その他のすべてのトラフィックに対するコンテンツスイッチングポリシーを作成する
認証のために、その他のすべてのStoreFrontトラフィックをVPN仮想サーバー経由で送信するキャッチオールコンテンツスイッチングポリシーを作成します。
add cs action cs_vpn_vs -targetVserver <VPN vServer>
add cs policy cs_vpn_pol -rule TRUE -action cs_vpn_vs
bind cs vserver cs_vs -policyName cs_vpn_pol -priority 110
<!--NeedCopy-->