Freigeben über


Verwalten der Authentifizierungsmethoden von Benutzern mithilfe von Microsoft Graph

Authentifizierungsmethoden sind die Methoden, mit denen Sich Benutzer in Microsoft Entra ID authentifizieren. Die folgenden Authentifizierungsmethoden sind derzeit in Microsoft Entra ID verfügbar und können über Microsoft Graph verwaltet werden:

  • Windows Hello for Business
  • Microsoft Authenticator
  • FIDO2-Sicherheitsschlüssel
  • Zertifikatbasierte Authentifizierung
  • OATH-Hardwaretoken (Vorschau)
  • OATH-Softwaretoken
  • Temporärer Zugriffspass (Temporary Access Pass, TAP)
  • SMS
  • VoIP
  • Kennwort

Authentifizierungsmethoden werden bei der primären, Zwei-Faktor- und Step-Up-Authentifizierung sowie beim SSPR-Verfahren (Self-Service-Kennwortzurücksetzung) verwendet.

Was können Sie mit den APIs für Authentifizierungsmethoden tun?

Sie können die Authentifizierungsmethoden-APIs verwenden, um sie in Ihre Apps zum Verwalten der Authentifizierungsmethoden eines Benutzers zu integrieren. Beispielsweise können Sie folgende Aktionen ausführen:

  • Hinzufügen einer Telefonnummer für einen Benutzer, der diese Nummer dann für SMS und Sprachanruf-Authentifizierung verwenden kann, wenn er durch die Richtlinie dazu berechtigt ist
  • Aktualisieren oder Löschen der Telefonnummer, die einem Benutzer zugewiesen ist
  • Aktivieren oder Deaktivieren der Telefonnummer für die SMS-Anmeldung
  • Zurücksetzen eines Benutzerkennworts

Wichtig

Es wird nicht empfohlen, die APIs für Authentifizierungsmethoden für Szenarien zu verwenden, in denen Sie Ihre gesamte Benutzerpopulation zu Überwachungs- oder Sicherheitsüberprüfungszwecken durchlaufen müssen. Für diese Arten von Szenarien empfehlen wir die Verwendung der APIs für die Authentifizierungsmethoderegistrierung und nutzungsberichte (einige APIs sind nur auf dem beta Endpunkt verfügbar).

Verwenden von Richtlinien zum Verwalten von Authentifizierungsmethoden in Ihrem Mandanten

Sie können auswählen, welche Authentifizierungsmethoden für Benutzer in Ihrem Mandanten zulässig sind, indem Sie Authentifizierungsmethodenrichtlinien konfigurieren. Für jede Richtlinie konfigurieren Sie, ob die Authentifizierungsmethode aktiviert ist, ihre Einstellungen und können explizit die Gruppen von Benutzern definieren, die die Methode verwenden dürfen oder nicht.

Beispielszenario

In diesem Artikel erfahren Sie folgendes:

  • Authentifizieren bei Microsoft Entra ID mit den richtigen Rollen und Berechtigungen
  • Überprüfen der Authentifizierungsmethoden des Benutzers
  • Hinzufügen neuer Telefonnummern für den Benutzer
  • Entfernen einer Telefonnummer vom Benutzer
  • Zurücksetzen des Benutzerkennworts

Schritt 1: Authentifizieren bei Microsoft Entra ID mit den richtigen Rollen und Berechtigungen

Melden Sie sich bei einem API-Client wie Graph-Explorer mit einem Konto an, das mindestens über die Microsoft Entra-Rolle"Privilegierter Authentifizierungsadministrator" oder "Authentifizierungsadministrator" verfügt. Sie können einen Testmandanten mit Beispieldaten verwenden, um die APIs auszuprobieren.

Erteilen Sie der App als Nächstes die Berechtigung UserAuthenticationMethod.ReadWrite.All . Sie benötigen diese Berechtigung, um in diesem Szenario sowohl Lese- als auch Schreibvorgänge auszuführen.

