Citrix DaaS™

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

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

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

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

PowerShell を介して Azure 構成を完了したい場合は、Microsoft Graph PowerShell SDK を使用する必要があります。Graph Explorer のようなツールを使用して Microsoft Graph API を活用することもできます。

PowerShell と Graph Explorer の両方で構成を完了する方法の手順が提供されています。

PowerShell 構成

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

リモートデスクトップセキュリティ構成を有効にする

Citrix アプリケーションを登録 した後、Citrix リソースアプリケーションでリモートデスクトップセキュリティ構成を有効にする必要があります。

  1. 認証およびアプリケーションの Microsoft Graph モジュールをインポートし、Application.Read.AllApplication-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 を取得します。

    シトリックス クラウド 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-->
    

    シトリックス クラウド ジャパン

    $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 ハイブリッド参加済みのセッションホストに接続する際、ユーザーはリモートデスクトップ接続を許可するよう求められ、シングルサインオンを許可するために「はい」を選択する必要があります。Microsoft Entra は、再度プロンプトを表示するまで、最大15個の一意のセッションホストを30日間記憶します。

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

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

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

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

  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-->
    

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

Microsoft Graph API の構成

リモートデスクトップセキュリティ構成を有効にする

Citrixアプリケーションを(/ja-jp/citrix-daas/install-configure/session-authentication/entra-sso#register-citrix-applications)登録した後、Citrixリソースアプリケーションでリモートデスクトップセキュリティ構成を有効にする必要があります。

  1. Azureポータルから、アプリ登録に関連付けられているサービスプリンシパルのオブジェクトID (OID) を取得します。
    1. Microsoft Entra ID > エンタープライズ アプリケーション に移動します。
    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
       }
       <!--NeedCopy-->
      
  4. Modify Permissions タブを選択し、Application.ReadWrite.All 権限に同意していることを確認します。

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

詳細については、「remoteDesktopSecurityConfiguration リソースの種類」を参照してください。

クライアントアプリケーションを承認する

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

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

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

     https://graph.microsoft.com/v1.0/servicePrincipals/<resourceAppOID>/remoteDesktopSecurityConfiguration/approvedClientApps
     <!--NeedCopy-->
    
  • リクエスト本文:

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

ユーザー同意プロンプトダイアログを非表示にする

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

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

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

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

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

  1. リモートデスクトップ接続プロンプトを非表示にしたいセッションホストを含むグループのオブジェクト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 application および Citrix Client application に適用されている構成を確認してください。

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

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