Ciitrix Cloudでスコープ付きのエンティティIDを使用したSAMLアプリケーションを構成する
この記事では、同じSAMLプロバイダー内で複数のSAMLアプリケーションをプロビジョニングする方法について説明します。
Azure Active Directory(AD)、Active Directoryフェデレーションサービス(ADFS)、PingFederate、PingSSOなどの一部のSAMLプロバイダーでは、複数のSAMLアプリケーション内で同じサービスプロバイダー(SP)のエンティティIDを再利用することが禁止されています。その結果、同じSAMLプロバイダー内で2つ以上の異なるSAMLアプリケーションを作成する管理者は、それらを同じまたは異なるCitrix Cloudテナントに関連付けられません。既存のSAMLアプリケーションが既に使用している、同じSPエンティティID(https:\\saml.cloud.com
など)を使用して2番目のSAMLアプリケーションを作成しようとすると、SAMLプロバイダーでエラーがトリガーされ、エンティティIDが既に使用されていることが表示されます。
以下は、このエラーの画像です:
-
Azure Active Directoryの場合:
-
PingFederateの場合:
Citrix Cloudのスコープ付きのエンティティID機能はこの制限に対処するため、SAMLプロバイダー(Azure ADテナントなど)内に複数のSAMLアプリケーションを作成し、それを単一のCitrix Cloudテナントに関連付けられるようになります。
エンティティIDとは何ですか?
SAMLエンティティIDは、SAML認証および認証プロトコルで特定のエンティティを識別するために使用される一意の識別子です。通常、エンティティIDは、エンティティに割り当てられ、SAMLメッセージおよびメタデータで使用されるURLまたはURIです。SAMLプロバイダー内で作成した各SAMLアプリケーションは、一意のエンティティと見なされます。
たとえば、Citrix CloudとAzure AD間のSAML接続では、Citrix Cloudがサービスプロバイダー(SP)であり、Azure ADがSAMLプロバイダーです。どちらにもエンティティIDがあり、SAML接続の反対側に構成する必要があります。つまり、Citrix CloudのエンティティIDはAzure AD内で構成する必要があり、Azure ADのエンティティIDはCitrix Cloud内で構成する必要があります。
次のエンティティIDは、Citrix Cloudの汎用エンティティIDとスコープ付きのエンティティIDの例です:
- 汎用:
https://saml.cloud.com
- スコープ付き:
https://saml.cloud.com/67338f11-4996-4980-8339-535f76d0c8fb
リージョン別の汎用およびスコープ付きSPエンティティID
Citrix Cloudの既存のSAML接続(2023年11月より前に作成されたもの)は、各SAML接続とCitrix Cloudテナントに同じ汎用エンティティIDを使用します。新しいCitrix Cloud SAML接続のみが、スコープ付きエンティティIDを使用するオプションを提供します。
新しい接続にスコープ付きエンティティIDを使用することを選択した場合、既存のSAML接続は、元の汎用エンティティIDを使用して引き続き機能します。
次の表に、Citrix Cloudリージョンごとの汎用SPエンティティIDとスコープ付きSPエンティティIDを示します:
Citrix Cloudのリージョン | 汎用SPエンティティID | スコープ付きエンティティID |
---|---|---|
米国、欧州連合、アジア太平洋南部 | https://saml.cloud.com |
https://saml.cloud.com/67338f11-4996-4980-8339-535f76d0c8fb |
日本 | https://saml.citrixcloud.jp |
https://saml.citrixcloud.jp/db642d4c-ad2c-4304-adcf-f96b6aa16c29 |
自治体 | https://saml.cloud.us |
https://saml.cloud.us/20f1cf66-cfe9-4dd3-865c-9c59a6710820 |
新規および既存のSAML接続用に一意のSPエンティティIDを生成する
新しいSAML接続を作成すると、Citrix Cloudは一意のID(GUID)を生成します。スコープ付きエンティティIDを生成するには、新しい接続の作成時に [スコープ付きのSAMLエンティティIDを構成する] 設定を有効にします。
スコープ付きエンティティIDを使用するように既存のSAML接続を更新する場合は、Citrix Cloudの [IDおよびアクセス管理]>[認証] ページでSAMLプロバイダーを切断してから再接続する必要があります。Citrix Cloudでは、既存のSAML接続を直接編集することはできません。ただし、構成のクローンを作成し、そのクローンを変更することはできます。
重要:
SAML接続プロセスを完了する前に閉じると、Citrix Cloudが自動的に生成するエンティティIDが破棄されます。SAML接続プロセスを再起動すると、Citrix Cloudは新しいスコープ付きエンティティIDのGUIDを生成します。SAMLプロバイダーを構成する場合は、この新しいスコープ付きエンティティIDを使用します。スコープ付きエンティティIDを使用するために既存のSAML接続を更新する場合は、Citrix Cloudが生成するスコープ付きエンティティIDを使用して、その接続のSAMLアプリケーションを更新する必要があります。
スコープ付きエンティティIDに関するよくある質問
同じAzure ADテナント内に複数のAzure AD SAMLアプリケーションを作成し、それを1つ以上のCitrix Cloudテナントに関連付けられますか?
Citrix Cloudのスコープ付きエンティティID機能は、一部のSAMLプロバイダーが明記しているエンティティIDの重複防止の制限に対処します。この機能を使用すると、Azure ADテナント内で複数のSAMLアプリケーションをプロビジョニングし、単一のCitrix Cloudテナントのスコープ付きのエンティティIDを使用して各アプリケーションを構成できます。
同じAzure AD SAMLアプリケーションを複数のCitrix Cloudテナントに関連付けられますか?
このシナリオはCitrix Cloudのお客様にとっては一般的な状況であり、Citrixは引き続きこの機能をサポートします。このシナリオを実装するには、次の要件を満たす必要があります:
- 汎用エンティティID(
https://saml.cloud.com
など)を使用します。 - SAML接続に対してスコープ付きエンティティIDを有効にしないでください。
SAMLプロバイダー内でスコープ付きエンティティIDを使用するかどうかを決定するにはどうすればよいですか?
Citrix Cloudのスコープ付きエンティティID機能では、要件に応じて汎用エンティティIDまたはスコープ付きエンティティIDを柔軟に使用できます。必要なSAMLアプリケーションの数と所有するCitrix Cloudテナントの数を検討してください。また、各テナントが既存のSAMLアプリケーションを共有する可能性があるかどうか、または独自のスコープ付きSAMLアプリケーションを必要とするかどうかも考慮してください。
重要:
SAMLプロバイダーが同じエンティティID(
https://saml.cloud.com
など)を使用して複数のSAMLアプリケーションを作成することを既に許可している場合は、スコープ付きエンティティIDを有効にしたり、既存のSAML構成を変更したりする必要はありません。Citrix CloudまたはSAMLアプリケーションの設定を更新する必要はありません。
影響を受けるSAMLプロバイダー
次の表に、重複するエンティティIDの使用を許可または制限するSAMLプロバイダーを示します。
SAMLプロバイダー | 重複したエンティティIDのサポート |
---|---|
Azure AD(クラウド) | いいえ |
ADFS(オンプレミス) | いいえ |
PingFederate(オンプレミス) | いいえ |
PingOneSSO(クラウド) | いいえ |
Okta(クラウド) | はい |
Duo(クラウド) | はい |
OneLogin(クラウド) | はい |
影響を受けるユースケース
次の表は、ユースケースで必要なSAMLアプリケーションに基づいて、汎用エンティティIDまたはスコープ付きエンティティIDがサポートされるかどうか、およびSAMLプロバイダーが重複するエンティティIDをサポートするかどうかを示しています。
ユースケースの要件 | SAMLプロバイダーは重複したエンティティIDをサポートしていますか? | サポートされる構成 |
---|---|---|
SAMLアプリケーションは1つのみ | はい | 汎用またはスコープ付きエンティティID |
SAMLアプリケーションは1つのみ | いいえ | 汎用またはスコープ付きエンティティID |
2つ以上のSAMLアプリケーション | はい | 汎用またはスコープ付きエンティティID |
2つ以上のSAMLアプリケーション | いいえ | スコープ付きエンティティID |
ワークスペースのカスタムURLとSAMLアプリケーションのペア | はい | 汎用またはスコープ付きエンティティID |
ワークスペースのカスタムURLとSAMLアプリケーションのペア | いいえ | スコープ付きエンティティID |
同じSAMLアプリケーションを複数のCitrix Cloudテナントに関連付ける | はい | 汎用エンティティID |
同じSAMLアプリケーションを複数のCitrix Cloudテナントに関連付ける | いいえ | 汎用エンティティID |
スコープ付きのエンティティIDを使用してプライマリSAML接続を構成する
このタスクでは、プライマリSAMLアプリケーション(SAMLアプリ1)のスコープ付きエンティティIDを使用して、Citrix CloudにSAML接続を作成します。
- Citrix Cloudメニューで、[IDおよびアクセス管理] を選択します。
- [認証] タブで [SAML 2.0] を見つけて、省略記号メニューから [接続] を選択します。
- 一意のサインインURLを作成するプロンプトが表示されたら、URLに適した短い会社の識別子(
https://citrix.cloud.com/go/mycompany
など)を入力し、[保存して続行] を選択します。この識別子は、Citrix Cloud全体で一意である必要があります。 - [SAML IDプロバイダーを構成する] で、[スコープ付きのSAMLエンティティIDを構成する] を選択します。Citrix Cloudは、スコープ付きエンティティIDを自動的に生成し、エンティティID、Assertion Consumer Service、およびログアウトURLのフィールドに値を入力します。
- [Citrix CloudへのSAML接続を構成する] で、SAMLプロバイダーからの接続の詳細を入力します。
- デフォルトのSAML属性マッピングを受け入れます。
- [テストして終了] を選択します。
汎用エンティティIDを使用してプライマリSAML接続を構成する
このタスクでは、プライマリSAMLアプリケーション(SAMLアプリ1)のデフォルトの、汎用エンティティIDを使用して、Citrix CloudにSAML接続を作成します。
- Citrix Cloudメニューで、[IDおよびアクセス管理] を選択します。
- [認証] タブで [SAML 2.0] を見つけて、省略記号メニューから [接続] を選択します。
- 一意のサインインURLを作成するプロンプトが表示されたら、URLに適した短い会社の識別子(
https://citrix.cloud.com/go/mycompany
など)を入力し、[保存して続行] を選択します。この識別子は、Citrix Cloud全体で一意である必要があります。 - [SAML IDプロバイダーを構成する] で、[スコープ付きのSAMLエンティティIDを構成する] が無効になっていることを確認します。
- [Citrix CloudへのSAML接続を構成する] で、SAMLプロバイダーからの接続の詳細を入力します。
- 必要に応じて、[サービスプロバイダーのSAMLメタデータ] で [ダウンロード] をクリックして、汎用SAMLメタデータのコピーを取得します。
- デフォルトのSAML属性マッピングを受け入れます。
- [テストして終了] を選択します。
Citrix Workspaceカスタムドメインを使用してSAML接続を構成する
このセクションでは、スコープ付きエンティティIDまたは汎用エンティティIDを持つカスタムワークスペースURLを使用してSAML接続を構成する方法について説明します。
このセクションのタスクは、SAMLで使用している既存のカスタムワークスペースURLがある場合にのみ該当します。SAML認証でカスタムワークスペースURLを使用していない場合は、このセクションのタスクをスキップできます。
詳しくは、以下の記事を参照してください:
ワークスペースのカスタムURLと汎用エンティティIDを使用してSAML接続を構成する
このタスクでは、[Configure scoped Entity ID] 設定は無効になっています。
- Citrix Cloudメニューから [ワークスペース構成] を選択します。
- [カスタムワークスペースURL] で、省略記号メニューから [編集] を選択します。
- [[customerName].cloud.com URLとカスタムドメインURLの両方を使用する] を選択します。
- SAMLアプリ2の汎用エンティティID、SSO URL、およびオプションのSLO URLを入力し、SAMLプロバイダーから前にダウンロードした署名証明書をアップロードします。
- 必要に応じて、[カスタムドメインのサービスプロバイダSAMLメタデータ] で [ダウンロード] をクリックして、ワークスペースURLのSAMLアプリケーション用に汎用SAMLメタデータのコピーを取得します。
- [保存]をクリックします。
ワークスペースのカスタムURLとスコープ付きエンティティIDを使用してSAML接続を構成する
このタスクでは、[Configure scoped Entity ID] 設定は無効になっています。
- Citrix Cloudメニューから [ワークスペース構成] を選択します。
- [カスタムワークスペースURL] で、省略記号メニューから [編集] を選択します。
- [[customerName].cloud.com URLとカスタムドメインURLの両方を使用する] を選択します。
- SAMLアプリ2のスコープ付きのエンティティID、SSO URL、およびオプションのSLO URLを入力し、SAMLプロバイダーから前にダウンロードしたSAML署名証明書をアップロードします。
- [保存]をクリックします。
構成を保存すると、Citrix Cloudは正しいGUIDを含むスコープ付きSAMLメタデータを生成します。必要に応じて、ワークスペースカスタムURL SAMLアプリケーションのスコープ付きメタデータのコピーを取得できます。
- [IDおよびアクセス管理] ページでSAML接続を見つけ、省略記号メニューから [表示] を選択します。
- [カスタムドメインのサービスプロバイダSAMLメタデータ] で、[ダウンロード] をクリックします。
プライマリワークスペースURLのSAMLアプリケーションとカスタムワークスペースURLのSAMLアプリケーションの両方のSAML構成を表示する
スコープ付きSAML接続の構成の詳細を表示すると、Citrix CloudはプライマリSAMLアプリケーションとワークスペースカスタムドメインSAMLアプリケーションの両方のスコープ付きのエンティティID設定を表示します。
たとえば、スコープ付きエンティティIDが有効になっている場合、[サービスプロバイダーのエンティティID] および [カスタムドメインのサービスプロバイダエンティティID] フィールドには、Citrix Cloudが生成するスコープ付きエンティティIDが含まれます。
スコープ付きエンティティIDが無効になっている場合、[サービスプロバイダーのエンティティID] および [カスタムドメインのサービスプロバイダエンティティID] フィールドには、汎用エンティティIDが含まれます。
スコープ付きエンティティIDを既存のエンティティID値に追加することで、SAMLプロバイダー内の既存のSAMLアプリケーションを更新できます。
スコープ付きエンティティIDを使用したSAMLプロバイダー構成
スコープ付きエンティティIDを使用してCitrix CloudでSAML接続を構成した後、スコープ付きエンティティIDをSAMLプロバイダーに追加できます。
このセクションには、Azure ADとPingFederateの構成例が含まれています。
スコープ付きエンティティIDを使用したAzure AD SAML構成
この例では、Citrix Cloudのスコープ付きエンティティIDがAzure ADの [Identifier] フィールドに入力されます。
スコープ付きエンティティIDを使用したPingFederate SAML構成
この例では、Citrix Cloudのスコープ付きエンティティIDと汎用エンティティIDが、それぞれ [Partner’s Entity ID] フィールドと [Base URL] フィールドに入力されます。
トラブルシューティング
SAML構成に関する問題のトラブルシューティングには、SAML-tracerブラウザー拡張機能を使用することをお勧めします。この拡張機能は、Base64でエンコードされた要求と応答をSAML XMLにデコードすることで、人間が判読できるようにします。SAML-tracer拡張機能を使用すると、Citrix Cloud(サービスプロバイダー)が生成してSAMLプロバイダー(IDプロバイダー)に送信するSSOおよびSLO SAML要求の両方を検査できます。この拡張機能では、エンティティIDのスコープ(GUID)が両方の要求に含まれているかどうかを表示できます。
- ブラウザーの拡張機能パネルから、SAML-tracer拡張機能をインストールして有効にします。
- SAMLサインインおよびサインアウト操作を実行し、SAML-tracer拡張機能を使用してフロー全体をキャプチャします。
-
SAML SSO要求またはSLO要求内で次の行を見つけます。
<saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">https://saml.cloud.com/cfee4a86-97a8-49cf-9bb6-fd15ab075b92</saml:Issuer> <!--NeedCopy-->
- エンティティIDがSAMLプロバイダーアプリケーションで構成されたエンティティIDと一致することを確認します。
- スコープ付きエンティティIDが [Issuer] フィールドに存在することを確認し、SAMLプロバイダーで正しく構成されていることを確認します。
- SAML-tracerのJSON出力をエクスポートして保存します。Citrixサポートと協力して問題を解決している場合は、出力結果をCitrixサポートケースにアップロードします。
Azure ADのトラブルシューティング
問題: SLOが構成されている場合、Azure ADからのサインアウトが失敗します。Azure ADは次のエラーをユーザーに表示します:
Citrix CloudのSAML接続に対してスコープ付きエンティティIDが有効になっている場合、スコープ付きエンティティIDをSSO要求とSLO要求の両方で送信する必要があります。
原因: スコープ付きエンティティは構成されていますが、SLO要求にエンティティIDがありません。SAML-tracer出力のSLO要求にスコープ付きのエンティティIDが存在することを確認します。
オンプレミスのPingFederateのトラブルシューティング
問題: スコープ付きエンティティID設定を有効にした後、PingFederateへのサインインまたはサインアウトが失敗します。
原因: PingFederate管理者は、スコープ付きエンティティIDをSP接続ベースURLに追加しました。
この問題を修正するには、スコープ付きエンティティIDを [Partner’s EntityID] フィールドにのみ追加します。スコープ付きエンティティIDをベースURLに追加すると、不正な形式のSAMLエンドポイントになります。Citrix CloudのベースURLが誤って更新されると、ベースURLから派生した他のすべてのSAMLエンドポイントの相対URLでサインインが失敗します。
次のエンドポイントは、SAML-tracer出力に表示される可能性のある不正な形式のCitrix Cloud SAMLエンドポイントの例です:
https://saml.cloud.com/<GUID>/saml/acs
https://saml.cloud.com/<GUID>/saml/logout/callback
次の図は、誤って構成されたPingFederate SAMLアプリケーションを示しています。正しく構成されたフィールドは緑色で表示されます。正しく構成されていないフィールドは赤色で表示されます。