Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
Wie aktiviere ich die TOTP-Multi-Faktor-Authentifizierung für Amazon Cognito-Benutzerpools?
Ich möchte die Multi-Faktor-Authentifizierung (MFA) für die Benutzer meiner App aktivieren. Ich möchte das mit einem zeitfgesteuerten Einmalpasswort (TOTP)-Token tun, das Amazon Cognito-Benutzerpools verwendet.
Kurzbeschreibung
Um TOTP MFA für App-Benutzer zu aktivieren, richte das TOTP-Softwaretoken-MFA für deinen Benutzerpool ein.
Wichtig: Bevor du das TOTP-Token konfigurierst, überprüfe die folgenden Anforderungen:
- Du musst MFA zum Benutzerpool hinzufügen.
- TOTP-Token können einem Benutzer erst zugeordnet werden, wenn der Benutzer versucht, sich bei deiner App anzumelden, oder wenn er bereits authentifiziert ist.
- MFA unterstützt keine Verbundbenutzer in einem Benutzerpool.
Im Folgenden findest du ein Beispiel für die Verwendung von AWS Command Line Interface (AWS CLI) und Google Authenticator zur Einrichtung von TOTP MFA.
Lösung
Hinweis: Wenn du beim Ausführen von AWS CLI-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
-
Führe den folgenden AWS-CLI-Befehl associate-software-token aus, um die Einrichtung des MFA-Token-Generators zu starten:
aws cognito-idp associate-software-token --access-token eyJraWQiO........ua5Pq3NaA { "SecretCode": "AETQ6XXMDFYMEPFQQ7FD4HKXXXXAOY3MBXIVRBLRXX3SXLSHHWOA" }
-
Öffne die Google Authenticator-Startseite und wähle dann Erste Schritte aus.
-
Wähle Enter a setup key (Einen Setupschlüssel eingeben).
-
Gib unter Account name (Kontoname) einen Kontonamen ein.
Hinweis: Der Kontoname kann ein beliebiger Zeichenkettenbezeichner sein. -
Kopiere für die Texteingabe Your key (Dein Schlüssel) den Geheimcode, der mit dem Befehl AssociateSoftwareToken generiert wurde, den du in Schritt 1 ausgeführt hast, und füge ihn ein.
-
Wähle Type of key (Schlüsseltyp) und dann Time based (Zeitgesteuert) aus.
-
Bestätige das Software-Token, das das zeitgesteuerte Passwort verwendet, das auf dem Bildschirm und im folgenden Code angezeigt wird:
aws cognito-idp verify-software-token --access-token eyJraWQiO........ua5Pq3NaA --user-code 269194 --friendly-device-name ExampleName { "Status": "SUCCESS" }
-
Um die MFA-Konfiguration des Benutzers auf TOTP MFA zu konfigurieren, führe entweder den AWS-CLI-Befehl set-user-mfa-preference oder admin-set-user-mfa-preference aus:
Beispiel für den Befehl set-user-mfa-preferenceaws cognito-idp set-user-mfa-preference --software-token-mfa-settings Enabled=true,PreferredMfa=true --access-token eyJraWQiO........ua5Pq3NaA
Hinweis: Mit diesem Befehl können Benutzer ihre eigene MFA-Konfiguration festlegen.
Beispiel für den Befehl admin-set-user-mfa-preferenceaws cognito-idp admin-set-user-mfa-preference --software-token-mfa-settings Enabled=true,PreferredMfa=true --username ExampleName --user-pool-id us-east-1_123456789
Hinweis: Mit diesem Befehl kann ein Administrator die MFA-Konfiguration eines Benutzers festlegen.
-
Um den ALLOW_ADMIN_USER_PASSWORD_AUTH-Flow für den Benutzerpool-App-Client zu aktivieren, öffne die Amazon Cognito-Konsole.
-
Wähle Benutzerpools verwalten.
-
Wähle deinen App-Client aus und wähle Details einblenden aus.
-
Wähle Enable username password auth for admin APIs for authentication (ALLOW_ADMIN_USER_PASSWORD_AUTH) (Benutzernamen-Passwortauthentifizierung für Admin-APIs zur Authentifizierung aktivieren (ALLOW_ADMIN_USER_PASSWORD_AUTH)).
-
Wähle App-Client-Änderungen speichern.
-
Um das Setup zu testen, authentifiziere den Benutzer mit einer der folgenden Methoden:
Die von Amazon Cognito gehostete Benutzeroberfläche.
Die API-Aufrufe InitiateAuth, AdminInitiateAuth oder RespondToAuthChallenge in der AWS CLI.
Hinweis: Um einen Benutzer mit einer der beiden Methoden zu authentifizieren, benötigst du das Passwort, den Benutzernamen und den Software-MFA-Code des Benutzers.
Beispiel für den Befehl admin-initiate-auth
aws cognito-idp admin-initiate-auth --user-pool-id us-east-1_123456789 --client-id 3n4b5urk1ft4fl3mg5e62d9ado --auth-flow ADMIN_USER_PASSWORD_AUTH --auth-parameters USERNAME=ExampleName,PASSWORD=P@ssw0rd
Hinweis: Ersetze die folgenden Variablen durch deine Informationen: user-pool-id, client-id, username und password.
Beispielausgabe des Befehls admin-initiate-auth
{ "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeParameters": { "FRIENDLY_DEVICE_NAME": "ExampleDevice", "USER_ID_FOR_SRP": "ExampleName" }, "Session": "Xxz6iadwuWJGN4Z7f4ul5p50IHUqITquoaNxxyDvep.......3A6GokZWKeQ6gkFW4Pgv" }
Beispiel für den Befehl admin-respond-to-auth-challenge
aws cognito-idp admin-respond-to-auth-challenge --user-pool-id us-east-1_123456789 --client-id 3n4b5urk1ft4fl3mg5e62d9ado --challenge-name SOFTWARE_TOKEN_MFA --challenge-responses USERNAME=ExampleName,SOFTWARE_TOKEN_MFA_CODE=123456 --session Xxz6iadwuWJGN4Z7f4ul5p50IHUqITquoaNxxyDvep.......3A6GokZWKeQ6gkFW4Pgv
Hinweis: Ersetze die folgenden Variablen durch deine Informationen: client-id, username und software_token_MFA_Code.
Beispielausgabe des Befehls admin-respond-to-auth-challenge
{ "AuthenticationResult": { "ExpiresIn": 3600, "RefreshToken": "eyJjdHkiOiJKV1QiLCJlbmMi.......dlbjrtyizlLzZZ5fjjCgL__AVHEzYycjJs_h3i-ly_KixDNtz9VEC", "TokenType": "Bearer", "NewDeviceMetadata": { "DeviceKey": "us-east-1_28abrd7-10f7-9fc6-a931-3ede1c8ckd75", "DeviceGroupKey": "-Gqkj3brS" }, "IdToken": "eyJraWQiOiIzcFFSV29Pb........mNMbE_vvPkQYBuA9ackoER1aSABFGaKK4BpgPjMn7la_A", "AccessToken": "eyJraWQiOi...........qwvQq4awt63TyWw" }, "ChallengeParameters": {} }
Ähnliche Informationen
Ähnliche Videos


Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 4 Jahren
- AWS OFFICIALAktualisiert vor einem Monat
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 4 Jahren