シトリックスクラウド™

ストア認証用のゲストおよびB2B IDにEntra IDを使用するSAML

この記事に従う前に、B2B SAMLが認証ユースケースに適しているかどうかを理解することが不可欠です。この特定の特殊なSAMLソリューションを実装することを決定する前に、ユースケースの説明とFAQをよく読んでください。続行する前に、B2B SAMLが適切なシナリオと、使用する必要があるIDの種類を完全に理解していることを確認してください。

前提条件

  • SAMLアサーション内で認証のためにcip_upnのみを送信する、B2B SAMLでの使用のために特別に構成されたSAMLアプリケーション。
  • SAMLプロバイダー内のフロントエンドユーザー。
  • ADシャドウアカウントが作成されるADフォレストとドメインに結合されたCitrix Cloud™コネクタのペアを含むリソースの場所。
  • 暗黙的なUPNを使用するか、ADシャドウアカウントが作成されるバックエンドADフォレストに代替UPNサフィックスを追加します。
  • UPNが一致するバックエンドADシャドウアカウント。
  • ADシャドウアカウントユーザーにマッピングされたDaaSまたはCVADリソース。
  • 同じリソースの場所にリンクされた1つ以上のFASサーバー。

よくある質問

B2B SAMLを使用する必要があるのはなぜですか

大規模な組織が請負業者や一時的な従業員をIDプラットフォームに招待することは非常によくあります。その目的は、請負業者のメールアドレスや組織外のメールアドレスなど、ユーザーの既存のIDを使用して、請負業者にストアへの一時的なアクセスを許可することです。B2B SAML を使用すると、DaaSリソースが公開されているADドメイン内に存在しないネイティブまたはゲストのフロントエンドIDを使用できます。

B2B SAMLとは何ですか

AD属性 SAMLアサーションのデフォルト属性名
ユーザープリンシパル名 シーアイピー_アップエヌ
メール シーアイピー_Eメール
オブジェクトエスアイディー シーアイピー_エスアイディー
オブジェクトジーユーアイディー シーアイピー_オーアイディー

認証に必要な他の3つのADユーザー属性であるobjectSID、objectGUID、およびmailは、ADシャドウアカウントが存在するADドメインに結合されたCitrix Cloudコネクタを使用して取得されます。これらは、ストアまたはCitrix CloudのSAMLサインインフロー中にSAMLアサーションに含める必要がなくなりました。

AD属性 SAMLアサーションのデフォルト属性名
ユーザープリンシパル名 シーアイピー_アップエヌ

重要:

B2B SAMLを含むすべてのSAMLフローでdisplayNameを送信する必要があります。displayNameは、ストアUIがストアユーザーのフルネームを正しく表示するために必要です。

ネイティブSAMLユーザーIDとは何ですか

ネイティブSAMLユーザーとは、Entra IDやOktaなどのSAMLプロバイダーディレクトリ内にのみ存在するユーザーIDです。これらのIDは、Entra ID ConnectのようなAD同期ツールを介して作成されていないため、オンプレミスのユーザー属性を含みません。DaaSリソースを列挙して起動できるようにするには、対応するADバックエンドシャドウアカウントが必要です。ネイティブSAMLユーザーは、Active Directory内の対応するアカウントにマッピングする必要があります。

ネイティブサンプル(/ja-jp/citrix-cloud/media/native-sample.png)

オンプレミスネイティブサンプル(/ja-jp/citrix-cloud/media/native-sample-on-prem.png)

他のEntra IDテナントからインポートされたB2Bユーザーとは何ですか

B2Bユーザーとは、Entra IDテナント1のメンバーとして存在し、Entra IDテナント2などの他のEntra IDテナントにゲストユーザーとして招待されるEntra IDユーザーです。B2B SAMLアプリはEntra IDテナント2内で構成され、SAML IdPとしてCitrix Cloudに接続されます。B2BユーザーがDaaSリソースを列挙して起動できるようにするには、対応するADバックエンドシャドウアカウントが必要です。B2Bユーザーは、Active Directory内の対応するシャドウアカウントにマッピングする必要があります。

