ゲスト ユーザー向けの 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 を想定している場合、新しいフェデレーションは動作を停止します。
- 現在、外部フェデレーションに追加できるドメインは 1 つだけです。 ドメインの追加ができるよう、積極的に取り組んでいます。
- 認証 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 に戻ってリソースにアクセスします。 更新トークンの有効期間は 12 時間 (Azure AD でのパススルー更新トークンの既定の期間) です。 連携した IdP で SSO が有効な場合、ユーザーは SSO を体験することになり、初回認証後にサインインを求めるメッセージは表示されません。
サインインのエンドポイント
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.comhttps://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 プロバイダーに送信することはサポートされていません。
手順 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 で構成します。 Azure AD ポータルまたは Microsoft Graph API のいずれかを使用できます。 フェデレーション ポリシーが有効になるまで 5 分から 10 分かかる場合があります。 この間、フェデレーション ドメインの招待を利用しようとしないでください。 次の属性は必須です。
- パートナーの IdP の発行者 URI
- パートナー IdP のパッシブ認証エンドポイント (サポートされているのは https のみ)
- Certificate
Azure AD ポータルでフェデレーションを構成するには
Azure ポータルにアクセスします。 左ウィンドウで、 [Azure Active Directory] を選択します。
[外部 ID]>[すべての 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 による更新はできません。 この場合、署名証明書を手動で更新する必要があります。
[保存] を選択します。
Microsoft Graph API を使用してフェデレーションを構成する方法
Microsoft Graph API samlOrWsFedExternalDomainFederation リソースの種類を使用して、SAML または WS-Fed プロトコルをサポートする ID プロバイダーとのフェデレーションを設定できます。
手順 4: Azure AD で SAML/WS-Fed IdP フェデレーションをテストする
ここでは、新しい B2B ゲスト ユーザーを招待して、フェデレーションの設定をテストします。 詳細については、「Azure Portal で Azure Active Directory B2B コラボレーション ユーザーを追加する」を参照してください。
証明書や構成の詳細はどのようにして更新できますか?
[すべての ID プロバイダー] ページで、構成した SAML/WS-Fed ID プロバイダーとその証明書の有効期限の一覧を表示できます。 この一覧から、証明書を更新したり、その他の構成の詳細を変更したりできます。

Azure ポータルにアクセスします。 左ウィンドウで、 [Azure Active Directory] を選択します。
[外部 ID] を選択します。
[すべての ID プロバイダー] を選択します。
SAML/WS-Fed ID プロバイダーで、一覧にある ID プロバイダーまでスクロールするか、検索ボックスを使用します。
証明書を更新するか、構成の詳細を変更するには、次の手順を実行します。
- ID プロバイダーの [構成] 列で、編集リンクを選択します。
- 構成ページで、次の詳細から任意のものを変更します。
- 表示名 - パートナーの組織の表示名。
- ID プロバイダー プロトコル - SAML または WS-Fed を選択します。
- パッシブ認証エンドポイント - パートナー IdP のパッシブ要求元エンドポイント。
- 証明書 - 署名証明書の ID。 更新するには、新しい証明書 ID を入力します。
- メタデータ URL - 署名証明書の自動更新に使用されるパートナーのメタデータを含む URL。
- [保存] を選択します。

IdP のドメインを表示するには、[ドメイン] 列のリンクを選択して、フェデレーションのパートナーのターゲット ドメイン名を表示します。
Note
パートナーのドメインを更新する必要がある場合は、構成を削除し、新しいドメインを使用して ID プロバイダーとのフェデレーションを再構成する必要があります。

フェデレーションを削除する方法
フェデレーション構成は削除できます。 実行した場合、既に招待を利用したフェデレーション ゲスト ユーザーは、サインインできなくなります。 ただし、ユーザーの引き換え状態をリセットすることで、リソースへのアクセスを再度許可することができます。 Azure AD ポータルで IdP とのフェデレーションを削除するには、以下の手順を実行します。
Azure ポータルにアクセスします。 左ウィンドウで、 [Azure Active Directory] を選択します。
[外部 ID] を選択します。
[すべての ID プロバイダー] を選択します。
SAML/WS-Fed ID プロバイダーで、一覧にある ID プロバイダーまでスクロールするか、検索ボックスを使用します。
[ドメイン] 列のリンクを選択して、IdP のドメインの詳細を表示します。
[Delete Configuration] (構成の削除) を選択します。

[OK] をクリックして削除を確認します。
Microsoft Graph API samlOrWsFedExternalDomainFederation リソースの種類を使用してフェデレーションを削除することもできます。
次のステップ
外部ユーザーがさまざまな ID プロバイダーでサインインするときの招待の利用エクスペリエンスを確認します。