Freigeben über


Verwenden von Microsoft Entra MFA mit einem externen Anbieter (Vorschau)

In diesem Artikel wird beschrieben, wie ein externer Authentifizierungsanbieter eine Verbindung mit der mehrstufigen Authentifizierung (MFA) von Microsoft Entra herstellt.

Von Bedeutung

Die Verwendung eines externen Authentifizierungsanbieters befindet sich derzeit in der Vorschau. Weitere Informationen zu Vorschauen finden Sie unter "Universelle Lizenzbedingungen für Onlinedienste".

Mit dieser Vorschau können Sie einen externen Authentifizierungsanbieter verwenden, um Microsoft Entra ID-Mandanten als externe Authentifizierungsmethode zu integrieren. Eine externe Authentifizierungsmethode kann den zweiten Faktor einer MFA-Anforderung für den Zugriff auf eine Ressource oder Anwendung erfüllen. Für externe Authentifizierungsmethoden ist mindestens eine Microsoft Entra ID P1-Lizenz erforderlich.

Wenn sich ein Benutzer anmeldet, werden die Mandantenrichtlinien ausgewertet. Die Authentifizierungsanforderungen werden basierend auf der Ressource bestimmt, auf die der Benutzer zugreifen möchte.

Je nach Ihren Parametern gelten möglicherweise mehrere Richtlinien für die Anmeldung. Zu diesen Parametern gehören Benutzer und Gruppen, Anwendungen, die Plattform, das Anmelderisikoniveau und vieles mehr.

Basierend auf den Authentifizierungsanforderungen muss sich der Benutzer möglicherweise mit einem anderen Faktor anmelden, um die MFA-Anforderung zu erfüllen. Die Art des zweiten Faktors muss die Art des ersten Faktors ergänzen.

Der Mandantenadministrator fügt der Microsoft Entra-ID externe Authentifizierungsmethoden hinzu. Wenn ein Mandant eine externe Authentifizierungsmethode für MFA erfordert, gilt die Anmeldung als erfüllt die MFA-Anforderung, nachdem die Microsoft Entra-ID beide überprüft hat:

  • Der erste Faktor wurde mit der Microsoft Entra-ID abgeschlossen.
  • Der zweite Faktor wurde mit der externen Authentifizierungsmethode abgeschlossen.

Diese Überprüfung erfüllt die MFA-Anforderung für zwei oder mehr Methodentypen:

  • Etwas, das Sie wissen (Wissen)
  • Etwas, das Sie haben (Besitz)
  • Etwas, das Sie sind (Inhärenz)

Externe Authentifizierungsmethoden werden über OpenID Connect (OIDC) implementiert. Diese Implementierung erfordert mindestens drei öffentlich zugängliche Endpunkte, um eine externe Authentifizierungsmethode zu implementieren:

  • Ein OIDC Discovery-Endpunkt, wie in Ermittlung der Metadaten des Anbieters beschrieben.
  • Ein gültiger OIDC-Authentifizierungsendpunkt
  • Eine URL, in der die öffentlichen Zertifikate des Anbieters veröffentlicht werden

So funktioniert die Anmeldung mit einer externen Authentifizierungsmethode:

  1. Ein Benutzer versucht, sich mit einem ersten Faktor, z. B. einem Kennwort, bei einer Anwendung anzumelden, die durch Microsoft Entra ID geschützt ist.

  2. Die Microsoft Entra-ID bestimmt, dass ein weiterer Faktor erfüllt werden muss (z. B. wenn eine Richtlinie für bedingten Zugriff MFA erfordert).

  3. Der Benutzer wählt die externe Authentifizierungsmethode als zweiten Faktor aus.

  4. Die Microsoft Entra-ID leitet die Browsersitzung des Benutzers an die URL der externen Authentifizierungsmethode weiter.

    Diese URL wird aus der Ermittlungs-URL ermittelt, die ein Administrator beim Erstellen der externen Authentifizierungsmethode bereitgestellt hat.

    Die Anwendung stellt ein abgelaufenes oder fast abgelaufenes Token bereit, das Informationen zum Identifizieren des Benutzers und des Mandanten enthält.

  5. Der externe Authentifizierungsanbieter überprüft, ob das Token von Microsoft Entra ID stammt, und überprüft den Inhalt des Tokens.

  6. Möglicherweise ruft der externe Authentifizierungsanbieter Microsoft Graph auf, um zusätzliche Informationen über den Benutzer abzurufen.

  7. Der externe Authentifizierungsanbieter führt alle erforderlichen Aktionen aus, z. B. die Authentifizierung des Benutzers mit anmeldeinformationen.

  8. Der externe Authentifizierungsanbieter leitet den Benutzer zurück zur Microsoft Entra-ID mit einem gültigen Token, einschließlich aller erforderlichen Ansprüche.

  9. Microsoft Entra ID überprüft, ob die Signatur des Tokens vom konfigurierten externen Authentifizierungsanbieter stammt, und überprüft dann den Inhalt des Tokens.

  10. Microsoft Entra ID überprüft das Token anhand der Anforderungen.

  11. Wenn die Überprüfung erfolgreich ist, bedeutet dies, dass der Benutzer die MFA-Anforderung erfüllt hat. Möglicherweise muss der Benutzer auch andere Richtlinienanforderungen erfüllen.

Diagramm, das zeigt, wie eine externe Authentifizierungsmethode funktioniert.

