Condividi tramite


Metadati della federazione

Microsoft Entra ID pubblica un documento di metadati di federazione per i servizi configurati per accettare i token di sicurezza che Microsoft Entra ID rilascia. Il formato del documento di metadati della federazione è descritto in Web Services Federation Language (WS-Federation) Version 1.2 (Linguaggio Web Services Federation (WS-Federation) versione 1.2), che estende la pubblicazione Metadata for the OASIS Security Assertion Markup Language (SAML) v2.0 (Metadati per il linguaggio SAML (Security Assertion Markup Language) OASIS v 2.0).

Endpoint di metadati specifici del tenant e indipendenti dal tenant

Microsoft Entra ID pubblica endpoint specifici del tenant e indipendenti dal tenant.

Gli endpoint specifici del tenant sono progettati per un particolare tenant. I metadati di federazione specifici del tenant includono informazioni sul tenant, incluse le informazioni specifiche del tenant relative all'autorità emittente e all’endpoint. Le applicazioni che limitano l'accesso a un singolo tenant utilizzano endpoint specifici del tenant.

Gli endpoint indipendenti dal tenant forniscono informazioni comuni a tutti i tenant di Microsoft Entra. Queste informazioni si applicano ai tenant ospitati in login.microsoftonline.com e vengono condivise tra i tenant. Gli endpoint indipendenti dal tenant sono consigliati per le applicazioni multi-tenant, poiché non sono associati a un tenant specifico.

Endpoint dei metadati della federazione

Microsoft Entra ID pubblica i metadati della federazione all'indirizzo https://login.microsoftonline.com/<TenantDomainName>/FederationMetadata/2007-06/FederationMetadata.xml.

Per gli endpoint specifici del tenant, TenantDomainName può essere uno dei seguenti tipi:

  • Nome di dominio registrato di un tenant di Microsoft Entra, ad esempio : contoso.onmicrosoft.com.
  • L'ID tenant non modificabile del dominio, ad esempio aaaabbbb-0000-cccc-1111-dddd2222eeee.

Per gli endpoint indipendenti dal tenant, TenantDomainName è common. Questo documento elenca solo gli elementi dei metadati di federazione comuni a tutti i tenant di Microsoft Entra ospitati in login.microsoftonline.com.

Un endpoint specifico del tenant può essere ad esempio https://login.microsoftonline.com/contoso.onmicrosoft.com/FederationMetadata/2007-06/FederationMetadata.xml. L'endpoint indipendente dal tenant è https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml. È possibile visualizzare il documento di metadati della federazione digitando questo URL in un browser.

Contenuto dei metadati della federazione

La sezione seguente fornisce le informazioni necessarie per i servizi che utilizzano i token rilasciati dall'ID Microsoft Entra.

L'ID entità

L'elemento EntityDescriptor contiene un attributo EntityID. Il valore dell'attributo EntityID rappresenta l'autorità di certificazione, vale a dire il servizio token di sicurezza che ha rilasciato il token. È importante convalidare l'autorità di certificazione, quando si riceve un token.

I metadati seguenti indicano un elemento EntityDescriptor di esempio specifico del tenant con un elemento 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/">

È possibile sostituire l'ID tenant nell'endpoint indipendente dal tenant con il proprio ID tenant per creare un valore EntityID specifico del tenant. Il valore risultante sarà lo stesso dell’autorità emittente del token. La strategia consente a un'applicazione multi-tenant di convalidare l'autorità di certificazione per un determinato tenant.

I metadati seguenti indicano un esempio di elemento EntityID indipendente dal tenant. Si noti che {tenant} è un valore letterale e non un segnaposto.

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

Certificati per la firma di token

Quando un servizio riceve un token emesso da un tenant di Microsoft Entra, la firma del token deve essere convalidata con una chiave di firma pubblicata nel documento dei metadati della federazione. I metadati di federazione includono la parte pubblica dei certificati utilizzati dai tenant per la firma dei token. I byte non elaborati del certificato vengono visualizzati nell'elemento KeyDescriptor . Il certificato per la firma di token è valido per la firma solo quando il valore dell'attributo use è signing.

Un documento di metadati federativo pubblicato da Microsoft Entra ID può avere più chiavi di firma, ad esempio quando Microsoft Entra ID sta preparando per aggiornare il certificato di firma. Quando un documento di metadati di federazione include certificati, un servizio che convalida i token deve supportare tutti i certificati nel documento.

I metadati seguenti indicano un esempio di elemento KeyDescriptor con una chiave di firma.

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

L'elemento KeyDescriptor appare in due punti del documento di metadati della federazione: nella sezione specifica di WS-Federation e in quella specifica di SAML. I certificati pubblicati in entrambe le sezioni saranno uguali.

Nella sezione specifica di WS-Federation un lettore di metadati di WS-Federation legge i certificati da un elemento RoleDescriptor con il tipo SecurityTokenServiceType.

I metadati seguenti indicano un esempio di elemento 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">

Nella sezione specifica di SAML, un lettore di metadati di WS-Federation legge i certificati da un elemento IDPSSODescriptor .

I metadati seguenti indicano un esempio di elemento IDPSSODescriptor .

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

Non esistono differenze nel formato di certificati specifici del tenant e indipendenti dal tenant.

URL dell'endpoint WS-Federation

I metadati della federazione includono l'URL usato da Microsoft Entra ID per l'accesso Single Sign-In e Single Sign-Out nel protocollo WS-Federation. Questo endpoint viene visualizzato nell'elemento PassiveRequestorEndpoint .

I metadati seguenti indicano un elemento PassiveRequestorEndpoint di esempio per un endpoint specifico del tenant.

<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>

Per l'endpoint indipendente dal tenant, l'URL di WS-Federation viene visualizzato nell'endpoint WS-Federation, come illustrato nell'esempio seguente.

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

URL dell'endpoint del protocollo SAML

I metadati della federazione includono l'URL usato da Microsoft Entra ID per l'accesso Single Sign-In e Single Sign-Out nel protocollo SAML 2.0. Questi endpoint vengono visualizzati nell'elemento IDPSSODescriptor .

Gli URL di accesso e di disconnessione vengono visualizzati negli elementi SingleSignOnService e SingleLogoutService.

I metadati seguenti indicano un PassiveResistorEndpoint di esempio per un endpoint specifico del tenant.

<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>

Allo stesso modo, gli endpoint per gli endpoint del protocollo SAML 2.0 comune vengono pubblicati nei metadati di federazione indipendenti dal tenant, come illustrato nell'esempio seguente.

<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>