Citrix DaaS™

Microsoft Entra シングルサインオン

Microsoft Entra ID の資格情報を使用して、Microsoft Entra 参加済みまたは Microsoft Entra ハイブリッド参加済みのセッションホスト上の仮想アプリケーションおよびデスクトップにアクセスする場合、シングルサインオン (SSO) を活用できます。

サポートされるインフラストラクチャ

以下は、Microsoft Entra シングルサインオンでサポートされるインフラストラクチャコンポーネントの概要です。

マシンID Citrix DaaS CVADオンプレミス Citrix Workspace Citrix StoreFront Citrix Gateway Service NetScaler Gateway
Microsoft Entra参加済み はい いいえ はい いいえ はい はい
Microsoft Entraハイブリッド参加済み はい いいえ はい いいえ はい はい

サポートされるIDプロバイダー

以下は、Microsoft Entra シングルサインオンでサポートされるWorkspace IDプロバイダーの概要です。

マシンID Entra ID Active Directory Active Directory + トークン Okta SAML NetScaler Gateway アダプティブ認証
Microsoft Entra参加済み はい いいえ いいえ いいえ はい いいえ いいえ

サポートされるアクセス方法

以下は、Citrix 環境で利用可能なアクセス方法です。

  • ネイティブアクセス: ネイティブの Citrix Workspace アプリクライアントを使用して Citrix Workspace または Citrix StoreFront にアクセスし、セッション接続を確立します。
  • ブラウザアクセス: ブラウザを介して Citrix Workspace または Citrix StoreFront にアクセスし、Citrix Workspace アプリ for HTML5 クライアントを使用して仮想アプリまたはデスクトップセッションに接続します。
    • ハイブリッドアクセス: ブラウザを介して Citrix Workspace または Citrix StoreFront にアクセスし、ネイティブの Workspace アプリクライアントを使用して仮想アプリまたはデスクトップセッションに接続します。

    • 以下は、Microsoft Entra シングルサインオンでサポートされるアクセス方法の概要です。

  • アクセス方法 Windows Linux Mac Chrome OS Android iOS
    • | — | — | — | — | — | ———– | ———– |
    • ネイティブ はい はい はい はい はい はい
    • ブラウザ はい はい はい はい はい はい
    • ハイブリッド はい いいえ はい いいえ いいえ いいえ

システム要件

-  以下は、Microsoft Entra シングルサインオンを使用するためのシステム要件です。

-  コントロールプレーン: Citrix DaaS
-  Citrix Cloud Commercial (米国、EU、APS)
-  Citrix Cloud Japan
-  ユーザーポータル: Citrix Workspace
  • Virtual Delivery Agent (VDA)

    • Windows: バージョン 2507 以降
    • Citrix Workspace アプリ
    • Windows: バージョン 2507 以降
    • Linux: バージョン 2508 以降
    • Mac: バージョン 2508 以降 (ハイブリッドアクセスにはバージョン 2511 以降が必要)
    • HTML5: バージョン 2511 以降
    • Chrome OS: バージョン 2511 以降
    • Android: バージョン 2511 以降
    • iOS: バージョン 2511 以降
  • Citrix Web Extension
  • セッションホストOS:
    • Windows 11 バージョン 24H2 (2025-09 Cumulative Updates for Windows 11 (KB5065789) 以降がインストールされていること) (ビルド 26100.6725)
    • Windows Server 2025 (2026-01 Cumulative Updates for Windows Server 2025 (KB5073379) 以降がインストールされていること) (ビルド 26100.32230)

注記

Citrix Web Extension は、ユーザーが Windows または Mac デバイスでハイブリッドアクセスを利用する場合にのみ必要です。ユーザーがネイティブアクセスまたはブラウザアクセスを利用する場合は、Citrix Web Extension は必要ありません。

考慮事項