Konfigurieren eines neuen externen Authentifizierungsanbieters mit Microsoft Entra-ID

Um id_token_hint auszustellen, benötigen externe Authentifizierungsmethoden eine Anwendung, die die Integration unterstützt. Sie können die Anwendung auf zwei Arten erstellen:

  • Bei jedem Mandanten, der den externen Dienstanbieter verwendet.
  • Als eine mehrinstanzenfähige Anwendung. Um die Integration für ihren Mandanten zu aktivieren, müssen Privilegierte Rollenadministratoren die Zustimmung erteilen.

Die Nutzung einer mehrinstanzenfähigen Anwendung kann die Wahrscheinlichkeit von Fehlkonfigurationen bei einzelnen Mandanten verringern. Anbieter können auch Änderungen an Metadaten vornehmen (z. B. Antwort-URLs an einer Zentralen Stelle), anstatt dass jeder Mandant die Änderungen vornehmen muss.

Um eine mehrinstanzenfähige Anwendung zu konfigurieren, muss der Anbieteradministrator zuerst:

  1. Erstellen Sie einen Microsoft Entra ID-Mandanten (sofern sie noch keinen besitzen).

  2. Registrieren Sie eine Anwendung im Mandanten.

  3. Wählen Sie in der Anwendung unter Unterstützte Kontotypen die Option Konten in einem beliebigen Organisationsverzeichnis (Beliebiger Microsoft Entra ID-Mandant - Multitenant) aus.

  4. Fügen Sie die delegierten Berechtigungen openid und profile Werte für Microsoft Graph hinzu.

  5. Veröffentlichen Sie keine Bereiche in dieser Anwendung.

  6. Fügen Sie die gültigen authorization_endpoint URLs des externen Identitätsanbieters als Antwort-URLs zu dieser Anwendung hinzu.

    Hinweis

    Fügen Sie in der Anwendungsregistrierung den authorization_endpoint im Discoverydokument des Anbieters bereitgestellten Wert als Umleitungs-URL hinzu. Andernfalls erhalten Sie die folgende Fehlermeldung: "ENTRA IDSTS50161: Fehler beim Überprüfen der Autorisierungs-URL des externen Anspruchsanbieters!"

Der Prozess der Anwendungsregistrierung erstellt eine Anwendung mit mehreren Eigenschaften. Sie benötigen diese Eigenschaften für unser Szenario.

Eigenschaft Beschreibung
ObjectID Der Anbieter kann die Objekt-ID mit Microsoft Graph verwenden, um die Anwendungsinformationen abzufragen.

Der Anbieter kann die Objekt-ID verwenden, um die Anwendungsinformationen programmgesteuert abzurufen und zu bearbeiten.
Anwendungs-ID Der Anbieter kann die Anwendungs-ID als Client-ID ihrer Anwendung verwenden.
URL der Startseite Die URL der Anbieterhomepage wird für nichts verwendet, sie müssen die Anwendung aber registrieren.
Antwort-URLs Gültige Umleitungs-URLs für den Anbieter. Eine sollte mit der Anbieterhost-URL übereinstimmen, die für den Mandanten des Anbieters festgelegt wurde. Einer der registrierten Antwort-URLs muss mit dem Präfix des authorization_endpoint-Werts übereinstimmen, den die Microsoft Entra ID für die Host-URL über OIDC Discovery abruft.

Ein weiteres gültiges Modell zur Unterstützung der Integration besteht darin, eine Anwendung für jeden Mandanten zu verwenden. Wenn Sie eine Registrierung mit einem einzelnen Mandanten verwenden, muss der Mandantenadministrator eine Anwendungsregistrierung mit den Eigenschaften in der vorherigen Tabelle für eine Einzelmandantenanwendung erstellen.

Hinweis

Sie benötigen Administratorzustimmung für die Anwendung im Mandanten, die die externe Authentifizierungsmethode verwendet. Wenn Sie keine Zustimmung erteilen, wird der folgende Fehler angezeigt, wenn ein Administrator versucht, die externe Authentifizierungsmethode zu verwenden: "AADSTS900491: Dienstprinzipal <Ihre App-ID> wurde nicht gefunden."

Konfigurieren optionaler Ansprüche

Ein Anbieter kann mehr Claims durch optionale Claims für id_token konfigurieren.

Hinweis

Unabhängig davon, wie die Anwendung erstellt wird, muss der Anbieter optionale Ansprüche für jede Cloudumgebung konfigurieren. Wenn eine mehrinstanzenfähige Anwendung für Azure weltweit und für Azure für US Government verwendet wird, erfordert jede Cloudumgebung eine andere Anwendung und Anwendungs-ID.

Hinzufügen einer externen Authentifizierungsmethode zur Microsoft Entra-ID

Informationen zu externen Identitätsanbietern werden in der Authentifizierungsmethodenrichtlinie jedes Mandanten gespeichert. Die Anbieterinformationen werden als Authentifizierungsmethode des Typs externalAuthenticationMethodConfigurationgespeichert.

Jeder Anbieter hat einen Eintrag im Listenobjekt der Richtlinie. Jeder Eintrag muss Folgendes angeben:

  • Wenn die Methode aktiviert ist.
  • Die enthaltenen Gruppen, die die Methode verwenden können.
  • Die ausgeschlossenen Gruppen, die die Methode nicht verwenden können.