B2Bユーザーの詳細、および他のEntra IDテナントのメンバーユーザーをゲストユーザーとして自身のEntra IDテナントに招待する方法については、Microsoftのドキュメントを参照してください。

概要: 従業員向けの外部ゲストとのB2Bコラボレーション Microsoft Entra B2Bコラボレーションユーザーのプロパティ

ADバックSAMLユーザーIDとは

ADバックSAMLユーザーとは、Entra IDやOktaなどのSAMLプロバイダーディレクトリ内、およびオンプレミスのADフォレスト内にも存在するユーザーIDです。これらのIDは、Entra ID ConnectのようなAD同期ツールを介して作成されるため、オンプレミスのユーザー属性を含みます。これらのユーザーはオンプレミスのSIDとOIDを含むため、ADバックエンドシャドウアカウントは必要ありません。そのため、ADドメイン参加済みVDAを使用して公開されたDaaSリソースを列挙して起動できます。

ADを基盤とするSAML(/ja-jp/citrix-cloud/media/ad-backed-sample.png)

ADを基盤とするSAMLユーザーID(/ja-jp/citrix-cloud/media/ad-backed-sample-ui.png)

フロントエンドIDとは

フロントエンドIDとは、SAMLプロバイダーとストアの両方にサインインするために使用されるIDです。フロントエンドIDは、SAMLプロバイダー内でどのように作成されたかによって、異なるユーザー属性を持ちます。

  1. ネイティブSAMLユーザーID
  2. ADを基盤とするSAMLユーザーID

SAMLプロバイダーは、これら2種類のIDが混在している場合があります。たとえば、IDプラットフォーム内に契約社員と正社員の両方がいる場合、B2B SAML は両方のタイプのフロントエンドIDで機能しますが、ネイティブSAMLユーザーIDタイプのアカウントがある場合にのみ必須となります。

フロントエンドID

バックエンドADシャドウアカウントとは何ですか

バックエンドADシャドウアカウントは、DaaSで使用されるADアカウントであり、SAMLプロバイダー内の対応するフロントエンドIDにマッピングされます。

バックエンドADシャドウアカウントが必要なのはなぜですか

ADドメイン参加済みVDAを使用して公開されたDaaSまたはCVADリソースを列挙するには、VDAが参加しているActive Directoryフォレスト内のADアカウントが必要です。DaaSデリバリーグループ内のリソースをシャドウアカウントユーザーにマッピングし、VDAを参加させたADドメイン内のシャドウアカウントを含むADグループにマッピングします。

重要:

ADドメイン属性を持たないネイティブSAMLユーザーのみが、一致するADシャドウアカウントを必要とします。フロントエンドIDがActive Directoryからインポートされている場合、B2B SAML を使用する必要はなく、バックエンドADシャドウアカウントを作成する必要もありません。

フロントエンドIDを対応するバックエンドADシャドウアカウントにリンクするにはどうすればよいですか

フロントエンドIDとバックエンドIDをリンクする方法は、一致するUPNを使用することです。リンクされた2つのIDは、ストアがそれらがストアにサインインし、DaaSリソースを列挙および起動する必要がある同じエンドユーザーを表していると判断できるように、同一のUPNを持つ必要があります。

重要

単一のフロントエンドIDは、1つのADフォレスト/ドメイン内の単一のバックエンドIDにのみマッピングできます。DaaSリソースの列挙は、適切なCitrix Cloudコネクタによって実行されるADシャドウアカウントルックアップから取得された1つのSID値のみを使用して行われます。同じUPNサフィックスを持つ複数のADシャドウアカウントに一致する単一のフロントエンドユーザーを使用して、1対多の関係を作成することはできません。バックエンドADシャドウアカウントは、単一のADフォレスト/ドメイン内にのみ存在する必要があります。

