ゲスト ユーザー向けの SAML/WS-Fed ID プロバイダーとのフェデレーション
注意
- Azure Active Directory の "直接フェデレーション" は、"SAML/WS-Fed ID プロバイダー (IdP) フェデレーション" と呼ばれるようになりました。
この記事では、ID プロバイダー (IdP) により SAML 2.0 または WS-Fed プロトコルがサポートされている組織とのフェデレーションを設定する方法について説明します。 パートナーの IdP とのフェデレーションを設定すると、そのドメインに属する新しいゲスト ユーザーが、各自の IdP マネージド組織アカウントを使用してお客様の Azure AD テナントにサインインし、お客様との共同作業を開始できます。 ゲスト ユーザーが別個の Azure AD アカウントを作成する必要はありません。
重要
- 新しい SAML/WS-Fed IdP フェデレーションの IdP の許可リストはサポートされなくなりました。 新しい外部フェデレーションを設定する場合は、「手順 1: パートナーが DNS テキスト レコードを更新する必要があるかどうかを判断する」を参照してください。
- 外部フェデレーションに対して Azure AD によって送信された SAML 要求では、発行者 URL はテナント エンドポイントです。 新しいフェデレーションでは、すべてのパートナーは、SAML または WS-Fed ベースの IdP の対象ユーザーをテナントのエンドポイントに設定することをお勧めします。 SAML 2.0 および WS-Fed の必須の属性およびクレームのセクションを参照してください。 グローバル エンドポイントを使用して構成された既存のフェデレーションは引き続き機能しますが、外部の IdP が SAML 要求でグローバル発行者 URL を想定している場合、新しいフェデレーションは動作を停止します。
- 単一ドメインの制限は削除されました。 複数のドメインを個々のフェデレーション構成に関連付けられるようになりました。
- 認証 URL ドメインがターゲット ドメインと一致するか、許可されている IdP からのものである必要があるという制限が削除されました。 詳細については、「手順 1: パートナーが DNS テキスト レコードを更新する必要があるかどうかを判断する」を参照してください。
ゲスト ユーザーが SAML/WS-Fed IdP フェデレーションで認証されるタイミング
組織の SAML/WS-Fed IdP とのフェデレーションを設定すると、お客様が招待する新しいゲスト ユーザーは、その SAML/WS-Fed IdP を使用して認証されます。 フェデレーションを設定しても、お客様からの招待を既に利用したゲスト ユーザーに対する認証方法は変更されない点に留意することが重要です。 次に例をいくつか示します。
- ゲスト ユーザーは既に招待を引き換えているため、次に組織の SAML/WS-Fed IdP とのフェデレーションを設定します。 これらのゲスト ユーザーは、フェデレーションを設定する前に使用したのと同じ認証方法を引き続き使用します。
- 組織の SAML/WS-Fed IdP とのフェデレーションを設定し、ゲスト ユーザーを招待した後、パートナー組織は Azure AD に移行します。 既に招待を引き換え済みのゲスト ユーザーは、テナント内にフェデレーション ポリシーが存在するかぎり、フェデレーションされた SAML/WS-Fed IdP を引き続き使用します。
- 組織の SAML/WS-Fed IdP とのフェデレーションを削除します。 現在 SAML/WS-Fed IdP を使用しているゲスト ユーザーは、サインインできません。
これらのいずれのシナリオでも、利用状態をリセットすることで、ゲスト ユーザーの認証方法を更新できます。
SAML/WS-Fed IdP フェデレーションは、contoso.com や fabrikam.com などのドメイン名前空間に関連付けられます。 組織では、AD FS またはサード パーティの IdP とのフェデレーションを確立するときに、これらの IdP に 1 つ以上のドメイン名前空間を関連付けます。
エンド ユーザー エクスペリエンス
SAML/WS-Fed IdP フェデレーションを使用すると、ゲスト ユーザーは各自の組織アカウントを使用してお客様の Azure AD テナントにサインインします。 共有リソースへのアクセス時にサインインのダイアログが表示されると、ユーザーは自分の IdP にリダイレクトされます。 サインインが成功した後、ユーザーは Azure AD に戻ってリソースにアクセスします。 Azure AD セッションの有効期限が切れるか無効になり、フェデレーション IdP で SSO が有効になっている場合、ユーザーは SSO を体験します。 フェデレーション ユーザーのセッションが有効な場合、ユーザーに再度サインインのダイアログが表示されることはありません。 それ以外の場合、ユーザーはサインインのために IdP にリダイレクトされます。
サインインのエンドポイント
SAML/WS-Fed IdP フェデレーションのゲスト ユーザーは、共通のエンドポイント (つまり、テナント コンテキストを含まない一般的なアプリ URL) を使用して、マルチテナントまたは Microsoft のファーストパーティ アプリにサインインできるようになりました。 サインイン プロセス中に、ゲスト ユーザーは [サインイン オプション] を選択してから、 [Sign in to an organization](組織にサインイン) を選択します。 次に、ユーザーは組織の名前を入力し、自分の資格情報を使用してサインインを続行します。
SAML/WS-Fed IdP フェデレーションのゲスト ユーザーは、テナント情報を含むアプリケーション エンドポイントを使用することもできます。次に例を示します。
https://myapps.microsoft.com/?tenantid=<your tenant ID>
https://myapps.microsoft.com/<your verified domain>.onmicrosoft.com
https://portal.azure.com/<your tenant ID>
また、https://myapps.microsoft.com/signin/Twitter/<application ID?tenantId=<your tenant ID>
のようにテナント情報を含めることによって、アプリケーションまたはリソースへの直接リンクをゲスト ユーザーに提供することもできます。
よく寄せられる質問
Azure AD の検証済みドメインを使用して SAML/WS-Fed IdP フェデレーションを設定できますか。
いいえ、Azure AD の検証済みドメインに対する SAML/WS-Fed IdP のフェデレーションをブロックし、ネイティブの Azure AD マネージド ドメイン機能を採用しています。 Azure AD で DNS 検証済みのドメインとの SAML/WS-Fed IdP フェデレーションを設定しようとすると、エラーが発生します。
アンマネージド (電子メールで検証済み) テナントが存在するドメインとの SAML/WS-Fed IdP フェデレーションを設定できますか。
はい、管理されていない (電子メール検証済みまたは "バイラル" な) Azure AD テナントなど、Azure AD で DNS 検証されていないドメインと SAML/WS-Fed IdP フェデレーションを設定できます。 そのようなテナントは、ユーザーが B2B の招待に応じたときや、現在は存在しないドメインを使用して Azure AD のセルフサービス サインアップを実行したときに作成されます。 ドメインが検証されておらず、テナントで管理者の引き継ぎが実施されていない場合は、そのドメインとのフェデレーションを設定できます。
フェデレーション関係はいくつ作成できますか。
現在のところ、最大 1000 のフェデレーション リレーションシップがサポートされています。 この制限には、内部フェデレーションと SAML/WS-Fed IdP フェデレーションの両方が含まれます。
同じテナントから、複数のドメインとのフェデレーションを設定できますか。
同じテナントの複数のドメインとの SAML/WS-Fed IdP フェデレーションがサポートされるようになりました。
署名証明書は、有効期限切れになるときに更新する必要がありますか。
IdP の設定でメタデータ URL を指定した場合、署名証明書が有効期限切れになると、Azure AD によって自動的に更新されます。 ただし、証明書が有効期限切れになる前に何らかの理由でローテーションされた場合、またはメタデータ URL を指定しなかった場合には、Azure AD による更新はできません。 この場合、署名証明書を手動で更新する必要があります。
SAML/WS-Fed IdP フェデレーションと電子メールのワンタイム パスコード認証の両方が有効な場合、どちらの方法が優先されますか。
パートナー組織との SAML/WS-Fed IdP フェデレーションが確立すると、その組織に属する新しいゲスト ユーザーに対して、電子メールのワンタイム パスコード認証よりもこちらが優先されます。 SAML/WS-Fed IdP フェデレーションを設定する前にゲスト ユーザーがワンタイム パスコード認証を使用して招待を引き換えた場合、引き続きワンタイム パスコード認証が使用されます。
SAML/WS-Fed IdP フェデレーションは、部分的に同期されたテナントに起因するサインインの問題に対応していますか。
いいえ。このシナリオでは、電子メールのワンタイム パスコード機能を使用する必要があります。 "部分的に同期されたテナント" とは、オンプレミスのユーザー ID がクラウドに完全には同期されていないパートナーの Azure AD テナントのことです。 クラウド上に ID がまだ存在していないゲストが、B2B の招待を引き換えようとした場合、そのゲストはサインインできません。 ワンタイム パスコード機能であれば、このゲストをサインインさせることができます。 SAML/WS-Fed IdP フェデレーション機能は、ゲストが各自の IdP マネージド組織アカウントを持っているが、その組織に Azure AD が存在しないというシナリオに対応しています。
組織で SAML/WS-Fed IdP フェデレーションを構成したら、各ゲストは送付された個別の招待を利用する必要がありますか。
SAML/WS-Fed IdP フェデレーションを設定しても、お客様からの招待を既に利用したゲスト ユーザーに対する認証方法は変更されません。 ゲスト ユーザーの認証方法を更新するには、利用状態をリセットします。
署名された要求を SAML ID プロバイダーに送信する方法はありますか。
現在のところ、Azure AD SAML/WS-Fed フェデレーション機能では、署名された認証トークンを SAML ID プロバイダーに送信することはサポートされていません。
SAML/Ws-Fed ID プロバイダーを構成するために必要なアクセス許可は何ですか?
SAML/Ws-Fed の ID プロバイダーを構成するには、Azure AD テナントの外部 ID プロバイダー管理者またはグローバル管理者である必要があります。
手順 1: パートナーが DNS テキスト レコードを更新する必要があるかどうかを判断する
パートナーの IdP によっては、パートナーが自身の DNS レコードを更新して、お客様とのフェデレーションを有効にすることが必要な場合があります。 DNS の更新が必要かどうかを判断するには、次の手順に従います。
Note
新しい SAML/WS-Fed IdP フェデレーションの IdP の許可リストはサポートされなくなりました。
パートナーの IdP パッシブ認証 URL を調べて、ドメインがターゲット ドメインまたはターゲット ドメイン内のホストと一致するかどうかを確認します。 すなわち、
fabrikam.com
のフェデレーションを設定する場合は次のようになります。- パッシブ認証エンドポイントが
https://fabrikam.com
またはhttps://sts.fabrikam.com/adfs
(同じドメイン内のホスト) の場合、DNS の変更は必要ありません。 - パッシブ認証エンドポイントが
https://fabrikamconglomerate.com/adfs
またはhttps://fabrikam.com.uk/adfs
の場合、ドメインは fabrikam.com ドメインと一致していないため、パートナーは DNS 構成に認証 URL のテキスト レコードを追加する必要があります。
- パッシブ認証エンドポイントが
前の手順に基づいて DNS の変更が必要な場合は、次の例のように、ドメインの DNS レコードに TXT レコードを追加するようにパートナーに依頼します。
fabrikam.com. IN TXT DirectFedAuthUrl=https://fabrikamconglomerate.com/adfs
手順 2: パートナー組織の IdP を構成する
次に、パートナー組織において、必須の要求と証明書利用者の信頼を指定して IdP を構成する必要があります。
注意
フェデレーション用に SAML/WS-Fed IdP を構成する方法を示すために、例として Active Directory フェデレーション サービス (AD FS) を使用します。 AD FS との SAML/WS-Fed IdP フェデレーションの構成に関する記事を参照してください。フェデレーションの準備として、AD FS を SAML 2.0 または WS-Fed の IdP として構成する方法の例が示されています。
SAML 2.0 の構成
Azure AD B2B は、個のセクションに示す特定の要件を伴う SAML プロトコルを使用する IdP とフェデレーションを行うように構成できます。 ご利用の SAML IdP と Azure AD の間に信頼を設定する方法の詳細については、「シングル サインオンに SAML 2.0 ID プロバイダー (IdP) を使用する」を参照してください。
注意
SAML/WS-Fed IdP フェデレーションのターゲット ドメインは、Azure AD の DNS によって検証されていない必要があります。 詳細については、「よく寄せられる質問」セクションを参照してください。
必須の SAML 2.0 属性および要求
サード パーティの IdP に構成する必要がある特定の属性と要求の要件を次の各表に示します。 フェデレーションを設定するには、IdP からの SAML 2.0 応答において以下の属性が受け取られる必要があります。 これらの属性は、オンライン セキュリティ トークン サービスの XML ファイルにリンクするか手動で入力することによって、構成できます。
注意
値が、外部フェデレーションを設定しているクラウドと一致することを確認してください。
IdP からの SAML 2.0 応答に必須の属性:
属性 | 値 |
---|---|
AssertionConsumerService | https://login.microsoftonline.com/login.srf |
対象ユーザー | https://login.microsoftonline.com/<tenant ID>/ (推奨) <tenant ID> を、フェデレーションを設定する Azure AD テナントのテナント ID に置き換えます。外部フェデレーションに対して Azure AD によって送信された SAML 要求では、発行者 URL はテナント エンドポイントです (例: https://login.microsoftonline.com/<tenant ID>/ )。 新しいフェデレーションでは、すべてのパートナーは、SAML または WS-Fed ベースの IdP の対象ユーザーをテナントのエンドポイントに設定することをお勧めします。 グローバル エンドポイントを使用して構成された既存のフェデレーション (例: urn:federation:MicrosoftOnline ) は引き続き機能しますが、外部の IdP が Azure AD によって送信された SAML 要求でグローバル発行者 URL を想定している場合、新しいフェデレーションは動作を停止します。 |
発行者 | パートナーの IdP の発行者 URI (たとえば http://www.example.com/exk10l6w90DHM0yi... ) |
IdP によって発行される SAML 2.0 トークンに必須の要求:
属性名 | 値 |
---|---|
NameID の形式 | urn:oasis:names:tc:SAML:2.0:nameid-format:persistent |
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
emailaddress |
WS-Fed の構成
Azure AD B2B は、WS-Fed プロトコルを使用する IdP と連携するように構成できます。 このセクションでは、要件について説明します。 現時点で 2 つの WS-Fed プロバイダー (AD FS と Shibboleth) が、Azure AD との互換性テスト済みです。 WS-Fed 準拠のプロバイダーと Azure AD の間に証明書利用者信頼を確立する方法の詳細については、Azure AD ID プロバイダーの互換性に関するドキュメントで「STS Integration Paper using WS Protocols」(WS プロトコルを使用した STS 統合に関する文書) を参照してください。
注意
フェデレーションのターゲット ドメインは Azure AD で DNS によって検証できません。 詳細については、「よく寄せられる質問」セクションを参照してください。
必須の WS-Fed 属性および要求
サード パーティの WS-Fed IdP に構成する必要がある特定の属性と要求の要件を次の各表に示します。 フェデレーションを設定するには、IdP からの WS-Fed メッセージにおいて以下の属性が受け取られる必要があります。 これらの属性は、オンライン セキュリティ トークン サービスの XML ファイルにリンクするか手動で入力することによって、構成できます。
注意
値が、外部フェデレーションを設定しているクラウドと一致することを確認してください。
IdP からの WS-Fed メッセージに必須の属性:
属性 | 値 |
---|---|
PassiveRequestorEndpoint | https://login.microsoftonline.com/login.srf |
対象ユーザー | https://login.microsoftonline.com/<tenant ID>/ (推奨) <tenant ID> を、フェデレーションを設定する Azure AD テナントのテナント ID に置き換えます。外部フェデレーションに対して Azure AD によって送信された SAML 要求では、発行者 URL はテナント エンドポイントです (例: https://login.microsoftonline.com/<tenant ID>/ )。 新しいフェデレーションでは、すべてのパートナーは、SAML または WS-Fed ベースの IdP の対象ユーザーをテナントのエンドポイントに設定することをお勧めします。 グローバル エンドポイントを使用して構成された既存のフェデレーション (例: urn:federation:MicrosoftOnline ) は引き続き機能しますが、外部の IdP が Azure AD によって送信された SAML 要求でグローバル発行者 URL を想定している場合、新しいフェデレーションは動作を停止します。 |
発行者 | パートナーの IdP の発行者 URI (たとえば http://www.example.com/exk10l6w90DHM0yi... ) |
IdP によって発行される WS-Fed トークンに必須の要求:
属性 | 値 |
---|---|
ImmutableID | http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID |
emailaddress | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
手順 3: Azure AD で SAML/WS-Fed IdP フェデレーションを構成する
次に、手順 1 で構成した IdP とのフェデレーションを Azure AD で構成します。 Microsoft Entra管理センターまたは Microsoft Graph API のいずれかを使用できます。 フェデレーション ポリシーが有効になるまで 5 分から 10 分かかる場合があります。 この間、フェデレーション ドメインの招待を利用しようとしないでください。 次の属性は必須です。
- パートナーの IdP の発行者 URI
- パートナー IdP のパッシブ認証エンドポイント (サポートされているのは https のみ)
- Certificate
Microsoft Entra 管理センターで Facebook フェデレーションを構成するには
ヒント
この記事の手順は、開始するポータルによって若干異なる場合があります。
Microsoft Entra 管理センター に少なくとも 外部 ID プロバイダー管理者 としてサインインしてください。
ID>External Identities>すべての ID プロバイダー を参照します。
[新しい SAML/WS-Fed IdP] を選択します。
[新しい SAML/WS-Fed IdP] ページで、次のように入力します。
- 表示名 - パートナーの IdP を識別するのに役立つ名前を入力します。
- ID プロバイダー プロトコル - SAML または WS-Fed を選択します。
- フェデレーション IdP のドメイン名 - フェデレーションに使用するパートナーの IdP ターゲットのドメイン名を入力します。 この初期構成時に、ドメイン名を 1 つだけ入力します。 ドメインは後からさらに追加できます。
メタデータを設定する方法を選択します。 メタデータを手動で入力するか、メタデータを含むファイルがある場合は [メタデータ ファイルの解析] を選択してファイルを参照することで、自動的にフィールドに入力することができます。
- 発行者 URI - パートナーの IdP の発行者 URI。
- パッシブ認証エンドポイント - パートナー IdP のパッシブ要求元エンドポイント。
- 証明書 - 署名証明書 ID。
- メタデータ URL - 署名証明書の自動更新に使用する IdP のメタデータの場所。
注意
メタデータ URL は省略可能ですが、強くお勧めします。 メタデータ URL を指定すると、署名証明書が有効期限切れになったときに、Azure AD によって自動的に更新することができます。 証明書が有効期限切れになる前に何らかの理由でローテーションされた場合、またはメタデータ URL を指定しなかった場合には、Azure AD による更新はできません。 この場合、署名証明書を手動で更新する必要があります。
[保存] を選択します。 ID プロバイダーが SAML/WS-Fed ID プロバイダーの一覧に追加されます。
(省略可能) このフェデレーション ID プロバイダーにドメイン名を追加するには、次の手順を行います。
[ドメイン] 列のリンクを選択します。
[フェデレーション IdP のドメイン名] の横にドメイン名を入力し、[追加] を選択します。 追加するドメインごとに繰り返します。 完了したら、 [完了] をクリックします。
Microsoft Graph API を使用してフェデレーションを構成する方法
Microsoft Graph API samlOrWsFedExternalDomainFederation リソースの種類を使用して、SAML または WS-Fed プロトコルをサポートする ID プロバイダーとのフェデレーションを設定できます。
手順 4: Azure AD で SAML/WS-Fed IdP フェデレーションをテストする
ここでは、新しい B2B ゲスト ユーザーを招待して、フェデレーションの設定をテストします。 詳細については、Microsoft Entra 管理センターで Azure Active Directory B2B コラボレーション ユーザーを追加します を参照してください。
証明書や構成の詳細はどのようにして更新できますか?
[すべての ID プロバイダー] ページで、構成した SAML/WS-Fed ID プロバイダーとその証明書の有効期限の一覧を表示できます。 この一覧から、証明書を更新したり、その他の構成の詳細を変更したりできます。
Microsoft Entra 管理センター に少なくとも 外部 ID プロバイダー管理者 としてサインインしてください。
ID>External Identities>すべての ID プロバイダー を参照します。
SAML/WS-Fed ID プロバイダーで、一覧にある ID プロバイダーまでスクロールするか、検索ボックスを使用します。
証明書を更新するか、構成の詳細を変更するには、次の手順を実行します。
- ID プロバイダーの [構成] 列で、編集リンクを選択します。
- 構成ページで、次の詳細から任意のものを変更します。
- 表示名 - パートナーの組織の表示名。
- ID プロバイダー プロトコル - SAML または WS-Fed を選択します。
- パッシブ認証エンドポイント - パートナー IdP のパッシブ要求元エンドポイント。
- 証明書 - 署名証明書の ID。 更新するには、新しい証明書 ID を入力します。
- メタデータ URL - 署名証明書の自動更新に使用されるパートナーのメタデータを含む URL。
- [保存] を選択します。
パートナーに関連付けられているドメインを編集するには、[ドメイン] 列のリンクを選択します。 ドメインの詳細ウィンドウで、次の操作を行います。
- ドメインを追加するには、[フェデレーション IdP のドメイン名] の横にドメイン名を入力し、[追加] を選択します。 追加するドメインごとに繰り返します。
- ドメインを削除するには、ドメインの横にある削除アイコンを選択します。
- 完了したら、 [完了] をクリックします。
Note
パートナーとのフェデレーションを削除するには、いずれかのドメインを除くすべてのドメインを削除し、次のセクションの手順に従います。
フェデレーションを削除する方法
フェデレーション構成は削除できます。 その場合、既に招待を引き換えたフェデレーション ゲスト ユーザーは、サインインできなくなります。 ただし、ユーザーの引き換え状態をリセットすることで、リソースへのアクセスを再度許可することができます。 Microsoft Entra管理センターで IdP の構成を削除するには:
Microsoft Entra 管理センター に少なくとも 外部 ID プロバイダー管理者 としてサインインしてください。
ID>External Identities>すべての ID プロバイダー を参照します。
SAML/WS-Fed ID プロバイダーで、一覧にある ID プロバイダーまでスクロールするか、検索ボックスを使用します。
[ドメイン] 列のリンクを選択して、IdP のドメインの詳細を表示します。
[ドメイン名] の一覧にあるドメインのうち、1 つを除くすべてを削除します。
[構成の削除] を選択し、[完了] を選択します。
[OK] をクリックして削除を確認します。
Microsoft Graph API samlOrWsFedExternalDomainFederation リソースの種類を使用してフェデレーションを削除することもできます。
次のステップ
外部ユーザーがさまざまな ID プロバイダーでサインインするときの招待の利用エクスペリエンスを確認します。