Um die MFA-Anforderung für die Benutzeranmeldung festzulegen, können Benutzer mit der Rolle "Administrator für bedingten Zugriff" eine Richtlinie mit dem Erfordernis von MFA erstellen. Externe Authentifizierungsmethoden werden derzeit nicht mit Authentifizierungsstärken unterstützt.

Erfahren Sie mehr darüber , wie Sie eine externe Authentifizierungsmethode im Microsoft Entra Admin Center hinzufügen.

Microsoft Entra ID-Interaktion mit dem Anbieter

In den nächsten Abschnitten werden die Anbieteranforderungen erläutert und Beispiele für die Interaktion von Microsoft Entra-ID mit einem Anbieter erläutert.

Ermittlung der Metadaten des Anbieters

Ein externer Identitätsanbieter muss einen OIDC Discovery-Endpunkt bereitstellen. Dieser Endpunkt wird verwendet, um weitere Konfigurationsdaten abzurufen.

Die Discovery-URL muss das https-Schema verwenden und muss mit /.well-known/openid-configuration enden. Sie können nach diesem Segment keine zusätzlichen Pfadsegmente, Abfragezeichenfolgen oder Fragmente einschließen. Die vollständige Ermittlungs-URL muss in der Ermittlungs-URL enthalten sein, die Sie beim Erstellen der externen Authentifizierungsmethode konfigurieren.

Der Endpunkt gibt ein dort gehostetes JSON-Dokument mit Anbietermetadaten zurück. Der Endpunkt muss auch einen gültigen Content-Length-Header zurückliefern. Das Metadatendokument mussopenID Connect Discovery 1.0 (mit Errata-Satz 2) einhalten und alle erforderlichen OIDC-Metadatenfelder enthalten.

Die Metadaten des Anbieters müssen die in der folgenden Tabelle aufgeführten Daten enthalten. Diese Werte sind für dieses Erweiterbarkeitsszenario erforderlich. Das JSON-Metadatendokument enthält möglicherweise weitere Informationen.

Informationen zum OIDC-Dokument mit den Werten für Anbietermetadaten finden Sie unter Anbietermetadaten.

Metadatenwert Wert Kommentare
Issuer Muss eine HTTPS-URL sein.

Der Ausstellerwert muss zeichengetreu dem konfigurierten Aussteller, dem Ausstellerwert im Ermittlungsdokument und dem Anspruch in den iss Tokens entsprechen, die vom Dienst des Anbieters ausgestellt wurden.

Der Aussteller kann ein Port- oder Pfadsegment enthalten, darf jedoch keine Abfrageparameter oder Fragmentbezeichner enthalten.
authorization_endpoint Der Endpunkt, mit dem Microsoft Entra ID für die Autorisierung kommuniziert. Dieser Endpunkt muss als eine der Antwort-URLs für die zulässigen Anwendungen vorhanden sein.
jwks_uri Der Speicherort, an dem die Microsoft Entra-ID die öffentlichen Schlüssel finden kann, die er benötigt, um die vom Anbieter ausgestellten Signaturen zu überprüfen. Dies jwks_urimuss ein HTTPS-Endpunkt sein und darf keine Abfrageparameter oder Fragmentbezeichner enthalten.

Der JSON Web Key (JWK) x5c -Parameter muss vorhanden sein, um X.509-Darstellungen der bereitgestellten Schlüssel bereitzustellen.
scopes_supported openid Andere Werte können ebenfalls enthalten sein, sind aber nicht erforderlich.
response_types_supported id_token Andere Werte können ebenfalls enthalten sein, sind aber nicht erforderlich.
subject_types_supported
id_token_signing_alg_values_supported Microsoft unterstützt RS256.
claim_types_supported normal Diese Eigenschaft ist optional, aber falls vorhanden, sollte sie den normal Wert enthalten. Andere Werte können ebenfalls eingeschlossen werden.
https://customcaserver.azurewebsites.net/v2.0/.well-known/openid-configuration
{
  "authorization_endpoint": "https://customcaserver.azurewebsites.net/api/Authorize",
  "claims_supported": [
    "email"
  ],
  "grant_types_supported": [
    "implicit"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "issuer": "https://customcaserver.azurewebsites.net/v2.0",
  "jwks_uri": "https://customcaserver.azurewebsites.net/.well-known/jwks",
  "response_modes_supported": [
    "form_post"
  ],
  "response_types_supported": [
    "id_token"
  ],
  "scopes_supported": [
    "openid"
  ],
  "SigningKeys": [],
  "subject_types_supported": [
    "public"
  ]
}

https://customcaserver.azurewebsites.net/.well-known/jwks
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
      "x5t": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
      "n": "jq277LRoE6WKM0awT3b...vt8J6MZvmgboVB9S5CMQ",
      "e": "AQAB",
      "x5c": [
        "cZa3jz...Wo0rzA="
      ]
    }
  ]
}

Hinweis

Der JWK-Parameter x5c muss vorhanden sein, um X.509-Darstellungen der bereitgestellten Schlüssel bereitzustellen.

Beispiele für Discovery-URLs und Aussteller

Die folgenden Beispiele veranschaulichen gültige und ungültige Ermittlungs-URL und Ausstellerkombinationen für diese Integration.

Gültige Discovery-URL und Issuer-Paare
  • Ermittlungs-URL: https://example.com/.well-known/openid-configuration
    Aussteller: https://example.com
  • Ermittlungs-URL: https://example.com:8443/.well-known/openid-configuration
    Aussteller: https://example.com:8443
  • Ermittlungs-URL: https://example.com/tenant1/.well-known/openid-configuration
    Aussteller: https://example.com/tenant1