フロントエンドIDとバックエンドID間の明確なUPNマッチングを使用したサポート フロントエンドユーザー (user@yourforest.com) > ADフォレスト1のバックエンドユーザー (UPN user@yourforest.com)

1つのフロントエンドを1つのバックエンドIDに一致させようとするとUPNの曖昧さがあるため、サポートされていません。 フロントエンドユーザー (user@yourforest1.com) > ADフォレスト1のバックエンドユーザー (UPN user@yourforest1.com) > ADフォレスト2のバックエンドユーザー (UPN user@yourforest1.com)

B2B SAML の認証において Citrix FAS は必要となりますか

はい。ストアにサインインするためにフェデレーション認証方法を使用する場合、起動時にVDAへのSSONのためにFASが必要です。

「SID不一致の問題」とは何ですか。また、それはいつ発生しますか

「SID不一致の問題」は、SAMLアサーションにフロントエンドユーザーのSIDが含まれており、それがADシャドウアカウントユーザーのSIDと一致しない場合に発生します。これは、SAMLプロバイダーにサインインするアカウントがオンプレミスのSIDを持っており、それがシャドウアカウントユーザーのSIDと同じではない場合に発生する可能性があります。これは、フロントエンドIDがEntra ID ConnectのようなAD同期ツールによってプロビジョニングされ、シャドウアカウントが作成されたADフォレストとは異なるADフォレストからである場合にのみ発生します。

B2B SAML は「SID不一致の問題」の発生を防ぎます。正しいSIDは、バックエンドADドメインに参加しているCitrix Cloudコネクタを介して、常にシャドウアカウントユーザーに対してフェッチされます。シャドウアカウントユーザーの検索は、フロントエンドユーザーのUPNを使用して実行され、その後、対応するバックエンドシャドウアカウントユーザーと照合されます。

SID不一致問題の例: フロントエンドユーザーはEntra ID Connectによって作成され、ADフォレスト1から同期されています。 S-1-5-21-000000000-0000000000-0000000001-0001

バックエンドシャドウアカウントユーザーADフォレスト2内に作成され、DaaSリソースにマッピングされています。 S-1-5-21-000000000-0000000000-0000000002-0002

SAMLアサーションには4つのcip_*属性がすべて含まれており、cip_sidには値 S-1-5-21-000000000-0000000000-0000000001-0001 が含まれていますが、これはシャドウアカウントのSIDと一致せず、エラーをトリガーします。

