シトリックスクラウド™

高度なSAMLシナリオと、SAMLアサーション内でのcip_forestおよびcip_domainの適切な使用法

この記事では、複数の接続されたActive Directoryフォレストとドメインを含むCitrix Cloudまたはストアの高度なSAML構成について説明します。この記事は、複雑なAD展開を持つ大企業を対象としており、アーキテクトレベルのCitrix Cloud、IdP、およびAD管理者によって実装されるべきです。この高度なSAML構成の最も一般的な使用例は、異なるADインフラストラクチャ、複数のフォレスト、および異なるUPNを持つADバックエンドユーザーの異なる集団を持つ多くの小規模組織から大企業が形成される合併・買収シナリオです。条件付き認証も、合併・買収シナリオでしばしば必要とされます。

オプションのcip_forestおよびcip_domainクレームにより、Citrix Cloud管理者は、SAML認証中にADバックエンドユーザーアカウントを検索するためにどのCitrix Cloud Connectorが使用されるかをより詳細に制御できます。SAMLを使用するCitrix Cloudは、Okta IdPやEntra ID IdPなどの他のCitrix CloudフェデレーションOIDC認証方法では不可能な、多くの高度なアカウントマッピングユースケースをサポートしています。

前提条件

  • エンドユーザーの認証にAD IDを使用する、デフォルトのCitrix Cloud SAMLフローを使用する。
  • ADフォレストまたはドメインインフラストラクチャ、およびストアのエンドユーザーのIDがどこにあるかについて詳細に理解していること。
  • 適切なADフォレストとドメインに参加し、適切なADドメインレベルで参加しているCitrix Cloud Connector。
  • Citrix Cloudテナント内で既に構成されている既存のリソースの場所とCitrix Cloud Connectorに関する知識。
  • Citrix Cloudに接続されている複数のADフォレスト間にActive Directory信頼関係がないこと。
  • フロントエンド(Entra ID、Okta、Duo)およびバックエンドユーザー(AD)のIDが何を意味するかを理解していること。
  • フロントエンドとバックエンドのユーザーIDは、一致するUPNを介してリンクされている必要があります。一致するUPNを持たないフロントエンドとバックエンドのユーザーIDのペアをリンクすることはサポートされていません。
  • 各UPNサフィックスがActive Directory内のどこに存在するか、および特定のUPNサフィックスがあいまいであり、複数の接続されたADフォレストに存在するかどうかを理解していること。
  • DaaS VDAはADドメインに参加している必要があります。
  • DaaSアプリケーションとデスクトップはAD IDに公開されている必要があります。
  • DaaSでデリバリーグループリソースをADグループにマッピングする場合、ユニバーサルADグループは必須です。
  • DaaSデリバリーグループは「リソースの使用を制限する」に設定し、適切なユニバーサルADグループに割り当てる必要があります。DaaSデリバリーグループ内で「認証済みユーザーによるリソースの使用を許可する」を使用することはサポートされていません。

    デリバリーグループの編集

  • 適切なADフォレストに参加し、適切なADレベルでドメインに参加しているFASサーバー。DaaS起動時にADドメインに参加しているVDAへのSSONにはFASサーバーが必要です。

    フォレストのリソースロケーション

  • 複数のSAMLアプリがあり、接続されているADフォレストごとに1つのSAMLアプリが必要な場合は、条件付き認証を実装する必要がある場合もあります。合併・買収のシナリオでは、各SAMLアプリでcip_forestとcip_domainに異なる値のセットが必要になる場合があります。

よくある質問

SAMLアサーションでcip_sidを送信する場合、cip_forestとcip_domainのオプションクレームも必要か

いいえ。SAMLアプリケーションがcip_sidクレームを送信するように構成されており、それがSAMLアサーションに含まれている場合、Citrix Cloudは、ADバックエンドユーザーがどのフォレストとドメインに属しているかを常に正しく識別できます。cip_forestとcip_domainは必須ではありません。

重要:

  • SAMLアサーションでcip_sidを送信できないSAMLシナリオでは、代わりにcip_forestとcip_domainの使用が必要になる場合があります。
  • 誤ったSIDを含むフロントエンドユーザー。これは、DaaSデリバリーグループ内でマッピングされたバックエンドADユーザーのSIDと一致しません。
  • 埋め込みSIDをまったく持たないフロントエンドユーザー。例えば、ADインポートツールを介してIdP内で作成されなかったネイティブのOkta、Entra ID、またはDuoユーザーなど。

AD暗黙的UPNサフィックスとは何ですか