Beispiele für ungültige Entdeckungs-URL und Herausgeber
  • Ermittlungs-URL: https://example.com/.well-known/openid-configuration
    Issuer: https://example.com:443/ (Standardmäßiger HTTPS-Port explizit im Herausgeber angegeben.)
  • Ermittlungs-URL: https://example.com:443/.well-known/openid-configuration
    Aussteller: https://example.com/ (Port-Missverhältnis.)
  • Ermittlungs-URL: https://example.com/.well-known/openid-configuration?client_id=0oasxuxkghOniBjlQ697
    Aussteller: https://example.com (Sie können keine Abfragezeichenfolge in eine Discovery-URL einschließen.)

Zwischenspeichern der Anbietermetadaten

Um die Leistung zu verbessern, speichert Die Microsoft Entra-ID Metadaten zwischen, die der Anbieter zurückgibt, einschließlich der Schlüssel. Das Zwischenspeichern von Anbietermetadaten verhindert einen Ermittlungsaufruf jedes Mal, wenn Microsoft Entra ID mit einem externen Identitätsanbieter kommuniziert.

Dieser Cache wird alle 24 Stunden aktualisiert. Es wird empfohlen, dass Anbieter die folgenden Schritte ausführen, um ihre Schlüssel zu überrollen:

  1. Veröffentlichen Sie das vorhandene Zertifikat und das neue Zertifikat in jwks_uri.
  2. Melden Sie sich weiterhin mit dem vorhandenen Zertifikat an, bis der Microsoft Entra-ID-Cache aktualisiert, abgelaufen oder erneuert wird (alle 2 Tage).
  3. Wechseln Sie zur Anmeldung mit dem neuen Zertifikat.

Wir veröffentlichen keine Zeitpläne für Schlüsselrollover. Der abhängige Dienst muss darauf vorbereitet sein, sowohl sofortige als auch regelmäßige Rollover zu verarbeiten. Wir empfehlen die Verwendung einer dedizierten Bibliothek, die zu diesem Zweck erstellt wurde, wie azure-activedirectory-identitymodel-extensions-for-dotnet. Weitere Informationen finden Sie unter Rollover von Signaturschlüsseln in Microsoft Entra ID.

Ermittlung von Microsoft Entra ID-Metadaten

Anbieter müssen auch die öffentlichen Schlüssel von Microsoft Entra ID abrufen, um die von Microsoft Entra ID ausgestellten Token zu überprüfen.

Microsoft Entra ID-Metadatenermittlungsendpunkte:

  • Azure weltweit: https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
  • Azure für US-Regierungsbehörden: https://login.microsoftonline.us/common/v2.0/.well-known/openid-configuration
  • Microsoft Azure, betrieben von 21Vianet: https://login.partner.microsoftonline.cn/common/v2.0/.well-known/openid-configuration

Sie können den öffentlichen Schlüsselbezeichner aus dem Token (dem "Kid" aus JSON Web Signature (JWS)) verwenden, um zu bestimmen, welche der von der jwks_uri Eigenschaft abgerufenen Schlüssel verwendet werden soll, um die Microsoft Entra ID-Tokensignatur zu überprüfen.

Überprüfen von Token, die von Microsoft Entra ID ausgestellt wurden

Informationen zum Überprüfen der von microsoft Entra ID ausgestellten Token finden Sie unter Validieren eines ID-Tokens. Es gibt keine speziellen Schritte für die Verbraucher unserer Ermittlungsmetadaten.

Alle Details zur Tokenüberprüfung finden Sie in der Tokenüberprüfungsbibliothek von Microsoft. Sie können diese Details auch ermitteln, indem Sie den Quellcode durchsuchen. Ein Beispiel finden Sie unter Azure-Beispiele.

Nachdem die Validierung erfolgreich war, können Sie mit der Claims-Payload arbeiten, um Details über den Benutzer und seinen Mandanten abzurufen.

Hinweis

Es ist wichtig, den id_token_hint Wert zu überprüfen, um sicherzustellen, dass er von einem Microsoft-Mandanten stammt und Ihre Integration darstellt. Der id_token_hint Wert sollte vollständig überprüft werden, insbesondere die Signatur, der Aussteller, die Zielgruppe und andere Anspruchswerte.

Microsoft Entra ID-Aufruf an den externen Identitätsanbieter

Microsoft Entra ID verwendet den impliziten OIDC-Fluss für die Kommunikation mit dem externen Identitätsanbieter. Wenn Sie diesen Fluss verwenden, erfolgt die Kommunikation mit dem Anbieter nur mithilfe des Autorisierungsendpunkts des Anbieters.

Um den Anbieter über den Benutzer zu informieren, für den Die Microsoft Entra-ID die Anforderung vornimmt, übergibt die Microsoft Entra-ID ein Token über den id_token_hint Parameter.

Dieser Aufruf erfolgt über eine POST Anforderung, da eine große Liste von Parametern an den Anbieter übergeben wird. Eine große Liste verhindert die Verwendung von Browsern, die die Länge einer GET Anforderung begrenzen.

Die Parameter für die Authentifizierungsanforderung sind in der folgenden Tabelle aufgeführt.

Hinweis

Der Anbieter sollte andere Parameter in der Anforderung ignorieren, es sei denn, er wird in der folgenden Tabelle aufgeführt.