-  ユーザーがハイブリッドアクセスを利用する場合は、Microsoft Edge または Google Chrome を使用し、Citrix Web Extension をインストールする必要があります。ハイブリッドアクセスでの Microsoft Entra シングルサインオンは、他のブラウザではサポートされていません。
  • Microsoft Entra シングルサインオンを使用してセッションにログオンする場合、自動クライアント再接続はサポートされません。このログオン方法が使用されると、この機能は自動的に無効になります。セッションの信頼性は、ネットワークの中断時に自動再接続のために引き続き利用できます。
    • 仮想デスクトップがロックされている場合、デフォルトの動作は Windows ロック画面を表示することです。認証要件によっては、セッションロックの動作を変更する必要がある場合があります。詳細については、「セッションロックの動作」を参照してください。
    • Microsoft Entra ハイブリッド参加済みセッションホストを使用している場合、Domain Admins などの特権グループのメンバーに対しては、デフォルトではシングルサインオンは機能しません。これを有効にするには、Microsoft Entra Kerberos アクセス用の読み取り専用ドメインコントローラー (RODC) 許可リストにグループまたはユーザーを追加します。詳細については、「Microsoft Entra Kerberos TGT と Active Directory アクセス制御」を参照してください。

Microsoft Entra シングルサインオンの構成方法

概要

Microsoft Entra シングルサインオンの構成は、以下の手順で構成されます。