外部ゲストアカウント向けにEntra ID内でB2B SAMLアプリケーションを構成する

  1. Azureポータルにサインインします。
  2. ポータルメニューから、Entra IDを選択します。
  3. 左ペインの管理の下で、エンタープライズアプリケーションを選択します。
  4. 独自のアプリケーションを作成を選択します。
  5. SAMLアプリケーションに Citrix Cloud SAML SSO Production B2B SAML UPN Only のような適切な名前を入力します。

    独自のアプリケーションを作成する

  6. 左側のナビゲーションペインからシングルサインオンを選択し、作業ペインからSAMLをクリックします。
  7. 基本的なSAML構成セクションで、編集をクリックし、次の設定を構成します。
    1. 識別子 (エンティティID) セクションで、識別子の追加を選択し、Citrix Cloudテナントが配置されているリージョンに関連付けられた値を入力します。
      • ヨーロッパ、米国、およびアジア太平洋南部リージョンの場合は、https://saml.cloud.comを入力します。
      • 日本リージョンの場合は、https://saml.citrixcloud.jpを入力します。
      • Citrix Cloud Government リージョンについては、https://saml.cloud.usを入力します。
    2. 応答URL (Assertion Consumer Service URL) セクションで、応答URLの追加を選択し、Citrix Cloudテナントが配置されているリージョンに関連付けられた値を入力します。
      • ヨーロッパ、米国、およびアジア太平洋南部リージョンの場合は、https://saml.cloud.com/saml/acsを入力します。
      • 日本リージョンの場合は、https://saml.citrixcloud.jp/saml/acsを入力します。
      • Citrix Cloud Government リージョンについては、https://saml.cloud.us/saml/acsと入力してください。
    3. サインオンURLセクションで、ストアURLを入力します。
    4. ログアウトURL (オプション) セクションで、Citrix Cloudテナントが配置されているリージョンに関連付けられた値を入力します。
      • ヨーロッパ、米国、およびアジア太平洋南部リージョンの場合は、https://saml.cloud.com/saml/logout/callbackを入力します。
      • 日本リージョンの場合は、https://saml.citrixcloud.jp/saml/logout/callbackを入力します。
      • Citrix Cloud Government リージョンについては、https://saml.cloud.us/saml/logout/callbackと入力してください。
    5. コマンドバーから、[保存] をクリックします。[基本的な SAML 構成] セクションは次のように表示されます。

      基本的な SAML 構成

  8. [属性とクレーム] セクションで、[編集] をクリックして次のクレームを構成します。SAML アプリケーションの作成後、次の属性を構成します。

    1. 一意のユーザー識別子 (Name ID) クレームの場合、名前識別子形式を未指定に設定し、そのソース属性を user.localuserprincipalname に設定します。
    2. cip_upn クレームの場合、デフォルト値の user.localuserprincipalname をそのままにします。
    3. displayName の場合、デフォルト値の user.displayname をそのままにします。
    4. givenName クレームの場合、デフォルト値を user.givenname に更新します。
    5. familyName クレームの場合、デフォルト値を user.surname に更新します。
    6. [追加のクレーム] セクションで、http://schemas.xmlsoap.org/ws/2005/05/identity/claims 名前空間を持つ残りのクレームについては、省略記号 (…) ボタンをクリックし、[削除] をクリックします。これらのクレームは上記のユーザー属性の重複であるため、含める必要はありません。

      完了すると、[属性とクレーム] セクションは以下のように表示されます。

      属性とクレーム

    7. このサードパーティのオンラインツール を使用して、Citrix Cloud SAML 署名証明書のコピーを取得します。
    8. URL フィールドに https://saml.cloud.com/saml/metadata を入力し、[読み込み] をクリックします。

    強調表示された削除メニュー

  9. ページの一番下までスクロールし、ダウンロードをクリックします。

    メタデータ証明書をダウンロード(/ja-jp/citrix-cloud/media/metadata_cert_download.png)

    証明書をダウンロード(/ja-jp/citrix-cloud/media/certificate_download.png)

  10. Entra ID SAMLアプリケーションの署名設定を構成します。
  11. 手順10で取得した本番SAML署名証明書をEntra ID SAMLアプリケーション内にアップロードします。
    1. 検証証明書を要求するを有効にします。

    検証証明書(/ja-jp/citrix-cloud/media/verification_cert.png)

    検証証明書(/ja-jp/citrix-cloud/media/saml_certificate.png)

シトリックスクラウド B2B SAML接続の構成

デフォルトでは、Citrix CloudはSAMLアサーションにcip_upn、cip_email、cip_sid、cip_oidが存在することを期待し、これらの属性が送信されない場合、SAMLサインインは失敗します。これを防ぐには、新しいSAML接続を作成する際に、これらの属性のチェックを削除します。

  1. デフォルト設定を使用して新しいSAML接続を作成します。
  2. 下部にあるSAML属性マッピング構成セクションに移動し、新しいSAML構成を保存する前に変更を加えます。
  3. cip_emailcip_sidcip_oidの各フィールドからSAML属性名を削除します。
  4. cip_upnをそのフィールドから削除しないでください。
  5. 他の属性をそれぞれのフィールドから削除しないでください。displayNameはストアUIで引き続き必要であり、変更しないでください。

B2B SAML接続のユーザープリンシパル名(/ja-jp/citrix-cloud/media/simplified-saml-connection-upn.png)

ADシャドウアカウントのリソースの場所とコネクタを構成する