Authentifizierungsabfrageparameter Wert Beschreibung
scope openid
response_type Id_token Der für den impliziten Fluss verwendete Wert.
response_mode form_post Wir verwenden das Formular POST , um Probleme mit großen URLs zu vermeiden. Wir erwarten, dass alle Parameter im Textkörper der Anforderung gesendet werden.
client_id Die Client-ID, die von einem externen Identitätsanbieter, z. B. ABCD, an Microsoft Entra ID gegeben wird. Weitere Informationen finden Sie unter Beschreibung der externen Authentifizierungsmethode.
redirect_uri Der Umleitungs-URI (Uniform Resource Identifier), an den der externe Identitätsanbieter die Antwort (id_token_hint) sendet. Siehe hierzu ein Beispiel im Anschluss an diese Tabelle.
nonce Eine zufällige Zeichenfolge, die von Microsoft Entra ID generiert wird. Dies kann die Sitzungs-ID sein. Falls bereitgestellt, muss sie in der Antwort an Microsoft Entra ID zurückgegeben werden.
state Falls der Anbieter übergeben wird, sollte er state in seiner Antwort zurückgeben. Microsoft Entra-ID verwendet state , um den Kontext zum Aufruf beizubehalten.
id_token_hint Ein Token, das Microsoft Entra ID für den Benutzer ausstellt und zum Vorteil des Anbieters weitergibt.
claims Ein JSON-Blob, das die angeforderten Ansprüche enthält. Ausführliche Informationen zum Format dieses Parameters finden Sie unter Anspruchsanforderungsparameter in der OIDC-Dokumentation und ein Beispiel nach dieser Tabelle.
client-request-id Ein GUID-Wert Ein Anbieter kann diesen Wert protokollieren, um Probleme zu beheben.

Beispiel für einen Umleitungs-URI

Die Umleitungs-URIs sollten beim Anbieter off-band registriert werden. Die umleitungs-URIs, die Sie senden können, sind:

  • Azure weltweit: https://login.microsoftonline.com/common/federation/externalauthprovider
  • Azure für US-Regierungsbehörden: https://login.microsoftonline.us/common/federation/externalauthprovider
  • Microsoft Azure, betrieben von 21Vianet: https://login.partner.microsoftonline.cn/common/federation/externalauthprovider

Beispiel für eine externe Authentifizierungsmethode, die MFA erfüllt

Hier ist ein Beispiel, bei dem eine externe Authentifizierungsmethode MFA-Anforderungen erfüllt. Dieses Beispiel hilft einem Anbieter zu erfahren, welche Ansprüche Microsoft Entra ID erwartet.

Microsoft Entra ID verwendet die Kombination der acr- und amr-Werte zur Validierung, dass:

  • Die für den zweiten Faktor verwendete Authentifizierungsmethode erfüllt die MFA-Anforderung.
  • Die Authentifizierungsmethode ist ein anderer Typ als die Methode, die zum Abschließen des ersten Faktors für die Anmeldung bei Microsoft Entra ID verwendet wird.
{
  "id_token": {
    "acr": {
      "essential": true,
      "values":["possessionorinherence"]
    },
    "amr": {
      "essential": true,
      "values": ["face", "fido", "fpt", "hwk", "iris", "otp", "pop", "retina", "sc", "sms", "swk", "tel", "vbm"]
    }
  }
}

Standardanspruchsdaten für id_token_hint

In diesem Abschnitt werden die erforderlichen Inhalte des Tokens beschrieben, das wie id_token_hint in der Anforderung an den Anbieter übergeben wird. Das Token enthält möglicherweise mehr Ansprüche als in der folgenden Tabelle dargestellt.

Anspruch Wert Beschreibung
iss Identifiziert den Sicherheitstokendienst (STS), der das Token und den Microsoft Entra ID-Mandanten, in dem der Benutzer authentifiziert wurde, erstellt und zurückgibt.

Ihre App sollte ggf. den GUID-Teil des Anspruchs verwenden, um die Mandanten einzuschränken, die sich bei der App anmelden können.

Der Aussteller sollte mit der Aussteller-URL aus den OIDC Discovery JSON-Metadaten für den Mandanten übereinstimmen, in dem sich der Benutzer angemeldet hat.
aud Das Audience sollte auf die Client-ID des externen Identitätsanbieters für die Microsoft Entra ID festgelegt werden.
exp Die Ablaufzeit ist so festgelegt, dass sie kurz nach der Ausgabezeit abläuft, um Zeitversatzprobleme zu vermeiden. Da dieses Token nicht für die Authentifizierung vorgesehen ist, gibt es keinen Grund, warum seine Gültigkeit die Anfrage lange überdauern sollte.
iat Legen Sie die Ausgabezeit wie gewohnt fest.
tid Die Mandanten-ID dient zum Anzeigen des Mandanten gegenüber dem Anbieter. Sie stellt den Microsoft Entra ID-Mandanten dar, von dem der Benutzer stammt.
oid Der unveränderliche Bezeichner für ein Objekt in der Microsoft Identity Platform. In diesem Fall handelt es sich um ein Benutzerkonto. Er kann auch verwendet werden, um Autorisierungsüberprüfungen auf sichere Weise durchzuführen, und er kann als Schlüssel in Datenbanktabellen genutzt werden.

