Skip to main content
Eine neuere Version dieses Produkts ist erhältlich.
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Multi-Faktor-Authentifizierung (MFA) mit Rest-API, PowerShell und SCCLI managen

Beitragende

Die MFA-Anmeldung wird von Browser, REST-API, PowerShell und SCCLI unterstützt. MFA wird durch einen AD FS-Identitätsmanager unterstützt. Sie können MFA aktivieren, MFA deaktivieren und MFA über GUI, REST API, PowerShell und SCCLI konfigurieren.

Richten Sie AD FS als OAuth/OIDC ein

Konfigurieren Sie AD FS mit dem Windows GUI Wizard

  1. Navigieren Sie zu Server Manager Dashboard > Tools > ADFS Management.

  2. Navigieren Sie zu ADFS > Anwendungsgruppen.

    1. Klicken Sie mit der rechten Maustaste auf Anwendungsgruppen.

    2. Wählen Sie Add Application Group und geben Sie Application Name ein.

    3. Wählen Sie Server-Anwendung.

    4. Klicken Sie Auf Weiter.

  3. Kopieren Sie Die Client-Kennung*.

    Dies ist die Client-ID. .. RückrufURL (SnapCenter-Server-URL) in Umleitung URL hinzufügen. .. Klicken Sie Auf Weiter.

  4. Wählen Sie gemeinsam genutzten Schlüssel generieren.

    Kopieren Sie den geheimen Wert. Das ist das Geheimnis des Kunden. .. Klicken Sie Auf Weiter.

  5. Klicken Sie auf der Seite Zusammenfassung auf Weiter.

    1. Klicken Sie auf der Seite complete auf Close.

  6. Klicken Sie mit der rechten Maustaste auf die neu hinzugefügte Application Group und wählen Sie Properties.

  7. Wählen Sie aus den Anwendungseigenschaften Anwendung hinzufügen.

  8. Klicken Sie auf Anwendung hinzufügen.

    Wählen Sie Web API und klicken Sie auf Weiter.

  9. Geben Sie auf der Seite WebAPI konfigurieren die im vorherigen Schritt erstellte SnapCenter-Server-URL und die Clientkennung in den Abschnitt Kennung ein.

    1. Klicken Sie Auf Hinzufügen.

    2. Klicken Sie Auf Weiter.

  10. Wählen Sie auf der Seite Select Access Control Policy die Kontrollrichtlinie entsprechend Ihrer Anforderung aus (z. B. „Permit everyone“ und „Require MFA“) und klicken Sie auf Next.

  11. Auf der Seite Configure Application permission wird openid standardmäßig als Bereich ausgewählt, klicken Sie auf Weiter.

  12. Klicken Sie auf der Seite Zusammenfassung auf Weiter.

    Klicken Sie auf der Seite complete auf Close.

  13. Klicken Sie auf der Seite Beispielanwendungseigenschaften auf OK.

  14. JWT-Token, das von einem Autorisierungsserver (AD FS) ausgegeben und von der Ressource verwendet werden soll.

    Der „aud“- oder Zielgruppenanspruch dieses Tokens muss mit der Kennung der Ressource oder der Web-API übereinstimmen.

  15. Bearbeiten Sie die ausgewählte WebAPI, und überprüfen Sie, ob die RückrufURL (SnapCenter-Server-URL) und die Client-Kennung korrekt hinzugefügt wurden.

    Konfigurieren Sie OpenID Connect so, dass ein Benutzername als Schadensfälle angegeben wird.

  16. Öffnen Sie das Tool AD FS Management im Menü Tools oben rechts im Server Manager.

    1. Wählen Sie in der linken Seitenleiste den Ordner Anwendungsgruppen aus.

    2. Wählen Sie die Web-API aus und klicken Sie auf EDIT.

    3. Wechseln Sie zur Registerkarte „Emissionsumform“

  17. Klicken Sie Auf Regel Hinzufügen.

    1. Wählen Sie in der Dropdown-Liste „Antragsregel“ die Option LDAP-Attribute als Schadensfall senden aus.

    2. Klicken Sie Auf Weiter.

  18. Geben Sie den Namen Claim rule ein.

    1. Wählen Sie Active Directory in der Dropdown-Liste Attributspeicher aus.

    2. Wählen Sie User-Principal-Name in der Dropdown-Liste LDAP Attribute und UPN in der Dropdown-Liste O*utgoing Claim Type* aus.

    3. Klicken Sie Auf Fertig Stellen.

Erstellen Sie eine Anwendungsgruppe mit PowerShell Befehlen