バックエンドシャドウアカウントADフォレスト内に、リソースの場所とコネクタのペアが必要です。SAMLアサーション内でcip_upnのみが直接提供される場合、Citrix Cloudは、シャドウアカウントのユーザーIDと、cip_email、cip_sid、cip_oidなどの属性を検索するために、このADフォレスト内にコネクタを必要とします。

  1. バックエンドシャドウアカウントADフォレストに結合されたCitrix Cloudコネクタを含む新しいリソースの場所を作成します。

    ADシャドウアカウント

  2. 使用するバックエンドADシャドウアカウントを含むADフォレストと一致するように、リソースの場所に名前を付けます。
  3. 新しく作成されたリソースの場所内に、Citrix Cloudコネクタのペアを構成します。

ccconnector1.shadowaccountforest.com ccconnector2.shadowaccountforest.com

バックエンドADフォレスト内でFASを構成する

請負業者のフロントエンドユーザーは、FASを確実に必要とします。DaaSの起動中、請負業者のユーザーはADシャドウアカウントのパスワードを知らない可能性が高いため、起動を完了するためにWindows資格情報を手動で入力することはできません。

  1. シャドウアカウントが作成されたバックエンドADフォレスト内に、1つ以上のFASサーバーを構成します。
  2. シャドウアカウントが作成されたバックエンドADフォレストに結合されたCitrix Cloudコネクタのペアを含む同じリソースの場所に、FASサーバーをリンクします。

FASを構成する

ADドメイン内で代替UPNサフィックスを構成する

重要:

UPNはユーザーのメールアドレスと同じではありません。多くの場合、使いやすさのために同じ値が使用されますが、UPNとメールは異なる値を持つことが多く、異なるActive Directory属性および異なるEntra IDユーザー属性で定義されます。このソリューションは、メールの一致ではなく、フロントエンドとバックエンドのID間のUPNの一致に依存します。

DNSでパブリックにルーティング可能な場合は、ドメインの暗黙的なUPNサフィックスを使用できます。または、OktaまたはEntra IDテナントに招待したいすべての外部フロントエンドユーザーに対して、一致する代替UPNサフィックスを追加できます。ADが暗黙的なUPNとしてyourdomain.localを使用している場合、yourdomain.comのような代替UPNサフィックスを選択する必要があります。Entra IDでは、カスタムドメイン名内にyourdomain.localを追加することはできません。

例えば、外部ユーザーcontractoruser@hotmail.co.ukを招待し、これをバックエンドのADシャドウアカウントcontractoruser@yourforest.comに関連付けたい場合、ADフォレスト内にyourforest.comを代替UPNサフィックスとして追加します。

Active Directoryドメインと信頼UIを使用してActive Directoryに代替UPNサフィックスを追加する

  1. バックエンドADフォレスト内のドメインコントローラーにサインインします。
  2. ファイル名を指定して実行」ダイアログを開き、domain.mscと入力して、OKをクリックします。
  3. Active Directoryドメインと信頼ウィンドウで、Active Directoryドメインと信頼を右クリックし、プロパティを選択します。
  4. UPNサフィックスタブの「代替UPNサフィックス」ボックスに代替UPNサフィックスを追加し、追加を選択します。

    ADドメインと信頼UI

  5. OKをクリックします。

PowerShellを使用してバックエンドADフォレストのUPNサフィックスを管理する

必要なシャドウアカウントUPNを作成するために、バックエンドADフォレストに多数の新しいUPNサフィックスを追加する必要がある場合があります。バックエンドADフォレストに追加する必要がある代替UPNサフィックスの数は、SAMLプロバイダーテナントに招待する外部ユーザーの数によって異なります。

多数の新しい代替UPNサフィックスを作成する必要がある場合に、これを実現するためのPowerShellを以下に示します。

# Get the list of existing ALT UPN suffixes within your AD Forest
(Get-ADForest).UPNSuffixes

# Add or remove ALT UPN Suffixes
$NewUPNSuffixes = @("yourforest.com","externalusers.com")