Mit dieser ID wird der Benutzer anwendungsübergreifend eindeutig identifiziert. Zwei verschiedene Anwendungen, die sich beim gleichen Benutzer anmelden, erhalten den gleichen Wert im oid Anspruch. Daher kann der oid Anspruch in Abfragen an Microsoft-Onlinedienste wie Microsoft Graph verwendet werden.
preferred_username Stellt einen lesbaren Wert bereit, der das Subjekt des Tokens identifiziert. Dieser Wert ist innerhalb eines Mandanten nicht zwingend eindeutig. Er dient nur zu Anzeigezwecken.
sub Subjektbezeichner für den Benutzer beim Herausgeber. Der Prinzipal, für den das Token Informationen bestätigt (beispielsweise der Benutzer einer Anwendung).

Dieser Wert ist unveränderlich und kann nicht erneut zugewiesen oder wiederverwendet werden. Es kann verwendet werden, um Autorisierungsprüfungen sicher durchzuführen, z. B. wenn das Token für den Zugriff auf eine Ressource verwendet wird. Sie kann als Schlüssel in Datenbanktabellen verwendet werden.

Da das Subjekt immer in den Token vorhanden ist, die Microsoft Entra ID ausstellt, empfehlen wir die Nutzung dieses Werts in einem allgemeinem Autorisierungssystem. Das Subjekt ist jedoch ein paarweiser Bezeichner und ist für eine bestimmte Anwendungs-ID eindeutig.

Wenn sich ein einzelner Benutzer mit zwei verschiedenen Client-IDs bei zwei verschiedenen Anwendungen anmeldet, erhalten diese Anwendungen daher zwei unterschiedliche Werte für den Antragstelleranspruch.

Je nach Architektur und Datenschutzanforderungen möchten Sie dieses Ergebnis möglicherweise oder nicht.

Siehe auch den oid Anspruch (der für Apps innerhalb eines Mandanten gleich bleibt).

Um zu verhindern, dass das Token für etwas anderes als einen Hinweis verwendet wird, wird es im abgelaufenen Zustand ausgegeben. Das Token ist signiert und kann mithilfe der veröffentlichten Microsoft Entra ID-Ermittlungsmetadaten überprüft werden.

Optionale Ansprüche von Microsoft Entra ID

Wenn ein Anbieter optionale Ansprüche von Microsoft Entra ID benötigt, können Sie die folgenden optionalen Ansprüche für id_token: given_name, family_name, preferred_username, upn konfigurieren. Weitere Informationen finden Sie unter Optionale Ansprüche.

Es wird empfohlen, Konten auf der Seite des Anbieters mit dem Konto in Azure zu verknüpfen, indem Sie die oid- und tid-Claims verwenden. Diese beiden Ansprüche sind für das Konto im Mandanten garantiert eindeutig.

Beispiel für „id_token_hint“

Hier ist ein Beispiel von id_token_hint für ein Verzeichnismitglied.

{
  "typ": "JWT",
  "alg": "RS256",
  "kid": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w"
}.{
  "ver": "2.0",
  "iss": "https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0",
  "sub": "mBfcvuhSHkDWVgV72x2ruIYdSsPSvcj2R0qfc6mGEAA",
  "aud": "00001111-aaaa-2222-bbbb-3333cccc4444",
  "exp": 1536093790,
  "iat": 1536093791,
  "nbf": 1536093791,
  "name": "Test User 2",
  "preferred_username": "testuser2@contoso.com"
  "oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
  }.

Hier ist ein Beispiel id_token_hint für einen Gastbenutzer des Mandanten:

{
  "typ": "JWT",
  "alg": "RS256",
  "kid": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w"
}.{
  "ver": "2.0",
  "iss": "https://login.microsoftonline.com/9122040d-6c67-4c5b-b112-36a304b66dad/v2.0",
  "sub": "mBfcvuhSHkDWVgV72x2ruIYdSsPSvcj2R0qfc6mGEAA",
  "aud": "00001111-aaaa-2222-bbbb-3333cccc4444",
  "exp": 1536093790,
  "iat": 1536093791,
  "nbf": 1536093791,
  "name": "External Test User (Hotmail)",
  "preferred_username": "externaltestuser@hotmail.com",
  "oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
  "tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
  }.


Vorgeschlagene Aktionen für externe Identitätsanbieter

Es wird empfohlen, dass externe Identitätsanbieter die folgenden Elemente abschließen. Die Liste ist nicht vollständig, und Anbieter sollten andere angemessene Überprüfungsschritte ausführen.

  • Aus der Anforderung:

    • Stellen Sie sicher, dass die redirect_uri Veröffentlichung gemäß der Beschreibung im Microsoft Entra ID-Aufruf an den externen Identitätsanbieter erfolgt.
    • Stellen Sie sicher, dass die konfigurierte Discovery-URL HTTPS verwendet und mit /.well-known/openid-configuration endet. Stellen Sie außerdem sicher, dass sie keine Abfrageparameter oder Fragmentbezeichner enthält. Stellen Sie sicher, dass der Ausstellerwert dem Ermittlungsdokument exakt entspricht.
    • Stellen Sie sicher, dass dem client_id ein Wert zugewiesen ist, z. B. die Microsoft Entra ID wie ABCD.
    • Der Anbieter sollte zuerst überprüfen , ob die id_token_hint Microsoft Entra-ID darin angezeigt wird.
  • Aus den Ansprüchen in der id_token_hint:

    • (Optional) Rufen Sie Microsoft Graph auf, um weitere Details zu diesem Benutzer abzurufen. Die Ansprüche in oid und tid in id_token_hint sind in dieser Hinsicht nützlich. Ausführliche Informationen zu den in id_token_hintdiesem Artikel bereitgestellten Ansprüchen finden Sie unter Standardansprücheid_token_hint.
  • Führen Sie alle anderen Authentifizierungsaktivitäten für das Produkt des Anbieters aus.

  • Je nach dem Ergebnis der Benutzeraktionen und anderer Faktoren würde der Anbieter dann eine Antwort erstellen und an Microsoft Entra ID senden, wie im nächsten Abschnitt erläutert.