Sie können die Anwendungsgruppe und die Web-API erstellen und den Umfang und die Ansprüche mit PowerShell Befehlen hinzufügen. Diese Befehle sind im automatisierten Skriptformat verfügbar. Weitere Informationen finden Sie im <link to KB article>.

  1. Erstellen Sie die neue Anwendungsgruppe in AD FS mit der folgenden Kombination.

    New-AdfsApplicationGroup -Name $ClientRoleIdentifier -ApplicationGroupIdentifier $ClientRoleIdentifier

    ClientRoleIdentifier Name Ihrer Applikationsgruppe

    redirectURL Gültige URL für Umleitung nach Autorisierung

  2. Erstellen Sie die AD FS Server-Anwendung und generieren Sie den Client-Schlüssel.

    Add-AdfsServerApplication -Name "$ClientRoleIdentifier - Server app" -ApplicationGroupIdentifier $ClientRoleIdentifier -RedirectUri $redirectURL -Identifier $identifier -GenerateClientSecret

  3. Erstellen Sie die ADFS-Web-API-Anwendung und konfigurieren Sie den Richtliniennamen, den sie verwenden soll.

    $identifier = (New-Guid).Guid

    Add-AdfsWebApiApplication -ApplicationGroupIdentifier $ClientRoleIdentifier -Name "App Web API"

    -Identifier $identifier -AccessControlPolicyName "Permit everyone"

  4. Holen Sie sich die Client-ID und den Client-Schlüssel aus der Ausgabe der folgenden Befehle, da sie nur einmal angezeigt wird.

    "client_id = $identifier"

    "client_secret: "$($ADFSApp.ClientSecret)

  5. Erteilen Sie der AD FS-Anwendung die allattallatallaims und openid-Berechtigungen.

    Grant-AdfsApplicationPermission -ClientRoleIdentifier $identifier -ServerRoleIdentifier $identifier -ScopeNames @('openid')

    $transformrule = @"

    @RuleTemplate = "LdapClaims"

    @RuleName = "AD User properties and Groups"

    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer ==

    "AD AUTHORITY"]

    ⇒ issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);

    "@

  6. Schreiben Sie die Transformer-Regeldatei aus.

    $transformrule |Out-File -FilePath .\issueancetransformrules.tmp -force -Encoding ascii $relativePath = Get-Item .\issueancetransformrules.tmp

  7. Benennen Sie die Web-API-Anwendung und definieren Sie die zugehörigen Regeln für die Emissionstransformation mithilfe einer externen Datei.

    Set-AdfsWebApiApplication -Name "$ClientRoleIdentifier - Web API" -TargetIdentifier

    $identifier -Identifier $identifier,$redirectURL -IssuanceTransformRulesFile

    $relativePath

Ablaufdatum des Zugriffstoken aktualisieren

Sie können die Ablaufzeit des Zugriffstoken mit dem PowerShell Befehl aktualisieren.

Über diese Aufgabe

  • Ein Zugriffstoken kann nur für eine bestimmte Kombination von Benutzer, Client und Ressource verwendet werden. Zugriffstoken können nicht widerrufen werden und sind bis zu ihrem Ablauf gültig.

  • Standardmäßig beträgt die Gültigkeitsdauer eines Zugriffstoken 60 Minuten. Diese minimale Verfallszeit ist ausreichend und skaliert. Sie müssen ausreichend Wert bieten, um fortlaufende geschäftskritische Aufgaben zu vermeiden.

Schritt

Verwenden Sie den folgenden Befehl im AD FS-Server, um die Ablaufzeit des Zugriffstoken für eine Anwendungsgruppe WebAPI zu aktualisieren.

+ Set-AdfsWebApiApplication -TokenLifetime 3600 -TargetName "<Web API>"

Holen Sie sich das Inhabertoken von AD FS

Sie sollten die unten genannten Parameter in jedem REST-Client (wie Postman) ausfüllen und Sie werden aufgefordert, die Benutzeranmeldeinformationen einzugeben. Zusätzlich sollten Sie die zweite-Faktor-Authentifizierung eingeben (etwas, das Sie haben und etwas, das Sie sind), um den Träger-Token zu erhalten.

+ die Gültigkeit des Inhabertoken ist vom AD FS-Server pro Anwendung konfigurierbar und die Standardgültigkeitsdauer beträgt 60 Minuten.

Feld

Wert

Zuteilungsart

Autorisierungscode

Rückruf-URL

Geben Sie die Basis-URL Ihrer Anwendung ein, wenn Sie keine Rückruf-URL haben.

Authentifizs-URL

[adfs-Domain-Name]/adfs/oauth2/Autorisieren

Zugriff auf Token-URL

[adfs-Domain-Name]/adfs/oauth2/Token

Client-ID

Geben Sie die AD FS-Client-ID ein

Kundengeheimnis

Geben Sie den AD FS-Client-Schlüssel ein

Umfang

OpenID

Clientauthentifizierung

Als Basis-AUTH-Kopfzeile senden

Ressource

Fügen Sie auf der Registerkarte Advance Options das Ressourcenfeld mit dem gleichen Wert wie die Callback-URL hinzu, das als „aud“-Wert im JWT-Token erscheint.