暗黙的UPNはActive Directoryによって自動的に作成され、ユーザーのsAMAccountNameとフォレストのDNS名に基づいています。暗黙的UPNは、sAMAccountNameとドメインのDNS名から派生するため、ADフォレスト内で常に一意です。これらはADフォレスト内で一意です。例: @rootforestdomain.local

AD明示的(ALT)UPNサフィックスとは何ですか

明示的なUPNサフィックスは、AD管理者がActive Directoryドメインと信頼関係で追加するカスタムドメイン名です。例:@rootforestdomain.local

代替UPNサフィックスリスト

代替UPNサフィックスリスト2

重要:

Windows AD PowerShellを使用すると、指定したUPNサフィックスがADフォレスト内に存在しない場合でも、任意のUPNサフィックスを持つADユーザーを作成できます。使用したい代替UPNサフィックスは、Citrix Cloud Connectorがバックエンドアカウントユーザーを検索するためにこのリストに依存するため、ADフォレスト内に存在する必要があります。上記のスクリーンショットに示されているように、代替UPNサフィックスがADフォレストで構成されていない場合、Citrix CloudはフロントエンドIDを適切なバックエンドADアカウントに一致させることができません。

UPNの曖昧さとは何ですか また、Citrix CloudとDaaSにとってなぜ問題となるのですか

UPNの曖昧さとは、Citrix Cloudに接続された2つ以上のADフォレストにduplicateuser@domain.comが存在する場合に発生する状況です。@domain.comというUPNサフィックスだけでは、duplicateuser@domain.comの2つのバージョンが存在する場合に正しいADバックエンドユーザーを特定することはできません。これにより、DaaSリソースの列挙がまったく失敗したり、ADドメイン参加済みVDAを使用して公開された誤ったDaaSリソースがストア内に表示されたりする可能性があります。

ユニバーサルADグループが要件であるのはなぜですか

ユニバーサルADグループはグローバルカタログ(GC)に保存され、フォレスト内のすべてのドメインコントローラーから参照できます。これにより、同じフォレスト内の任意のドメインにあるリソースにアクセス許可を割り当てるために使用できます。

重要:

ADユニバーサルグループの使用は、cip_forestとcip_domainを含む高度な構成だけでなく、すべてのSAML構成の要件です。グローバルなどの他のADグループタイプを使用すると、ストアでのリソース列挙が失敗する可能性があります。

ADグループスコープに関するこのMicrosoftの記事を読むことをお勧めします。

DaaSデリバリーグループ内で「認証済みユーザーがリソースを使用することを許可する」を使用することが推奨されないのはなぜですか

認証済みユーザーがリソースを使用することを許可するを構成すると、ADドメイン参加済みVDAを使用して公開されたリソースが、同じドメインおよびフォレスト内にないADユーザーIDのストア内に表示されます。フォレスト1のストアADエンドユーザーIDを使用して、フォレスト2でドメイン参加したVDAからリソースを起動することは成功しません。

SAMLアサーションでcip_forestのみ、またはcip_domainのみを送信できますか

いいえ。バックエンドユーザーの検索のために特定のADフォレストとドメインコンテキストを指定したい場合は、SAMLアサーションで両方のオプションクレームを提供する必要があります。

cip_forest の値を指定する場合、どのUPNサフィックスを使用すべきですか

ADフォレストの暗黙的なUPNサフィックスを使用する必要があります。cip_forest クレーム内で、ADフォレストに追加されたALT UPNサフィックスの値を指定しないでください。これは、Citrix Cloudに接続されている複数のADフォレストに同じALT UPNサフィックスが追加されているADトポロジが存在する可能性があるためです。暗黙的なUPNサフィックスとDNは、DC=duplicate,DC=com のような同じDNを持つ2つの異なるADフォレストがCitrix Cloudに接続されていない限り(これはありそうにないシナリオですが)、Citrix Cloudにとって曖昧になることはありません。

cip_forest と cip_domain の値は、いつ同じであるべきか、または異なるべきか

シナリオ 1: Citrix Cloud Connectorがフォレストルートレベルでドメイン参加しており、バックエンドADアカウントユーザーが接続されたADフォレスト内のルートドメイン内に存在します。

cip_domain と cip_forest は同じ値を持つ必要があります。

cip_forest = “forestrootdomain.com”

cip_domain = “forestrootdomain.com”

シナリオ 2: Citrix Cloud Connectorは、ADフォレスト階層の子ドメインにドメイン参加しています。バックエンドのADユーザーは、ADフォレスト内の「childdomain.forestrootdomain.com」内に存在します。

cip_domain と cip_forest は異なる値を持つ必要があります。

cip_forest = “forestrootdomain.com”