Verarbeitung der Anbieterantwort durch Microsoft Entra ID

Der Anbieter muss POST verwenden, um eine Antwort an redirect_uri zu senden. Die folgenden Parameter sollten für eine erfolgreiche Antwort bereitgestellt werden:

Parameter Wert Beschreibung
id_token Das Token, das der externe Identitätsanbieter ausgibt.
state Derselbe Status, der in der Anforderung übergeben wurde, falls vorhanden. Andernfalls sollte dieser Wert nicht vorhanden sein.

Bei Erfolg würde der Anbieter dann einen id_token Wert für den Benutzer ausgeben. Microsoft Entra-ID verwendet die veröffentlichten OIDC-Metadaten, um zu überprüfen, ob das Token die erwarteten Ansprüche enthält, und führt eine andere Tokenüberprüfung durch, die OIDC erfordert.

Anspruch Wert Beschreibung
iss Aussteller: muss dem Aussteller aus den Discoverymetadaten des Anbieters entsprechen.
aud Zielgruppe: die Microsoft Entra ID-Client-ID. Siehe client_id im Microsoft Entra ID-Aufruf an den externen Identitätsanbieter.
exp Ablaufzeit: Wie gewohnt festgelegt.
iat Ausgabezeit: wie gewohnt festgelegt.
sub Betreff: muss mit dem Sub des id_token_hint übereinstimmen, der gesendet wurde, um diese Anforderung zu initiieren.
nonce Derselbe nonce Wert, der in der Anforderung übergeben wurde.
acr Die acr Anforderungen für die Authentifizierungsanforderung. Dieser Wert sollte mit einem der Werte der Anforderung übereinstimmen, die gesendet wurden, um diese Anforderung zu initiieren. Es sollte nur ein acr Anspruch zurückgegeben werden. Eine Liste der Ansprüche finden Sie unter "Unterstützte acr Ansprüche".
amr Die amr Ansprüche für die verwendete Authentifizierungsmethode. Dieser Wert sollte als Array zurückgegeben werden, und nur ein Methodenanspruch sollte zurückgegeben werden. Eine Liste der Ansprüche finden Sie unter "Unterstützte amr Ansprüche".
Unterstützte acr-Ansprüche
Anspruch Hinweise
possessionorinherence Die Authentifizierung muss einen besitz- oder inherenzbasierten Faktor verwenden.
knowledgeorpossession Die Authentifizierung muss einen wissens- oder besitzbasierten Faktor verwenden.
knowledgeorinherence Die Authentifizierung muss einen wissens- oder inhärenzbasierten Faktor verwenden.
knowledgeorpossessionorinherence Die Authentifizierung muss einen wissens-, besitz- oder inherenzbasierten Faktor verwenden.
knowledge Die Authentifizierung muss einen wissensbasierten Faktor verwenden.
possession Die Authentifizierung muss einen besitzbasierten Faktor verwenden.
inherence Die Authentifizierung muss einen inherence-basierten Faktor verwenden.
Unterstützte amr-Ansprüche
Anspruch Hinweise
face Biometrie mit Gesichtserkennung
fido FIDO2 verwendet
fpt Biometrie mit Fingerabdruck
hwk Nachweis des Besitzes von hardwaregesicherten Schlüsseln
iris Biometrie mit Irisscan
otp Einmalkennwort
pop Proof of Possession (Besitznachweis)
retina Biometrie des Netzhautscans
sc Chipkarte
sms Bestätigung durch Text an registrierte Nummer
swk Bestätigung des Vorhandenseins eines softwaresicherten Schlüssels
tel Bestätigung per Telefon
vbm Biometrie mit Stimmabdruck

Microsoft Entra-ID erfordert, dass MFA zufrieden ist, um ein Token mit MFA-Ansprüchen auszustellen. Daher können nur Methoden mit einem anderen Typ die zweite Faktoranforderung erfüllen. Wie bereits erwähnt, sind die verschiedenen Methodentypen, die verwendet werden können, um den zweiten Faktor zu erfüllen, Wissen, Besitz und Inhärenz.

Microsoft Entra ID überprüft die Typzuordnung basierend auf der folgenden Tabelle.

Anspruchsmethode Typ Hinweise
face Inhärenz Biometrie mit Gesichtserkennung.
fido Besitz FIDO2 wird verwendet. Einige Implementierungen erfordern möglicherweise auch biometrische Methoden, aber die Besitzmethode wird zugeordnet, da es sich um das primäre Sicherheitsattribut handelt.
fpt Inhärenz Biometrie mit Fingerabdruck.
hwk Besitz Nachweis des Besitzes eines hardwaregeschützten Schlüssels.
iris Inhärenz Biometrie mit Irisscan.
otp Besitz Einmaliges Kennwort.
pop Besitz Besitznachweis.
retina Inhärenz Biometrischer Netzhaut-Scan.
sc Besitz Smartcard.
sms Besitz Bestätigung per Text an eine registrierte Nummer.
swk Besitz Nachweis des Vorhandenseins eines softwaresicherten Schlüssels.
tel Besitz Bestätigung telefonisch.
vbm Inhärenz Biometrie mit Sprachdruck.