Sie können jetzt mit der Verwendung der APIs beginnen. In diesem Szenario verwenden Sie die APIs, um die Authentifizierungsmethoden von Cameron White zu verwalten.

Schritt 2: Überprüfen der Authentifizierungsmethoden des Benutzers

Anforderung

GET https://graph.microsoft.com/v1.0/users/CameronW@Contoso.com/authentication/methods

Antwort

In dieser Antwort hat Cameron nur die Kennwortauthentifizierungsmethode aktiviert. 28c10230-6103-485e-b985-444c60001490 ist die global eindeutige ID der Kennwortauthentifizierungsmethode für microsoft Entra ID.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('CameronW%40contoso.com')/authentication/methods",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET users('<key>')/authentication/methods?$select=id",
    "value": [
        {
            "@odata.type": "#microsoft.graph.passwordAuthenticationMethod",
            "id": "28c10230-6103-485e-b985-444c60001490",
            "password": null,
            "createdDateTime": "2023-09-18T10:38:07Z"
        }
    ]
}

Schritt 3: Hinzufügen neuer Telefonnummern für den Benutzer

In diesem Schritt fügen Sie eine neue Mobiltelefonnummer hinzu, die Cameron verwenden kann.

Anforderung

POST https://graph.microsoft.com/v1.0/users/CameronW@Contoso.com/authentication/phoneMethods
Content-Type: application/json

{
    "phoneNumber": "+1 2065555555",
    "phoneType": "mobile"
}

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('CameronW%40contoso.com')/authentication/phoneMethods/$entity",
    "id": "3179e48a-750b-4051-897c-87b9720928f7",
    "phoneNumber": "+1 2065555555",
    "phoneType": "mobile",
    "smsSignInState": "notAllowedByPolicy"
}

Führen Sie dieselbe Anforderung aus, und fügen Sie einen Office phoneType hinzu.

Schritt 4: Überprüfen der Authentifizierungsmethoden des Benutzers

Anforderung

GET https://graph.microsoft.com/v1.0/users/CameronW@Contoso.com/authentication/methods

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('CameronW%40contoso.com')/authentication/methods",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET users('<key>')/authentication/methods?$select=id",
    "value": [
        {
            "@odata.type": "#microsoft.graph.phoneAuthenticationMethod",
            "id": "e37fc753-ff3b-4958-9484-eaa9425c82bc",
            "phoneNumber": "+1 4255550199",
            "phoneType": "office",
            "smsSignInState": "notSupported"
        },
        {
            "@odata.type": "#microsoft.graph.phoneAuthenticationMethod",
            "id": "3179e48a-750b-4051-897c-87b9720928f7",
            "phoneNumber": "+1 2065555555",
            "phoneType": "mobile",
            "smsSignInState": "notAllowedByPolicy"
        },
        {
            "@odata.type": "#microsoft.graph.passwordAuthenticationMethod",
            "id": "28c10230-6103-485e-b985-444c60001490",
            "password": null,
            "createdDateTime": "2023-09-18T10:38:07Z"
        }
    ]
}

Bestätigen Sie, dass Sie beide Telefonnummern wie erwartet sehen können. Die IDs der verschiedenen Telefonnummerntypen sind für Microsoft Entra ID wie folgt global gleich:

  • b6332ec1-7057-4abe-9331-3d72feddfe41 für alternateMobile phone type
  • e37fc753-ff3b-4958-9484-eaa9425c82bcfür Bürotelefontyp
  • 3179e48a-750b-4051-897c-87b9720928f7für Mobiltelefontyp

Schritt 5: Entfernen einer Telefonnummer vom Benutzer

Cameron arbeitet jetzt von zu Hause aus, also müssen Sie die Büronummer aus seinem Konto entfernen.

DELETE https://graph.microsoft.com/v1.0/users/CameronW@Contoso.com/authentication/phoneMethods/e37fc753-ff3b-4958-9484-eaa9425c82bc