cip_domain = “childdomain.forestrootdomain.com”

SAMLアサーション内で cip_forest と cip_domain の値をハードコードできますか

はい、ただし、DaaSリソースにマッピングされているバックエンドADユーザーの全人口が同じADフォレストに存在する場合に限ります。cip_forest と cip_domain の値をハードコードするには、すべてのフロントエンドユーザーが、対応するバックエンドADアカウントを同じADフォレストとドメインに持つ必要があります。

SAMLアサーション内で cip_forest と cip_domain の異なる値を動的に指定できますか

はい、SAMLプロバイダーがクレーム変換ルールを通じてこれを許可している場合です。UPNサフィックスが異なるフロントエンドユーザーが複数いる場合、グループメンバーシップなどの切り替え条件を使用して、cip_forestとcip_domainの値を動的に指定することが可能です。これはEntra ID SAMLアプリケーション内で可能であり、クレーム変換ルールをサポートする他のSAML IdPでも可能である場合があります。

ADドメイン参加済みVDAへのSSON起動を成功させるには、FASサーバーをどこに配置すべきですか

FASサーバーは、バックエンドADアカウントが存在する各バックエンドADフォレスト内でドメイン参加され、構成されている必要があります。FASサーバーはADフォレストルートドメインレベルでドメイン参加させることをお勧めします。

SAMLアサーションでcip_forestとcip_domainが必要となるADトポロジ

シナリオ1:SAMLエンドユーザーのUPNが曖昧で、Citrix Cloudに接続された複数のADフォレストに存在する場合

  • Citrix Cloudテナントには、2つ以上のリソースロケーションと、Citrix Cloudに接続された複数のADフォレストまたはドメインがあります。

    フォレストリソースロケーション

  • ResourceLocation1にはシトリックス クラウド コネクタが含まれており、これらはルートフォレストレベルでAD forestrootdomain1.comにドメイン参加しています。
  • ResourceLocation2にはシトリックス クラウド コネクタが含まれており、これらはルートフォレストレベルでAD forestrootdomain2.comにドメイン参加しています。
  • forestrootdomain1.com and forestrootdomain2.com both have the same UPN @domain.com suffix.
  • forestrootdomain1.comとforestrootdomain2.com内には、同じUPN duplicateuser@domain.com を持ちながらSIDとOIDの値が異なる重複ユーザーも存在する可能性があります。

問題: username@duplicatesuffix.com を使用して正しいバックエンドADアカウントを検索しようとしても、UPNの曖昧さにより、常に正しいADバックエンドユーザーが返されるとは限りません。Citrix CloudはどのADフォレストとCitrix Cloud Connectorを使用すべきかを判断できないため、ストアに誤ったDaaSリソースが表示されたり、DaaSリソースがまったく返されない場合があります。

解決策: 接続されているADフォレストごとに2つの異なるSAMLアプリケーションを構成し、SAMLアサーションに正しいADフォレストに対応するcip_domainとcip_forestの値を含めます。これにより、Citrix Cloudは追加のフォレストとドメインのコンテキストを得て、username@duplicatesuffix.com が複数の接続されたフォレストに存在する場合でも、正しいバックエンドADユーザーが「検索される」ことを保証します。

SAML App 1 forestrootdomain1.com:

フォレストルートドメイン1

SAML App 2 forestrootdomain2.com:

フォレストルートドメイン2

適切なADバックエンドグループを使用して、2つのDaaSデリバリーグループを正しくマッピングします。

シナリオ2:子ドメインレベルで結合されたCloud Connectorと子ドメインレベルのストアユーザー

Citrix Cloudテナントには、推奨される「forestrootdomain.com」レベルではなく、「childdomain.forestrootdomain.com」レベルでドメイン参加している2つのCitrix Cloud Connectorを含むリソースの場所があります。ストアユーザーはchilddomain.forestrootdomain.com子ドメイン内に存在します。ユーザーは、username@forestrootdomain.comのようなルートドメインUPNサフィックスを使用するように構成されています。

問題: Citrix Cloudは「forestrootdomain.com」を使用してADアカウントのルックアップを実行しますが、これは接続されたADドメインと一致しません。

解決策: SAMLアサーションで子ドメインコンテキストを指定して、ADアカウントユーザーが正しいAD子ドメインおよびフォレストコンテキストから「ルックアップ」されるようにします。

cip_forest = forestrootdomain.com

cip_ドメイン = childdomain.forestrootdomain.com

属性とクレーム

高度なSAMLシナリオと、SAMLアサーション内でのcip_forestおよびcip_domainの適切な使用法

この記事の概要