Microsoft Entra ID betrachtet die MFA als erfüllt, wenn keine Probleme mit dem Token festgestellt werden, und gibt dem Benutzer dann ein Token aus. Andernfalls schlägt die Anforderung des Benutzers fehl.

Der Fehler wird durch das Ausgeben von Fehlerantwortparametern angezeigt.

Parameter Wert Beschreibung
Fehler Ein ASCII-Fehlercode, wie z. B. access_denied oder temporarily_unavailable

Die Microsoft Entra-ID betrachtet die Anforderung als erfolgreich, wenn id_token parameter in der Antwort vorhanden ist und das Token gültig ist. Andernfalls gilt die Anforderung als erfolglos. Die Microsoft Entra-ID schlägt den ursprünglichen Authentifizierungsversuch aufgrund der Anforderung der Richtlinie für bedingten Zugriff fehl.

Microsoft Entra ID verwirft den Status des Authentifizierungsversuchs auf seiner Seite etwa 5 Minuten nach der Umleitung an den Anbieter.

Behandlung von Microsoft Entra-ID-Fehlerantworten

Microsoft Azure-Dienste verwenden einen correlationId Wert, um Anrufe über verschiedene interne und externe Systeme hinweg zu korrelieren. Diese dient als allgemeiner Bezeichner des gesamten Vorgangs oder Flusses, der potenziell mehrere HTTP-Aufrufe umfasst. Wenn während eines der Vorgänge ein Fehler auftritt, enthält die Antwort ein Feld mit dem Namen "Korrelations-ID".

Wenn Sie sich an den Microsoft-Support oder einen ähnlichen Dienst wenden, stellen Sie den Korrelations-ID-Wert bereit. Dadurch können Sie schneller auf Telemetrie und Protokolle zugreifen.

Zum Beispiel:

ENTRA IDSTS70002: Error validating credentials. ENTRA IDSTS50012: External ID token from issuer 'https://sts.XXXXXXXXX.com/auth/realms/XXXXXXXXXmfa' failed signature verification. KeyID of token is 'A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u'

Trace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333

Correlation ID: aaaa0000-bb11-2222-33cc-444444dddddd

Timestamp: 2023-07-24 16:51:34Z

Benutzerdefinierte Steuerelemente und methoden für die externe Authentifizierung

In microsoft Entra ID können externe Authentifizierungsmethoden und benutzerdefinierte Steuerelemente für bedingten Zugriff parallel ausgeführt werden, während Kunden sich auf externe Authentifizierungsmethoden vorbereiten und migrieren.

Kunden, die derzeit eine Integration mit einem externen Anbieter mithilfe von benutzerdefinierten Steuerelementen verwenden, können sie weiterhin verwenden, ebenso wie alle Richtlinien für bedingten Zugriff, die sie für die Verwaltung des Zugriffs konfiguriert haben. Es wird empfohlen, dass Administratoren während des Migrationszeitraums einen parallelen Satz von Richtlinien für bedingten Zugriff erstellen:

  • Die Richtlinien sollten das Gewährungssteuerelement Multi-Faktor-Authentifizierung erfordern anstelle der Gewährung mit benutzerdefinierten Steuerelementen verwenden.

    Hinweis

    Die Gewährung von Zugriffskontrollen basierend auf den Authentifizierungsstärken, einschließlich der integrierten MFA-Stärke, werden von der externen Authentifizierungsmethode nicht unterstützt. Richtlinien sollten nur mit Erfordern der Multi-Faktor-Authentifizierung konfiguriert werden.

  • Die neue Richtlinie kann zuerst mit einer Teilmenge von Benutzern getestet werden. Die Testgruppe wird von der Richtlinie ausgeschlossen, die benutzerdefinierte Steuerelemente erfordert, und in die Richtlinie einbezogen, die MFA erfordert. Wenn der Administrator sich sicher ist, dass die Richtlinie, welche MFA verlangt, von der externen Authentifizierungsmethode erfüllt ist, kann der Administrator alle erforderlichen Benutzer in die Richtlinie mit der MFA-Erteilung einschließen. Die richtlinie, die für benutzerdefinierte Steuerelemente konfiguriert ist, kann in die Einstellung "Aus" verschoben werden.

Integrationsunterstützung

Wenn Sie Probleme bei der Erstellung der Integration von externen Authentifizierungsmethoden mit Microsoft Entra ID haben, kann möglicherweise der Microsoft Customer Experience Engineering (CxE) Independent Solution Vendor (ISV) Unterstützung bieten. Um mit dem CxE ISV-Team in Kontakt zu treten, übermitteln Sie eine Anfrage zur Unterstützung.

Referenzen

Glossar

Begriff Beschreibung
MFA Multi-Faktor-Authentifizierung.
Externe Authentifizierungsmethode Eine Authentifizierungsmethode von einem anderen Anbieter als der Microsoft Entra-ID, die als Teil der Authentifizierung eines Benutzers verwendet wird.
OIDC OpenID Connect ist ein Authentifizierungsprotokoll, das auf OAuth 2.0 basiert.
00001111-aaaa-2222-bbbb-3333cccc4444 Ein Beispiel für einen appid Wert, der für eine externe Authentifizierungsmethode integriert ist.