# Set action to "add" or "remove" depending on the operation you wish to perform.
$Action = "add"
foreach($NewUPNSuffix in $NewUPNSuffixes)
{
    Get-ADForest | Set-ADForest -UPNSuffixes @{ $Action=$NewUPNSuffix }
}
<!--NeedCopy-->

バックエンドADフォレスト内でADシャドウアカウントを構成する

  1. 新しいADシャドウアカウントユーザーを作成します。
  2. ADフォレストの暗黙的なUPN(yourforest.localなど)は、新しいADユーザーに対してデフォルトで選択されます。以前に作成した適切な代替UPNサフィックスを選択してください。たとえば、シャドウアカウントユーザーのUPNサフィックスとしてyourforest.comを選択します。

    新しいオブジェクトユーザー

    シャドウアカウントユーザーのUPNは、PowerShellを介して更新することもできます。

    Set-ADUser "contractoruser" -UserPrincipalName "contractoruser@yourforest.com"
    <!--NeedCopy-->
    

    重要

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

  3. シャドウアカウントユーザーのUPNは、外部のフロントエンドIDユーザーのUPNと完全に一致する必要があります。
  4. フロントエンドユーザーのストアへのサインインをテストします。
  5. サインインが成功した後、ストアにすべての予期されるリソースが列挙されていることを確認します。ADシャドウアカウントにマッピングされたリソースが表示されるはずです。

ゲストEntra IDユーザーのUPNをADシャドウアカウントのUPNと一致するように構成する

外部ゲストユーザーがEntra IDテナントに招待されると、ユーザーが外部であることを示す自動生成されたUPNが作成されます。外部Entra IDユーザーには、B2B SAMLでの使用には不適切であり、ADシャドウアカウントと一致しない@Entra IDtenant.onmicrosoft.com UPNサフィックスが自動的に割り当てられます。これは、Entra ID内のインポートされたDNSドメインと、ADフォレスト内に作成した代替UPNサフィックスに一致するように更新する必要があります。

  1. ADフォレストに追加した代替UPNサフィックスと一致するカスタムドメインをEntra IDにインポートします。

    カスタムドメイン名

  2. contractoruser@hotmail.co.ukのようなゲストユーザーを招待し、招待されたゲストユーザーがEntra IDテナントへのMicrosoft招待を受け入れることを確認します。

    Microsoftによって生成された外部ゲストユーザーUPN形式の例。 contractoruser_hotmail.co.uk#EXT#@yourEntra IDtenant.onmicrosoft.com

    MD オムニソフト

    MDゲスト

    重要:

    Citrix Cloudとストアは、SAML認証に#文字を含むUPNを使用できません。

  3. Entra IDユーザーを管理できるように、必要なAzure PowerShell Graphモジュールをインストールします。

    Install-Module -Name "Microsoft.Graph" -Force
    Get-InstalledModule -Name  "Microsoft.Graph"
    <!--NeedCopy-->
    
  4. グローバル管理者アカウントを使用し、Directory.AccessAsUser.AllスコープでEntra IDテナントにサインインします。

    重要:

    権限の低いアカウントを使用した場合、またはDirectory.AccessAsUser.Allスコープを指定しなかった場合、ステップ4を完了してゲストユーザーのUPNを更新することはできません。

    Connect-MgGraph -Scopes Directory.AccessAsUser.All
    <!--NeedCopy-->
    
  5. ADシャドウアカウント用に構成したUPNと一致するUPNでEntra IDユーザーを更新します。

    $GuestUserId = (Get-MgUser -UserId "contractoruser_hotmail.co.uk#EXT#@yourentraidtenant.onmicrosoft.com").Id
    Update-MgUser -UserId $GuestUserId -UserPrincipalName "contractoruser@your.com"
    <!--NeedCopy-->
    
  6. Entra IDテナント内の外部ゲストユーザーの全リストを取得します (オプション)。

    外部ゲストユーザー

    Get-MgUser -filter "userType eq 'Guest'" | Select Id,DisplayName,UserPrincipalName,Mail
    <!--NeedCopy-->
    
  7. UPNの更新が必要なゲストユーザーIDを取得し、そのUPNサフィックスを更新します。

    $GuestUserId = (Get-MgUser -UserId "contractoruser_hotmail.co.uk#EXT#@yourEntra IDtenant.onmicrosoft.com").Id
    
    Update-MgUser -UserId $GuestUserId -UserPrincipalName "contractoruser@yourforest.com"
    <!--NeedCopy-->
    
  8. 新しく更新されたUPNを使用してゲストユーザーIDが見つけられることを確認します。

    Get-MgUser -UserId "contractoruser@yourforest.com"
    <!--NeedCopy-->
    

