Metadane federacji
Identyfikator Entra firmy Microsoft publikuje dokument metadanych federacji dla usług skonfigurowanych do akceptowania tokenów zabezpieczających, które występują w przypadku problemów z identyfikatorem Entra firmy Microsoft. Format dokumentu metadanych federacji jest opisany w usłudze Web Services Federation Language (WS-Federation) w wersji 1.2, która rozszerza metadane dla usługi OASIS Security Assertion Markup Language (SAML) w wersji 2.0.
Punkty końcowe metadanych specyficznych dla dzierżawy i niezależne od dzierżawy
Identyfikator entra firmy Microsoft publikuje punkty końcowe specyficzne dla dzierżawy i niezależne od dzierżawy.
Punkty końcowe specyficzne dla dzierżawy są przeznaczone dla określonej dzierżawy. Metadane federacji specyficzne dla dzierżawy zawierają informacje o dzierżawie, w tym informacje o wystawcy i punkcie końcowym specyficzne dla dzierżawy. Aplikacje ograniczające dostęp do pojedynczej dzierżawy używają punktów końcowych specyficznych dla dzierżawy.
Punkty końcowe niezależne od dzierżawy zawierają informacje wspólne dla wszystkich dzierżaw firmy Microsoft Entra. Te informacje dotyczą dzierżaw hostowanych w login.microsoftonline.com i są udostępniane między dzierżawami. Punkty końcowe niezależne od dzierżawy są zalecane w przypadku aplikacji wielodostępnych, ponieważ nie są one skojarzone z żadną określoną dzierżawą.
Punkty końcowe metadanych federacji
Identyfikator Entra firmy Microsoft publikuje metadane federacji pod adresem https://login.microsoftonline.com/<TenantDomainName>/FederationMetadata/2007-06/FederationMetadata.xml
.
W przypadku punktów końcowych specyficznych dla dzierżawyTenantDomainName
może to być jeden z następujących typów:
- Zarejestrowana nazwa domeny dzierżawy firmy Microsoft Entra, na przykład:
contoso.onmicrosoft.com
. - Niezmienny identyfikator dzierżawy domeny, taki jak
aaaabbbb-0000-cccc-1111-dddd2222eeee
.
W przypadku punktów końcowych niezależnych od dzierżawy parametr TenantDomainName
ma wartość common
. W tym dokumencie wymieniono tylko elementy metadanych federacji, które są wspólne dla wszystkich dzierżaw firmy Microsoft, które są hostowane w login.microsoftonline.com.
Na przykład punkt końcowy specyficzny dla dzierżawy może mieć wartość https://login.microsoftonline.com/contoso.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml
. Punkt końcowy niezależny od dzierżawy to https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml. Dokument metadanych federacji można wyświetlić, wpisując ten adres URL w przeglądarce.
Zawartość metadanych federacji
Poniższa sekcja zawiera informacje wymagane przez usługi korzystające z tokenów wystawionych przez identyfikator Entra firmy Microsoft.
Identyfikator encji
Element EntityDescriptor
zawiera EntityID
atrybut. Wartość atrybutu EntityID
reprezentuje wystawcę, czyli usługę tokenu zabezpieczającego (STS), która wystawiła token. Ważne jest, aby zweryfikować wystawcę podczas odbierania tokenu.
Poniższe metadane przedstawiają przykładowy element specyficzny dla EntityDescriptor
dzierżawy z elementem EntityID
.
<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/">
Identyfikator dzierżawy można zastąpić w punkcie końcowym niezależnym od dzierżawy identyfikatorem dzierżawy, aby utworzyć wartość specyficzną dla EntityID
dzierżawy. Wynikowa wartość będzie taka sama jak wystawca tokenu. Strategia umożliwia aplikacji wielodostępnej weryfikowanie wystawcy dla danej dzierżawy.
Poniższe metadane zawierają przykładowy element niezależny od EntityID
dzierżawy. Należy pamiętać, że {tenant}
element jest literałem, a nie symbolem zastępczym.
<EntityDescriptor
xmlns="urn:oasis:names:tc:SAML:2.0:metadata"
ID="="_aaaabbbb-0000-cccc-1111-dddd2222eeee"
entityID="https://sts.windows.net/{tenant}/">
Certyfikaty podpisywania tokenów
Gdy usługa odbiera token wystawiony przez dzierżawę firmy Microsoft Entra, podpis tokenu musi zostać zweryfikowany przy użyciu klucza podpisywania opublikowanego w dokumencie metadanych federacji. Metadane federacji zawierają publiczną część certyfikatów używanych przez dzierżawców do podpisywania tokenów. Nieprzetworzone bajty certyfikatu są wyświetlane w elemecie KeyDescriptor
. Certyfikat podpisywania tokenu jest ważny do podpisywania tylko wtedy, gdy wartość atrybutu use
to signing
.
Dokument metadanych federacji opublikowany przez usługę Microsoft Entra ID może zawierać wiele kluczy podpisywania, takich jak przygotowanie identyfikatora Entra firmy Microsoft do zaktualizowania certyfikatu podpisywania. Gdy dokument metadanych federacji zawiera więcej niż jeden certyfikat, usługa, która weryfikowa tokeny powinna obsługiwać wszystkie certyfikaty w dokumencie.
Poniższe metadane zawierają przykładowy KeyDescriptor
element z kluczem podpisywania.
<KeyDescriptor use="signing">
<KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>
aB1cD2eF-3gH4i...J5kL6-mN7oP8qR=
</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
Element KeyDescriptor
jest wyświetlany w dwóch miejscach w dokumencie metadanych federacji; w sekcji specyficznej dla federacji WS i sekcji specyficznej dla języka SAML. Certyfikaty opublikowane w obu sekcjach będą takie same.
W sekcji Specyficzne dla federacji usług WS czytnik metadanych federacji WS odczytuje certyfikaty z RoleDescriptor
elementu o typie SecurityTokenServiceType
.
Poniższe metadane zawierają przykładowy 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">
W sekcji specyficznej dla protokołu SAML czytnik metadanych federacji WS odczytuje certyfikaty z IDPSSODescriptor
elementu.
Poniższe metadane zawierają przykładowy IDPSSODescriptor
element.
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
Nie ma różnic w formacie certyfikatów specyficznych dla dzierżawy i niezależnych od dzierżawy.
Adres URL punktu końcowego usługi WS-Federation
Metadane federacji zawierają adres URL używany przez firmę Microsoft Entra ID na potrzeby logowania jednokrotnego i logowania jednokrotnego w protokole WS-Federation. Ten punkt końcowy jest wyświetlany w elemecie PassiveRequestorEndpoint
.
Poniższe metadane zawierają przykładowy PassiveRequestorEndpoint
element dla punktu końcowego specyficznego dla dzierżawy.
<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>
W przypadku punktu końcowego niezależnego od dzierżawy adres URL federacji WS jest wyświetlany w punkcie końcowym usługi WS-Federation, jak pokazano w poniższym przykładzie.
<fed:PassiveRequestorEndpoint>
<EndpointReference xmlns="https://www.w3.org/2005/08/addressing">
<Address>
https://login.microsoftonline.com/common/wsfed
</Address>
</EndpointReference>
</fed:PassiveRequestorEndpoint>
Adres URL punktu końcowego protokołu SAML
Metadane federacji zawierają adres URL używany przez firmę Microsoft Entra ID na potrzeby logowania jednokrotnego i logowania jednokrotnego w protokole SAML 2.0. Te punkty końcowe są wyświetlane w elemecie IDPSSODescriptor
.
Adresy URL logowania i wylogowania są wyświetlane w elementach SingleSignOnService
i SingleLogoutService
.
Poniższe metadane zawierają przykład dla PassiveResistorEndpoint
punktu końcowego specyficznego dla dzierżawy.
<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>
Podobnie punkty końcowe typowych punktów końcowych protokołu SAML 2.0 są publikowane w metadanych federacji niezależnej od dzierżawy, jak pokazano w poniższym przykładzie.
<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>