Verbundmetadaten
Microsoft Entra ID veröffentlicht ein Verbundmetadaten-Dokument für Dienste, welche die von Microsoft Entra ID ausgestellten Sicherheitstokens akzeptieren. Das Format des Verbundmetadaten-Dokuments wird in der Webdiensteverbund-Sprache (WS-Verbund), Version 1.2, beschrieben – einer Erweiterung der Metadaten für die OASIS Security Assertion Markup Language (SAML), Version 2.0.
Mandantenspezifische und mandantenunabhängige Metadatenendpunkte
Microsoft Entra ID veröffentlicht mandantenspezifische und mandantenunabhängige Endpunkte.
Mandantenspezifische Endpunkte sind auf einen bestimmten Mandanten ausgelegt. Die mandantenspezifischen Verbundmetadaten enthalten Informationen über den Mandanten, einschließlich mandantenspezifischer Aussteller- und Endpunktinformationen. Anwendungen, die den Zugriff auf einen einzelnen Mandanten einschränken, verwenden mandantenspezifische Endpunkte.
Mandantenunabhängige Endpunkte stellen Informationen bereit, die für alle Microsoft Entra ID-Mandanten gemeinsam verwendet werden. Diese Informationen gelten für die unter login.microsoftonline.com gehosteten Mandanten und werden mandantenübergreifend genutzt. Mandantenunabhängige Endpunkte werden für mehrinstanzenfähige Anwendungen empfohlen, da sie nicht einem bestimmten Mandanten zugeordnet sind.
Verbundmetadaten-Endpunkte
Microsoft Entra ID veröffentlicht Verbundmetadaten unter https://login.microsoftonline.com/<TenantDomainName>/FederationMetadata/2007-06/FederationMetadata.xml
.
Für mandantenspezifische Endpunkte kann TenantDomainName
einem der folgenden Typen entsprechen:
- Ein registrierter Domänenname eines Microsoft Entra-Mandanten (Beispiel:
contoso.onmicrosoft.com
). - Die unveränderliche Mandanten-ID der Domäne (Beispiel:
aaaabbbb-0000-cccc-1111-dddd2222eeee
).
Für mandantenunabhängige Endpunkte wird common
als TenantDomainName
verwendet. In diesem Dokument sind nur die Verbundmetadaten-Elemente aufgeführt, die für alle unter „login.microsoftonline.com“ gehosteten Microsoft Entra-Mandanten gelten.
Ein mandantenspezifischer Endpunkt kann etwa wie folgt lauten: https://login.microsoftonline.com/contoso.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml
. Der mandantenunabhängige Endpunkt ist https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml. Sie können das Verbundmetadaten-Dokument anzeigen, indem Sie diese URL in einen Browser eingeben.
Inhalt der Verbundmetadaten
Der folgende Abschnitt enthält die Informationen, die von Diensten benötigt werden, welche die von Microsoft Entra ausgegebenen Tokens nutzen.
Entitäts-ID
Das EntityDescriptor
-Element enthält ein EntityID
-Attribut. Der Wert des EntityID
-Attributs stellt den Aussteller dar (also den Sicherheitstokendienst (STS), der das Token ausgestellt hat). Bei Erhalt eines Tokens ist es wichtig, den Aussteller zu überprüfen.
Die folgenden Metadaten enthalten als Beispiel ein mandantenspezifisches EntityDescriptor
-Element mit einem EntityID
-Element.
<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/">
Sie können die Mandanten-ID im mandantenunabhängigen Endpunkt durch Ihre Mandanten-ID ersetzen, um einen mandantenspezifischen EntityID
-Wert zu erstellen. Der resultierende Wert stimmt mit dem Herausgeber des Tokens überein. Diese Strategie ermöglicht es einer mehrinstanzenfähigen Anwendung, den Aussteller für einen bestimmten Mandanten zu überprüfen.
Die folgenden Metadaten enthalten ein Beispiel für ein mandantenunabhängiges EntityID
-Element. Beachten Sie hierbei, dass {tenant}
ein Literal und kein Platzhalter ist.
<EntityDescriptor
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="="_aaaabbbb-0000-cccc-1111-dddd2222eeee"
entityID="https://sts.windows.net/{tenant}/">
Token-Signaturzertifikate
Wenn ein Dienst ein Token erhält, das von einem Microsoft Entra-Mandanten ausgestellt wird, muss die Signatur des Tokens mit einen Signaturschlüssel überprüft werden, der im Verbundmetadatendokument veröffentlicht wird. Die Verbundmetadaten umfassen den öffentlichen Teil der Zertifikate, die von den Mandanten für die Tokensignatur verwendet werden. Die unformatierten Bytes des Zertifikats werden im KeyDescriptor
-Element angezeigt. Das Tokensignaturzertifikat ist nur dann für die Signierung gültig, wenn der Wert des use
-Attributs signing
lautet.
Ein von Microsoft Entra ID veröffentlichtes Verbundmetadaten-Dokument kann mehrere Signaturschlüssel aufweisen, z. B. wenn bei Microsoft Entra ID die Aktualisierung des Signaturzertifikats vorbereitet wird. Wenn ein Verbundmetadatendokument mehrere Zertifikate enthält, sollte ein Dienst, der die Token überprüft, alle Zertifikate im Dokument unterstützen.
Die folgenden Metadaten zeigen ein Beispiel für ein KeyDescriptor
-Element mit einem Signaturschlüssel.
<KeyDescriptor use="signing">
<KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>
aB1cD2eF-3gH4i...J5kL6-mN7oP8qR=
</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
Das KeyDescriptor
-Element wird an zwei Stellen im Verbundmetadaten-Dokument aufgeführt: im WS-Verbund-spezifischen Abschnitt und im SAML-spezifischen Abschnitt. Die in beiden Abschnitten veröffentlichten Zertifikate sind identisch.
Im SAML-spezifischen Abschnitt liest ein WS-Verbundmetadatenleser die Zertifikate aus einem RoleDescriptor
-Element vom Typ SecurityTokenServiceType
.
Die folgenden Metadaten enthalten ein Beispiel für ein RoleDescriptor
-Element.
<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">
Im SAML-spezifischen Abschnitt liest ein WS-Verbundmetadatenleser die Zertifikate aus einem IDPSSODescriptor
-Element.
Die folgenden Metadaten enthalten ein Beispiel für ein IDPSSODescriptor
-Element.
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
Es gibt keine Unterschiede im Format von mandantenspezifischen und mandantenunabhängigen Zertifikaten.
WS-Verbundendpunkt-URL
Die Verbundmetadaten enthalten die URL, die von Microsoft Entra ID für das einmalige Anmelden und das einmalige Abmelden im WS-Verbundprotokoll verwendet wird. Dieser Endpunkt wird im PassiveRequestorEndpoint
-Element angezeigt.
Die folgenden Metadaten enthalten ein Beispiel für ein PassiveRequestorEndpoint
-Element für einen mandantenspezifischen Endpunkt.
<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>
Für den mandantenunabhängigen Endpunkt wird die WS-Verbund-URL im WS-Verbundendpunkt aufgeführt, wie im folgenden Beispiel gezeigt.
<fed:PassiveRequestorEndpoint>
<EndpointReference xmlns="https://www.w3.org/2005/08/addressing">
<Address>
https://login.microsoftonline.com/common/wsfed
</Address>
</EndpointReference>
</fed:PassiveRequestorEndpoint>
SAML-Protokollendpunkt-URL
Die Verbundmetadaten enthalten die URL, die von Microsoft Entra ID für das einmalige Anmelden und das einmalige Abmelden im SAML 2.0-Verbundprotokoll verwendet wird. Diese Endpunkte werden im IDPSSODescriptor
-Element angezeigt.
Die URLs für die An- und Abmeldung werden in den Elementen SingleSignOnService
und SingleLogoutService
angezeigt.
Die folgenden Metadaten enthalten ein Beispiel für ein PassiveResistorEndpoint
-Element für einen mandantenspezifischen Endpunkt.
<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>
Auf ähnliche Weise werden die Endpunkte für die gemeinsamen SAML 2.0-Protokollendpunkte in den mandantenunabhängigen Verbundmetadaten veröffentlicht, wie im folgenden Beispiel gezeigt wird.
<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>