Die Anforderung gibt einen 204 No Content Antwortcode zurück. Um zu überprüfen, ob die Bürotelefonmethode aus Camerons Konto entfernt wurde, führen Sie die Anforderung in Schritt 4 erneut aus. Cameron sollte jetzt nur noch über die Authentifizierungsmethoden für Mobiltelefone und Kennwörter verfügen.

Schritt 6: Zurücksetzen des Kennworts des Benutzers

Cameron hat sein Kennwort vergessen, und Sie müssen es für sie zurücksetzen. Sie können das Kennwort eines Benutzers zurücksetzen und ein temporäres Kennwort angeben, oder Sie können Microsoft Entra ID das Generieren eines temporären Kennworts erlauben.

In beiden Methoden enthält die Antwort einen Location-Header mit einer URL, mit der Sie den Status des Vorgangs über einen GET-Vorgang überprüfen können. Der Vorgang zum Zurücksetzen wird nicht sofort abgeschlossen, da microsoft Entra ID das Kennwort synchronisieren muss, einschließlich in Active Directory in der lokalen Infrastruktur des Mandanten (für lokale Benutzer). Die URL ist 24 Stunden gültig.

Option 1: Zurücksetzen des Kennworts des Benutzers und Angeben eines temporären neuen Kennworts

Anforderung

POST https://graph.microsoft.com/v1.0/users/CameronW@Contoso.com/authentication/passwordMethods/28c10230-6103-485e-b985-444c60001490/resetPassword
Content-Type: application/json

{
    "newPassword": "29sdjfw#fajsdA_a_3an3223"
}

Antwort

HTTP/1.1 202 Accepted

Location: https://graph.microsoft.com/v1.0/users/a87cc624-b550-4559-b934-3bc0325a4808/authentication/operations/cc8e9b0e-7495-47f2-ad4a-3daa966543c6?aadgdc=DUB02P&aadgsu=ssprprod-a

Option 2: Zurücksetzen des Kennworts des Benutzers und Zulassen der Generierung eines temporären neuen Kennworts durch Microsoft Entra ID

In dieser Anforderung geben Sie kein neues Kennwort an, sondern lassen stattdessen Microsoft Entra ID ein Kennwort generieren und in der Antwort zurückgeben.

POST https://graph.microsoft.com/v1.0/users/CameronW@Contoso.com/authentication/passwordMethods/28c10230-6103-485e-b985-444c60001490/resetPassword

Antwort

HTTP/1.1 202 Accepted

Location: https://graph.microsoft.com/v1.0/users/a87cc624-b550-4559-b934-3bc0325a4808/authentication/operations/ba0c9a11-5163-4353-89ba-81501617ede0?aadgdc=AM4P&aadgsu=ssprprod-a
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.passwordResetResponse",
    "newPassword": "Hopu0277"
}

Überprüfen des Status des Kennwortzurücksetzungsvorgangs

Anforderung

GET https://graph.microsoft.com/v1.0/users/a87cc624-b550-4559-b934-3bc0325a4808/authentication/operations/ba0c9a11-5163-4353-89ba-81501617ede0?aadgdc=AM4P&aadgsu=ssprprod-a

Antwort

HTTP/1.1 202 Accepted

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('a87cc624-b550-4559-b934-3bc0325a4808')/authentication/operations/$entity",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET users('<guid>')/authentication/operations('<guid>')?$select=createdDateTime,lastActionDateTime",
    "id": "ba0c9a11-5163-4353-89ba-81501617ede0",
    "createdDateTime": "2024-01-18T16:37:10Z",
    "lastActionDateTime": "2024-01-18T16:37:10Z",
    "status": "succeeded",
    "statusDetail": "ResetSuccess",
    "resourceLocation": "https://graph.microsoft.com/v1.0/users/a87cc624-b550-4559-b934-3bc0325a4808/authentication/methods/28c10230-6103-485e-b985-444c60001490"
}

API-Referenz

Suchen Sie die API-Referenz für Authentifizierungsmethoden?