Citrix DaaS™

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

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

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

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

PowerShellとGraph Explorerの両方で構成を完了する方法が説明されています。

PowerShell構成

Microsoft Graph PowerShell SDKを使用する場合は、次の点に注意してください。

-  [Azure Cloud Shell](https://learn.microsoft.com/ja-jp/azure/cloud-shell/overview)をPowerShellターミナルタイプで使用するか、ローカルシステムで[PowerShell 7.x](https://learn.microsoft.com/ja-jp/powershell/scripting/install/installing-powershell?view=powershell-7.5)を実行し、[使用するサブスクリプションにAzureコンテキストが設定されている](https://learn.microsoft.com/ja-jp/powershell/azure/context-persistence?view=azps-14.3.0)ことを確認する必要があります。
-  [Microsoft Graph PowerShell SDK](https://learn.microsoft.com/ja-jp/powershell/microsoftgraph/installation?view=graph-powershell-1.0) v1.0モジュール (Microsoft.Graph) とベータアプリケーションモジュール (Microsoft.Graph.Beta.Applications) をインストールする必要があります。

Remote Desktop Security Configurationの有効化

Citrixアプリケーションを登録した後、CitrixリソースアプリケーションでRemote Desktop Security Configurationを有効にする必要があります。

  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 US、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 Japan

    
    $CtxResourceSpId = (Get-MgServicePrincipal -Filter "AppId eq '0027603f-364b-40f2-98be-8ca4bb79bf8b'").Id
    $CtxClientSpId = (Get-MgServicePrincipal -Filter "AppId eq '0fa97bc0-059c-4c10-8c54-845a1fd5a916'").Id
    
    <!--NeedCopy-->
    
  3. プロパティisRemoteDesktopProtocolEnabledtrueに設定します。

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

    
    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $CtxResourceSpId
    
    <!--NeedCopy-->
    

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

Citrixリソースアプリケーションで、Citrixクライアントアプリケーションを承認済みクライアントとして明示的に追加する必要があります。

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

    
    $acp = New-Object -TypeName Microsoft.Graph.Beta.PowerShell.Models.MicrosoftGraphApprovedClientApp
    $acp.Id = $CtxClientSpId
    
    <!--NeedCopy-->
    
  2. クライアントアプリをapprovedClientAppオブジェクトに追加します。

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

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

    Id                                    DisplayName
    -----------                                    -----------
    87654321-wxyz-1a2b-3c4d-1029384756af  Citrix-Workspace
    

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

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

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

注記

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

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

-  グループが作成されたら、次の手順に従います。
  1. Remote Desktop接続プロンプトを非表示にするセッションホストを含むグループのオブジェクトID (OID) を取得します。

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

    
    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $CtxResourceSpId -BodyParameter $tdg
    
    <!--NeedCopy-->
    
  • 出力は次のようになります。

  • Id DisplayName

     --                                    --
     87654321-wxyz-1a2b-3c4d-1029384756af  Entra-SSO-Desktops
    
    1. 後でtargetDeviceGroupオブジェクトからデバイスグループを削除する必要がある場合は、次のコマンドを実行します。
    
     Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $CtxResourceSpId -TargetDeviceGroupId "<groupOID>"
    
     <!--NeedCopy-->
    

注記

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

Microsoft Graph APIの構成

Remote Desktop Security Configurationの有効化

Citrixアプリケーションを登録した後、Citrix ResourceアプリケーションでRemote Desktop Security Configurationを有効にする必要があります。

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

      1. 次のクエリを設定します。
    • HTTPリクエストメソッド: PATCH
    • Microsoft Graph APIバージョン: v1.0
    • クエリ:

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

      ```

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

     <!--NeedCopy--> ```
    
  1. [Modify Permissions] タブを選択し、Application.ReadWrite.All権限に同意していることを確認します。

  2. クエリを実行します。

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

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

Citrix Resourceアプリケーションで、Citrix Clientアプリケーションを承認されたクライアントとして明示的に追加する必要があります。

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

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

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

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

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

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

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

注記

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

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

グループが作成されたら、次の手順に従います。

  1. Remote Desktop接続プロンプトを非表示にしたいセッションホストを含むグループのオブジェクトID (OID) を取得します。

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

    • 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 ResourceアプリケーションCitrix Clientアプリケーションに適用されている構成を確認してください。

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

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