-  1.  Azure および Microsoft Entra ID の構成
-  1.  [Citrix リソースおよびクライアントアプリケーションの登録](#register-citrix-applications)。
1.  Citrix リソースアプリケーションの [リモートデスクトップセキュリティ構成の有効化](#enable-remote-desktop-security-configuration)。
1.  [クライアントアプリケーションの承認](#approve-the-client-application)。
-  1.  [ユーザー同意プロンプトの非表示](#hide-the-user-consent-prompt-dialog)。
-  1.  [Kerberos サーバーオブジェクトの作成](#create-a-kerberos-server-object) (Microsoft Entra ハイブリッド参加環境のみ)。
1.  [Microsoft Entra 条件付きアクセスポリシーの確認](#review-microsoft-entra-conditional-access-policies)。
  1. Citrix の構成

各構成手順の詳細は、以下のセクションで説明します。

Azure および Microsoft Entra ID の構成

Microsoft Entra シングルサインオンを活用するには、まず Microsoft Entra ID テナントで Windows 用の Microsoft Entra 認証を許可する必要があります。これにより、ユーザーが Microsoft Entra 参加済みおよび Microsoft Entra ハイブリッド参加済みのセッションホストにサインインするために必要な認証トークンを発行できるようになります。これを実現するには、以下を行う必要があります。

  1. Microsoft Entra ID テナントに Citrix アプリケーション (リソースアプリとクライアントアプリ) を登録します。
  2. Citrix リソースアプリケーションのリモートデスクトップセキュリティ構成を有効にします。
  3. Citrix クライアントアプリケーションを Citrix リソースアプリケーションの承認済みクライアントとして追加します。
  4. [オプション] ユーザー同意プロンプトダイアログを非表示にします。
  5. Kerberos サーバーオブジェクトを作成します。
  6. Microsoft Entra 条件付きアクセスポリシーを確認します。

Azure構成を行う担当者には、最低でも以下のMicrosoft Entra組み込みロールのいずれか、または同等のロールが割り当てられている必要があります。

Azure構成を完了するには、Microsoft Graph PowerShell SDKまたはMicrosoft Graph APIGraph Explorerのようなツールと組み合わせて使用する必要があります。PowerShellとGraph Explorerの両方で構成を完了する方法の手順が提供されています。

Microsoft Graph PowerShell SDKを使用することを選択した場合、以下の点に注意してください。

Citrixアプリケーションの登録

AzureテナントにCitrix ResourceアプリケーションとCitrix Clientアプリケーションを登録する必要があります。

以下の同意URLを使用して、アプリケーションを登録できます。まずリソースアプリを、次にクライアントアプリを登録してください。

  • Citrix Cloud 米国、EU、APS
    • リソースアプリ: https://login.microsoftonline.com/common/adminconsent?client_id=3a510bb1-e334-4298-831e-3eac97f8b26c
    • クライアントアプリ: https://login.microsoftonline.com/common/adminconsent?client_id=85651ebe-9a8e-49e4-aaf2-9274d9b6499f
  • Citrix Cloud 日本
    • リソースアプリ: https://login.microsoftonline.com/common/adminconsent?client_id=0027603f-364b-40f2-98be-8ca4bb79bf8b
    • クライアントアプリ: https://login.microsoftonline.com/common/adminconsent?client_id=0fa97bc0-059c-4c10-8c54-845a1fd5a916

以下は、アプリケーションの権限です。

Citrixリソースアプリケーション

アプリケーションは以下の権限で作成されます。

API名 要求値 権限 タイプ
Microsoft Graph User.Read サインインしてユーザープロファイルを読み取る Delegated

Citrix Cloud 米国、EU、APSの場合、アプリケーションはCitrix-Workspace-Resource (アプリケーションID 3a510bb1-e334-4298-831e-3eac97f8b26c) と呼ばれます。

Citrix Cloud 日本の場合、アプリケーションはCitrix-Workspace-Resource-JP (アプリケーションID 0027603f-364b-40f2-98be-8ca4bb79bf8b) と呼ばれます。

Citrixクライアントアプリケーション

アプリケーションは以下の権限で作成されます。

-  | API名 | 要求値 | 権限 | タイプ |
-  | -- | -- | -- | -- | | Citrix-Workspace-Resource | user\_impersonation | Citrix Entra ID SSO | Delegated | | ^^ Citrix-Workspace-Resource-JP | ^^ | ^^ | ^^ | | Microsoft Graph | User.Read | サインインしてユーザープロファイルを読み取る | Delegated |

Citrix Cloud 米国、EU、APSの場合、アプリケーションはCitrix-Workspace (アプリケーションID 85651ebe-9a8e-49e4-aaf2-9274d9b6499f) と呼ばれます。

Citrix Cloud 日本の場合、アプリケーションはCitrix-Workspace-JP (アプリケーションID 0fa97bc0-059c-4c10-8c54-845a1fd5a916) と呼ばれます。

リモートデスクトップセキュリティ構成の有効化

Citrixリソースアプリケーションでリモートデスクトップセキュリティ構成を有効にするには、PowerShellまたはGraph Explorerのいずれかの方法を使用する必要があります。両方の手順が含まれていますが、いずれか一方のみを実行すれば十分です。

PowerShell
  1. AuthenticationおよびApplication Microsoft Graphモジュールをインポートし、Application.Read.AllおよびApplication-RemoteDesktopConfig.ReadWrite.AllスコープでMicrosoft Graphに接続します。

    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Applications
    Import-Module Microsoft.Graph.Beta.Applications
    Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
    <!--NeedCopy-->
    
  2. アプリ登録に関連付けられているサービスプリンシパルのオブジェクトIDを取得します。

    Citrix Cloud 米国、EU、APS

    $CtxResourceSpId = (Get-MgServicePrincipal -Filter "AppId eq '3a510bb1-e334-4298-831e-3eac97f8b26c'").Id
    $CtxClientSpId = (Get-MgServicePrincipal -Filter "AppId eq '85651ebe-9a8e-49e4-aaf2-9274d9b6499f'").Id
    <!--NeedCopy-->
    
  • Citrix Cloud 日本

    ``` $CtxResourceSpId = (Get-MgServicePrincipal -Filter “AppId eq ‘0027603f-364b-40f2-98be-8ca4bb79bf8b’”).Id $CtxClientSpId = (Get-MgServicePrincipal -Filter “AppId eq ‘0fa97bc0-059c-4c10-8c54-845a1fd5a916’”).Id

  • ```

  1. プロパティisRemoteDesktopProtocolEnabledtrueに設定します。

    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $CtxResourceSpId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $CtxResourceSpId -IsRemoteDesktopProtocolEnabled
    }
    <!--NeedCopy-->
    
  2. プロパティisRemoteDesktopProtocolEnabledtrueに設定されていることを確認します。

    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $CtxResourceSpId
    <!--NeedCopy-->
    
Graph Explorer
  1. Azureポータルから、アプリ登録に関連付けられているサービスプリンシパルのオブジェクトID (OID) を取得します。
    1. Microsoft Entra ID > Enterprise Applicationsに移動します。
    2. Application typeフィルターが設定されている場合は削除し、すべてのアプリケーションが一覧表示されるようにします。
    3. Citrix-Workspace-Resource / Citrix-Workspace-Resource-JPを検索し、リソースアプリケーションの関連するオブジェクトIDをメモします。
    4. Citrix-Workspace / Citrix-Workspace-JPを検索し、クライアントアプリケーションの関連するオブジェクトIDをメモします。
  2. Graph Explorerで、必要な権限を持つターゲットのAzureテナントのアカウントでサインインします。
  3. 次のクエリを設定します。

    • HTTPリクエストメソッド: PATCH
    • Microsoft Graph APIバージョン: v1.0
    • クエリ:

       https://graph.microsoft.com/v1.0/servicePrincipals/<resourceAppOID>/remoteDesktopSecurityConfiguration
       <!--NeedCopy-->
      
    • リクエストボディ:

      ```

    • {
  • “@odata.type”: “#microsoft.graph.remoteDesktopSecurityConfiguration”,
  • “isRemoteDesktopProtocolEnabled”: true } ```

    1. Modify Permissionsタブを選択し、Application.ReadWrite.All権限に同意していることを確認します。
  1. クエリを実行します。

remoteDesktopSecurityConfiguration リソースの種類 を参照してください。

クライアントアプリケーションの承認

Citrix Resource アプリケーションで、Citrix Client アプリケーションを承認済みクライアントとして明示的に追加する必要があります。これは、PowerShell または Graph Explorer のいずれかを使用して実行できます。両方の方法の手順が提供されていますが、いずれか一方に従うだけで十分です。

PowerShell
  1. approvedClientApp オブジェクトを作成します。
  • ```

  • $acp = New-Object -TypeName Microsoft.Graph.Beta.PowerShell.Models.MicrosoftGraphApprovedClientApp $acp.Id = $CtxClientSpId

    ```

  1. クライアントアプリを approvedClientApp オブジェクトに追加します。

    New-MgBetaServicePrincipalRemoteDesktopSecurityConfigurationApprovedClientApp -ServicePrincipalId $CtxResourceSpId -BodyParameter $acp
    <!--NeedCopy-->
    

    出力は次のようになります。

    Id                                    DisplayName
    --                                    --
    87654321-wxyz-1a2b-3c4d-1029384756af  Citrix-Workspace
    
Graph Explorer
  • 次のクエリを設定して実行します。

  • HTTP リクエストメソッド: POST
  • Microsoft Graph API バージョン: beta
  • クエリ:

  • ``` https://graph.microsoft.com/beta/servicePrincipals//remoteDesktopSecurityConfiguration/approvedClientApps

  • ```

  • リクエストボディ:

     {
         "@odata.type": "#microsoft.graph.approvedClientApp",
         "id": "<clientAppOID>"
     }
     <!--NeedCopy-->
    

ユーザー同意プロンプトダイアログの非表示

既定では、Microsoft Entra シングルサインオンが有効な Microsoft Entra 参加済みまたは Microsoft Entra ハイブリッド参加済みのセッションホストに接続する際、ユーザーはリモートデスクトップ接続を許可するよう求められ、シングルサインオンを許可するために [はい] を選択する必要があります。Microsoft Entra は、最大 15 の一意のセッションホストを 30 日間記憶し、その後再度プロンプトを表示します。

ターゲットデバイスのリストを構成することで、このダイアログを非表示にできます。デバイスのリストを構成するには、Microsoft Entra ID で Microsoft Entra 参加済みおよび/または Microsoft Entra ハイブリッド参加済みのセッションホストを含む 1 つ以上のグループを作成し、その後、リソースアプリケーションでそれらのグループを承認する必要があります (最大 10 グループまで)。

グループのメンバーシップ管理を簡素化するために、動的グループを作成することを強くお勧めします。動的グループは通常 5~10 分以内に更新されますが、大規模なテナントでは最大 24 時間かかる場合があります。

動的グループには、Microsoft Entra ID P1 ライセンスまたは Intune for Education ライセンスが必要です。詳細については、「グループの動的メンバーシップルール」を参照してください。

グループが作成されたら、PowerShell または Graph Explorer のいずれかを使用してそれらを承認できます。両方の方法の手順が提供されていますが、いずれか一方に従うだけで十分です。

PowerShell
  1. リモートデスクトップ接続プロンプトを非表示にするセッションホストを含むグループのオブジェクト ID (OID) を取得します。
  2. targetDeviceGroup オブジェクトを作成します。

    $tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
    $tdg.Id = "<groupOID>"
    <!--NeedCopy-->
    
  3. クライアントアプリを approvedClientApp オブジェクトに追加します。

    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $CtxResourceSpId -BodyParameter $tdg
    <!--NeedCopy-->
    

    出力は次のようになります。

    Id                                    DisplayName
    --                                    --
    87654321-wxyz-1a2b-3c4d-1029384756af  Entra-SSO-Desktops
    
  4. 後で targetDeviceGroup オブジェクトからデバイスグループを削除する必要がある場合は、次のコマンドを実行します。

    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $CtxResourceSpId -TargetDeviceGroupId "<groupOID>"
    <!--NeedCopy-->
    
Graph Explorer

次のクエリを設定して実行します。

  • HTTP リクエストメソッド: POST
  • Microsoft Graph API バージョン: v1.0
  • クエリ:

     https://graph.microsoft.com/v1.0/servicePrincipals/<resourceAppOID>/remoteDesktopSecurityConfiguration/targetDeviceGroups
     <!--NeedCopy-->
    
  • リクエストボディ:

     {
         "@odata.type": "#microsoft.graph.targetDeviceGroup",
         "id": "<groupOID>"
     }
     <!--NeedCopy-->
    

必要に応じて、これらの手順を繰り返してグループを追加できます。最大10グループまで追加可能です。

targetDeviceGroup オブジェクトからデバイスグループを削除する必要がある場合は、以下を設定してクエリを実行します。

  • HTTP リクエストメソッド: DELETE
  • Microsoft Graph API バージョン: v1.0
  • クエリ:

     https://graph.microsoft.com/beta/servicePrincipals/<resourceAppOID>/remoteDesktopSecurityConfiguration/targetDeviceGroups
     <!--NeedCopy-->
    

詳細については、targetDeviceGroup リソースタイプを参照してください。

Kerberos サーバーオブジェクトの作成

セッションホストが Microsoft Entra ハイブリッド参加済みである場合、ユーザーアカウントとコンピューターアカウントが存在する Active Directory ドメインに Kerberos サーバーオブジェクトを構成する必要があります。詳細については、Kerberos サーバーオブジェクトの作成を参照してください。

Microsoft Entra 条件付きアクセス ポリシーの確認

Microsoft Entra 条件付きアクセス ポリシーを使用している、または使用する予定がある場合は、ユーザーが意図したサインインエクスペリエンスを得られるように、Citrix リソースアプリケーションに適用されている構成を確認してください。

DaaS 用の Microsoft Entra シングルサインオンを使用する際の条件付きアクセスの構成に関する詳細なガイダンスについては、Microsoft ドキュメントを参照してください。必要な条件付きアクセス設定は、Microsoft アプリケーションではなく、Citrix リソースアプリケーションに適用する必要があることに注意してください。

Citrix セッションホスト

セッションホストのシステム要件が満たされていることを確認してください。

  1. セッションホストが Microsoft Entra 参加済みまたは Microsoft Entra ハイブリッド参加済みであることを確認します。
  2. システム要件で指定されている必要なオペレーティングシステムのバージョンとビルドをインストールします。
  3. システム要件で指定されている必要な VDA バージョンをインストールします。

Microsoft Entra ハイブリッド参加済みセッションホスト

  • Citrix Machines Creation Services、Citrix Provisioning、または Windows 365 を使用して Microsoft Entra ハイブリッド参加済みセッションホストを展開している場合は、次のセクションに進むことができます。他のツールまたは方法を使用して Microsoft Entra ハイブリッド参加済みホストをプロビジョニングしている場合は、セッションホストに次のレジストリ値を追加する必要があります。

  • キー: HKLM\SYSTEM\CurrentControlSet\Control\Citrix
  • 値の型: DWORD
  • 値の名前: AzureADJoinType
  • データ: 1

セッションロックの動作

仮想デスクトップがロックされると、デフォルトの動作として Windows ロック画面が表示されます。この時点では、デスクトップのロック解除にサポートされている認証方法は、ユーザー名とパスワードまたはスマートカードです。

ユーザーがパスワードを知らないパスワードレス展開の場合、ロック画面を表示する代わりにセッションを切断するようにセッションロックの動作を構成することをお勧めします。

  • マルチセッションセッションホスト

    • この動作は、Intune またはグループポリシーを通じて「Microsoft ID プラットフォーム認証のロック時にリモートセッションを切断する」設定を有効にすることで構成できます。詳細な手順については、Azure Virtual Desktop のセッションロック動作を構成するを参照してください。
  • シングルセッションセッションホスト

    Microsoft ID プラットフォーム認証のロック時にリモートセッションを切断する」設定は現在サポートされていません。ただし、Windows スケジュールされたタスクを作成することで、同じ動作を実現できます。

    次のスクリプト例は、デスクトップがロックされたときに cmd.exe /c tsdiscon を実行するスケジュールされたタスクをシングルセッションホストに作成します。

     # Create the TaskService COM object
     $service = New-Object -ComObject "Schedule.Service"
     $service.Connect()
    
     # Get the root folder and create a new task definition
     $rootFolder = $service.GetFolder("\")
     $taskDef = $service.NewTask(0)
    
     # Registration info
     $taskDef.RegistrationInfo.Description = "Disconnect session when workstation is locked"
    
     # Principal (Users group, least privilege)
     $principal = $taskDef.Principal
     $principal.GroupId = "S-1-5-32-545"
     $principal.RunLevel = 0  # 0 = LeastPrivilege
    
     # Settings
     $settings = $taskDef.Settings
     $settings.Enabled = $true
     $settings.AllowDemandStart = $true
     $settings.DisallowStartIfOnBatteries = $false
     $settings.StopIfGoingOnBatteries = $false
     $settings.AllowHardTerminate = $false
     $settings.StartWhenAvailable = $false
     $settings.RunOnlyIfNetworkAvailable = $false
     $settings.IdleSettings.StopOnIdleEnd = $true
     $settings.IdleSettings.RestartOnIdle = $false
     $settings.Hidden = $false
     $settings.RunOnlyIfIdle = $false
     $settings.DisallowStartOnRemoteAppSession = $false
     $settings.UseUnifiedSchedulingEngine = $true
     $settings.WakeToRun = $false
     $settings.ExecutionTimeLimit = "PT0S"   # Unlimited
     $settings.Priority = 7
     $settings.MultipleInstances = 1         # IgnoreNew
    
     # Trigger: SessionLock
     $trigger = $taskDef.Triggers.Create(11)  # 11 = TASK_TRIGGER_SESSION_STATE_CHANGE
     $trigger.StateChange = 7                 # 7 = SessionLock
     $trigger.Enabled = $true
    
     # Action: tsdiscon
     $action = $taskDef.Actions.Create(0)     # 0 = Exec
     $action.Path = "cmd.exe"
     $action.Arguments = "/c tsdiscon"
    
     # Register the task
     $rootFolder.RegisterTaskDefinition(
         "Disconnect on Lock",  # Task name
         $taskDef,
         6,                     # TASK_CREATE_OR_UPDATE
         $null, $null,          # No specific user/password
         3                      # TASK_LOGON_GROUP
     ) | Out-Null
     <!--NeedCopy-->
    

    後でスケジュールされたタスクを削除する必要がある場合は、次のコマンドを実行できます。

     Unregister-ScheduledTask -TaskName "Disconnect on Lock" -Confirm:$false
     <!--NeedCopy-->
    

Citrix アクセスとコントロールプレーン

Workspace 認証

Citrix Workspace を構成して、Microsoft Entra ID または SAML を IdP として使用する必要があります。必要に応じて、詳細についてはCitrix Workspace ドキュメントを参照してください。

SAML を IdP として使用する予定がある場合は、SAML プロバイダーが Entra ベースの認証をサポートするように適切に構成されていることを確認する必要があります。Workspace 認証用の Microsoft Entra ID と Microsoft Entra ID を使用した SAML を参照してください。

Workspace アクセスの管理

ユーザーが Web ブラウザーを介して Citrix Workspace にアクセスする場合、追加の構成は不要です。ネイティブアクセスを強制したい場合は、ストアのアクセス構成で Citrix Workspace を「エンドユーザーに Citrix クライアントアプリからストアへのアクセスを要求する」ように構成できます。

Workspace での Microsoft Entra シングルサインオンの有効化

Citrix Workspace 認証が構成されたら、Microsoft Entra シングルサインオンの使用を有効にする必要があります。

  1. Citrix Cloud でサービスプリンシパルを作成します。
    1. [ID とアクセス管理] > [API アクセス] > [サービスプリンシパル] に移動します。
    2. [サービスプリンシパルの作成] をクリックします。
    3. サービスプリンシパルの名前を入力し、[次へ] をクリックします。
    4. サービスプリンシパルのアクセスを設定します。
      1. [フルアクセス] を選択するか、
      2. [カスタムアクセス] > [一般] > [Workspace 構成] を選択し、[次へ] をクリックします。
    5. シークレットの有効期限を設定し、[次へ] をクリックします。
    6. [完了] をクリックします。
    7. シークレットと ID の両方を保存します。
  2. Citrix Workspace PowerShell モジュールをワークステーション、または管理目的で使用できる任意のコンピューターにダウンロードして展開します。
  3. Citrix Workspace PowerShell モジュールをダウンロードしたコンピューターで PowerShell を開きます。
  4. 次のコマンドを実行します。

    Import-Module -Name “<extractedPath>\Citrix.Workspace.StoreConfigs.psm1”
    Set-StoreConfigurations -StoreUrl "https://<yourPrimaryStore>.cloud.com" -ClientId "<clientId>" -ClientSecret "<clientSecret>" -AzureAdSsoEnabled $True
    <!--NeedCopy-->
    
  5. 設定が正しく構成されたことを確認するには、次のコマンドを実行します。

    Get-StoreConfigurations -StoreUrl "https://<yourPrimaryStore>.cloud.com" -ClientId "<clientId>" -ClientSecret "<clientSecret>"
    <!--NeedCopy-->
    

デリバリーグループの構成

  1. セッションホストがMicrosoft Entraハイブリッド参加済みである場合、仮想アプリやデスクトップを適切なMicrosoft Entraユーザーまたはグループに割り当てます。Active Directoryユーザーまたはグループへの既存の割り当ては削除しても構いませんが、必須ではありません。
  2. Citrix Machine Creation Services、Citrix Provisioning、またはWindows 365以外の方法でMicrosoft Entra参加済みまたはMicrosoft Entraハイブリッド参加済みのセッションホストをプロビジョニングしている場合、デリバリーグループのログオンタイプを構成する必要があります。
    1. Citrix Remote PowerShell SDKがまだインストールされていない場合は、ダウンロードして、ワークステーションまたは管理目的で使用できる任意のコンピューターにインストールします。
    2. Citrix Remote PowerShell SDKをインストールしたマシンでPowerShellプロンプトを開きます。
    3. 次のコマンドを実行します。

      Microsoft Entra参加済み

      asnp citrix*
      Get-XDAuthentication
      Get-BrokerDesktopGroup -Name <dgName> | Set-BrokerDesktopGroup -MachineLogOnType "AzureAd"
      <!--NeedCopy-->
      

      Microsoft Entraハイブリッド参加済み

      asnp citrix*
      Get-XDAuthentication
      Get-BrokerDesktopGroup -Name <dgName> | Set-BrokerDesktopGroup -MachineLogOnType "HybridAzureAd"
      <!--NeedCopy-->
      

クライアントデバイス

クライアントデバイスのシステム要件が満たされていることを確認してください。

  1. システム要件に指定されている必要なCitrix Workspaceアプリのバージョンをインストールします。
  2. ユーザーがハイブリッドアクセスを利用する場合は、Citrix Web Extensionがインストールされていることを確認してください。ユーザーがネイティブアクセスまたはブラウザアクセスを使用する場合は、Citrix Web Extensionは不要です。

トラブルシューティング

既知の問題

  • Microsoft Entraシングルサインオンを有効にした後、ユーザーが仮想デスクトップを起動する際に、Microsoftエラー AADSTS293005 に遭遇する場合があります。これは RDP protocol is not enabled for the requested resource application. Please configure the RemoteDesktopSecurityConfiguration property on resource service principal to enable RDP protocol. と表示されます。この問題を解決するには、Citrix Workspaceアプリを再起動してください。
  • Citrix WorkspaceアプリがMicrosoft Entraシングルサインオンをサポートしていない場合、またはCitrix Web Extensionなしでハイブリッドアクセスを使用している場合、セッションの起動時に30秒の遅延が発生する可能性があります。
  • Citrix WorkspaceでMicrosoft Entraシングルサインオンが有効になっており、必要なAzure構成が完了していない場合、セッションの起動時に30秒の遅延が発生する可能性があります。

シングルサインオンの失敗時

仮想デスクトップまたはアプリケーションへのアクセス時にシングルサインオンが失敗した場合は、次のように進めます。

  1. Microsoft EntraシングルサインオンがCitrix Workspaceで有効になっていることを確認します。

  2. ユーザーが利用しているアクセス方法がサポートされていることを確認します。

  3. ユーザーがハイブリッドアクセスを利用している場合は、Citrix Web Extensionがインストールされていることを確認します。

  4. クライアントデバイスが必要なCitrix Workspaceアプリのバージョンを実行していることを確認します。

  5. セッションホストが必要なWindowsビルドを実行していることを確認します。

  6. セッションホストが必要なVDAバージョンを実行していることを確認します。

  7. セッションホストでWindows設定 Always prompt for password upon connection が有効になっていないことを確認します。この設定はデフォルトで無効になっており、グループポリシーまたはIntuneの Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security で構成できます。レジストリでこの設定が有効になっているかを確認するには、HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services の下の fPromptForPassword の値を探します。値が 1 に設定されている場合、この設定は有効であり、シングルサインオンは利用できません。値がないか 0 に設定されている場合、この設定は無効です。

  8. セッションホストで AzureADJoinType 設定が正しく構成されていることを確認します。
    • キー: HKLM\SYSTEM\CurrentControlSet\Control\Citrix
    • 値のタイプ: DWORD
    • 値の名前: AzureADJoinType
    • 値のデータ: 1 (Microsoft Entraハイブリッド参加済み); 2 (Microsoft Entra参加済み)
  9. Citrix Studioで、仮想デスクトップまたはアプリケーションがActive Directory IDではなくMicrosoft Entra IDに割り当てられていることを確認します。

  10. 次のPowerShellコマンドを実行して、デリバリーグループのログオンタイプが正しく構成されていることを確認します。

    Get-BrokerDesktopGroup -Name <deliveryGroupName>
    <!--NeedCopy-->
    

    Microsoft Entra参加済みセッションホストの場合、MachineLogOnTypeAzureAd に設定する必要があります。Microsoft Entraハイブリッド参加済みセッションホストの場合、MachineLogOnTypeHybridAzureAd に設定する必要があります。

  11. SAML IdPを使用している場合は、必要な構成が実装されていることを確認します。

  12. CitrixリソースアプリケーションとクライアントアプリケーションがMicrosoft Entraテナントに登録されていることを確認します。

  13. Citrixリソースアプリケーションでリモートデスクトップセキュリティ構成が有効になっていることを確認します。

  14. CitrixクライアントアプリケーションがCitrixリソースアプリケーションで承認されたクライアントアプリケーションとして追加されていることを確認します。

  15. セッションホストがMicrosoft Entraハイブリッド参加済みである場合、ユーザーアカウントとコンピューターアカウントが存在するActive DirectoryドメインにKerberosサーバーオブジェクトが作成されていることを確認します。
Microsoft Entra シングルサインオン