共用方式為


同盟中繼資料

Microsoft Entra ID 會針對設定為接受Microsoft Entra ID 所簽發安全性權杖的服務發佈同盟中繼資料文件。 Web 服務同盟語言 (WS-Federation) 1.2 版 (該說明為適用於 OASIS 安全性聲明標記語言 (SAML) 的中繼資料 2.0 版 的延伸資訊) 中說明了同盟中繼資料文件格式。

租用戶特定和與租用戶無關的中繼資料端點

Microsoft Entra ID 會發佈租用戶特定和租用戶獨立端點。

租用戶專屬端點是專為特定租用戶所設計的。 租用戶專屬同盟中繼資料包含租用戶相關資訊,其中包括租用戶專屬簽發者和端點資訊。 限制存取單一租用戶的應用程式會使用租用戶專屬端點。

與租用戶無關的端點會提供所有 Microsoft Entra 租用戶通用的資訊。 本資訊適用裝載於 login.microsoftonline.com 的租用戶,並由所有租用戶共用。 多租使用者應用程式建議與租用戶無關的端點,因為它們與任何特定租用戶無關。

同盟中繼資料端點

Microsoft Entra ID 會在 https://login.microsoftonline.com/<TenantDomainName>/FederationMetadata/2007-06/FederationMetadata.xml 發佈同盟中繼資料。

若為租用戶專屬端點TenantDomainName 可以是下列其中一種類型:

  • Microsoft Entra 租用戶的已註冊網域名稱,例如:contoso.onmicrosoft.com
  • 網域的不可變租用戶識別碼,例如 aaaabbbb-0000-cccc-1111-dddd2222eeee

若為租用戶獨立端點TenantDomainNamecommon。 本文件只會列出託管於 login.microsoftonline.com 的所有 Microsoft Entra 租用戶通用的同盟中繼資料元素。

例如,租用戶專屬端點可能是 https://login.microsoftonline.com/contoso.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml。 與租用戶無關的端點是 https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml。 您可以在瀏覽器中輸入此 URL 以檢視同盟中繼資料文件。

同盟中繼資料的內容

下一節提供服務所需的資訊,這些服務會取用 Microsoft Entra ID 簽發的權杖。

實體識別碼

EntityDescriptor 項目包含 EntityID 屬性。 EntityID 屬性的值代表簽發者 (也就是簽發權杖的 Security Token Service (STS))。 請務必在收到權杖時驗證簽發者。

下列中繼資料說明了含有 EntityID 項目的範例租用戶專屬 EntityDescriptor 項目。

<EntityDescriptor
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="_00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
entityID="https://sts.windows.net/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/">

您可以使用租用戶識別碼來取代租用戶獨立端點中的租用戶識別碼,以建立租用戶特定的 EntityID 值。 產生的值會與權杖簽發者相同。 此策略可讓多租使用者應用程式驗證指定租用戶的簽發者。

下列中繼資料說明了範例租用戶獨立 EntityID 項目。 請注意, {tenant} 是常值,而不是預留位置。

<EntityDescriptor
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="="_aaaabbbb-0000-cccc-1111-dddd2222eeee"
entityID="https://sts.windows.net/{tenant}/">

權杖簽署憑證

當服務收到由 Microsoft Entra 租用戶發出的權杖時,權杖的簽章必須使用同盟中繼資料文件中發佈的簽署金鑰進行驗證。 同盟中繼資料包含租用戶用於權杖簽署之憑證的公開部分。 憑證原始位元組會出現在 KeyDescriptor 項目中。 當 use 屬性值為 signing 時,權杖簽署憑證僅能適用於簽署。

Microsoft Entra ID 發行的同盟中繼資料文件可以有多個簽署金鑰,例如 Microsoft Entra ID 準備更新簽署憑證時。 當同盟中繼資料文件包含多個憑證時,正在驗證權杖的服務應會支援該文件中的所有憑證。

下列中繼資料說明了具有簽署金鑰的範例 KeyDescriptor 項目。

<KeyDescriptor use="signing">
<KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>
aB1cD2eF-3gH4i...J5kL6-mN7oP8qR=
</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>

KeyDescriptor 項目會出現在同盟中繼資料文件中的兩個位置:WS 同盟專屬區段和 SAML 專屬區段。 發佈在這兩個區段的憑證將會是相同的。

在 WS 同盟專屬區段中,WS 同盟中繼資料讀取器會從 RoleDescriptor 項目中讀取類型為 SecurityTokenServiceType 的憑證。

下列中繼資料說明範例 RoleDescriptor 項目。

<RoleDescriptor xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:fed="https://docs.oasis-open.org/wsfed/federation/200706" xsi:type="fed:SecurityTokenServiceType" protocolSupportEnumeration="https://docs.oasis-open.org/wsfed/federation/200706">

在 SAML 專屬區段中,WS 同盟中繼資料讀取器會讀取來自 IDPSSODescriptor 項目的憑證。

下列中繼資料說明範例 IDPSSODescriptor 項目。

<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">

租用戶專屬與租用戶獨立憑證格式並沒有差異。

WS 同盟端點 URL

同盟中繼資料包含 URL,Microsoft Entra ID 將使用於 Web 服務同盟通訊協定中的單一登入和單一登出。 此端點會出現在 PassiveRequestorEndpoint 項目中。

下列中繼資料說明了租用戶專屬端點的範例 PassiveRequestorEndpoint 項目。

<fed:PassiveRequestorEndpoint>
<EndpointReference xmlns="https://www.w3.org/2005/08/addressing">
<Address>
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/wsfed
</Address>
</EndpointReference>
</fed:PassiveRequestorEndpoint>

若為租用戶獨立端點,WS 同盟 URL 會出現在 WS 同盟端點中,如下列範例所示。

<fed:PassiveRequestorEndpoint>
<EndpointReference xmlns="https://www.w3.org/2005/08/addressing">
<Address>
https://login.microsoftonline.com/common/wsfed
</Address>
</EndpointReference>
</fed:PassiveRequestorEndpoint>

SAML 通訊協定端點 URL

同盟中繼資料包含 URL,Microsoft Entra ID 用於 SAML 2.0 通訊協定中的單一登入和單一登出。 這些端點會出現在 IDPSSODescriptor 項目中。

登入和登出 URL 會出現在 SingleSignOnServiceSingleLogoutService 項目中。

下列中繼資料說明了租用戶專屬端點的範例 PassiveResistorEndpoint

<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
…
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/contoso.onmicrosoft.com/saml2" />
    <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/contoso.onmicrosoft.com/saml2" />
  </IDPSSODescriptor>

同樣地,適用於一般 SAML 2.0 通訊協定端點的端點也會發佈在租用戶獨立同盟中繼資料中,如下列範例所示。

<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
…
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/common/saml2" />
    <SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/common/saml2" />
  </IDPSSODescriptor>