B2B SAMLソリューションのテスト

AD、Citrix Cloud、およびSAMLプロバイダーで文書化されたすべての手順が完了したら、サインインをテストし、ストア内でゲストユーザーに正しいリソースリストが表示されることを確認する必要があります。

Citrixは、すべてのSAMLデバッグにSAML-tracerブラウザ拡張機能の使用を推奨しています。この拡張機能は、ほとんどの一般的なWebブラウザで利用できます。この拡張機能は、Base64エンコードされたリクエストとレスポンスをSAML XMLにデコードし、人間が読める形式にします。

SAMLトレース機能

SAMLトレーサーを使用してキャプチャされた、認証にcip_upnのみを使用するB2B SAMLアサーションの例。

企業間SAMLの例

フロントエンドのテスト

  1. 適切なDaaSリソースを、ADバックアップおよびシャドウアカウントユーザー、またはそれらを含むグループにマッピングします。

  2. SAMLトレーサーブラウザ拡張機能を起動し、ログオンおよびログオフフロー全体をキャプチャします。

  3. テストしたいフロントエンドユーザータイプに対して、テーブルで指定された属性を使用してストアにログオンします。

    ゲストEntra IDユーザーログオン: ゲストユーザーとしてEntra IDテナントに招待した請負業者ユーザーは、メールアドレス contractoruser@hotmail.co.uk を持っています。

    Entra IDによってプロンプトが表示されたら、ゲストユーザーのメールアドレスを入力します。

    または

    ADバックアップEntra IDユーザー/ネイティブEntra IDユーザーログオン: これらのEntra IDユーザーは、adbackeduser@yourforest.com または nativeuser@yourforest.com の形式のUPNを持ちます。

    Entra IDによってプロンプトが表示されたら、ユーザーのUPNを入力します。

  4. アサーションが認証のためにcip_upn属性のみを含んでおり、ストアUIで必要とされるdisplayName属性も含まれていることを確認します。

  5. ユーザーがUIで必要なDaaSリソースを表示できることを確認します。

B2B SAMLソリューションのトラブルシューティング

SAMLアサーション内で誤ったUPNが送信されている

原因: これは、Entra IDテナント1からEntra IDテナント2にインポートされたB2Bアカウントでのみ発生します。他のEntra IDテナントからインポートされたB2Bユーザーを使用すると、SAMLアサーション内で誤ったUPNが送信される可能性があります。user.userprincipalnameが使用され、エンドユーザーが別のEntra IDテナントからインポートされたB2Bユーザーでログインした場合、cip_upnの誤った値がSAMLアサーションで送信されます。SAMLアサーションで使用されるcip_upnの値は、B2Bユーザーをメンバーとして含むソースEntra IDテナントからのものになります。user.localuserprincipalnameを使用すると、cip_upnの値が、B2Bユーザーがゲストとして招待されたEntra IDテナントから取得されることが保証されます。

cip_*属性の欠落エラー

B2B SAMLソリューションのトラブルシューティング(/ja-jp/citrix-cloud/media/missing-attribute-error.png)

原因1: SAMLアサーションにSAML属性が存在しないにもかかわらず、Citrix Cloudがそれを受信することを期待するように構成されています。SAML属性セクション内のCitrix Cloud SAML接続から不要なcip_*属性を削除していません。不要なcip_*属性への参照を削除するには、SAMLを切断して再接続してください。

原因2: このエラーは、Citrix CloudコネクタがバックエンドADフォレストで検索する対応するADシャドウアカウントがない場合にも発生する可能性があります。フロントエンドIDは正しく構成されているかもしれませんが、一致するUPNを持つバックエンドADシャドウアカウントIDが存在しないか、見つからない可能性があります。

ログインは成功するが、ユーザーがストアにログインした後、DaaSリソースが表示されない

原因: これは、フロントエンドからバックエンドへのID UPNマッピングが正しくないことが原因である可能性が最も高いです。

フロントエンドとバックエンドのIDの2つのUPNが完全に一致し、ストアにログインしている同じエンドユーザーを表していることを確認してください。DaaSデリバリーグループに、正しいADシャドウアカウントユーザーまたはそれらを含むADグループへのマッピングが含まれていることを確認してください。

DaaSリソースの起動中に、ADドメインに参加しているVDAへのFAS SSONが失敗する

DaaSリソースを起動しようとすると、ストアのエンドユーザーはGINA内でWindows資格情報を入力するよう求められます。また、FASサーバーのWindowsイベントログにイベントID 103が表示されます。

[S103] サーバー [CC:FASServer] がUPN [frontenduser@yourforest.com] SID S-1-5-21-000000000-0000000000-0000000001-0001 を要求しましたが、ルックアップは SID S-1-5-21-000000000-0000000000-0000000001-0002 を返しました。[correlation: cc#967472c8-4342-489b-9589-044a24ca57d1]

原因: お客様のB2B SAML展開は「SID不一致の問題」に悩まされています。バックエンドのシャドウアカウントADフォレストとは異なるADフォレストからのSIDを含むフロントエンドIDがあります。 SAMLアサーションでcip_sidを送信しないでください。

複数の接続されたADフォレストに同じUPNサフィックスが存在する場合、ADバックアップユーザーのログオンが失敗する

Citrix Cloudには複数のリソースロケーションと、異なるADフォレストに接続されたコネクタがあります。シャドウアカウントADフォレストとは異なるADフォレストからEntra IDにインポートされたADバックアップユーザーが使用されると、ログオンが失敗します。

AD Forest 1 は、frontenduser@yourforest.com のような UPN を持つフロントエンドユーザーを作成するために Entra ID に同期されます。

AD Forest 2 には、frontenduser@yourforest.com のような UPN を持つバックエンドのシャドウアカウントが含まれています。

原因: B2B SAML の展開で「UPN の曖昧さの問題」が発生しています。Citrix Cloud は、ユーザーのバックエンド ID を検索するためにどのコネクタを使用すべきかを判断できません。

SAML アサーションで cip_sid を送信しないでください。 ユーザーの UPN は、Citrix Cloud に接続されている複数の AD フォレストに存在します。

シトリックスクラウド SAML 接続を構成する

すべての Citrix ログオンフローは、ストア URL または Citrix Cloud GO URL のいずれかを使用して、サービスプロバイダーによって開始される必要があります。

Entra ID ポータルから Entra ID SAML アプリケーションの SAML エンドポイントを取得し、Citrix Cloud に入力します。

AAD SAML エンドポイント

シトリックスクラウド SAML 接続内で使用するエントラ ID SAML エンドポイントの例

ID およびアクセス管理 > 認証 > IDプロバイダーの追加 > SAML 内の SAML 接続には、デフォルトの推奨値を使用します。

重要:

EntraID の SSO およびログアウト SAML エンドポイントは同じ URL です。

Citrix Cloud のこのフィールドで この値を入力
エンティティ ID https://sts.windows.net/<yourEntraIDTenantID>
認証リクエストに署名 はい
シングルサインオンサービスURL https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
SSOバインディングメカニズム HTTP ポスト
SAML レスポンス 応答またはアサーションのいずれかに署名
認証コンテキスト 未指定、正確
ログアウトURL https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
ログアウトリクエストに署名 はい
SLOバインディングメカニズム HTTP ポスト