Ongoing service disruptions
For the most recent update on ongoing service disruptions affecting the AWS Middle East (UAE) Region (ME-CENTRAL-1), refer to the AWS Health Dashboard. For information on AWS Service migration, see How do I migrate my services to another region?
Wie behebe ich MFA-Fehler in meinem Amazon-Cognito-Benutzerpool?
Ich erhalte Fehlermeldungen, wenn ich die Multi-Faktor-Authentifizierung (MFA) in meinem Amazon-Cognito-Benutzerpool konfiguriere.
Lösung
Problembehandlung bei SMS-MFA-Fehlern
„InvalidSmsRoleAccessPolicyException“-Fehler
Dieser Fehler tritt auf, wenn die AWS Identity and Access Management (IAM)-Rolle nicht berechtigt ist, Amazon SNS zum Veröffentlichen von SMS-Textnachrichten zu verwenden.
Um dieses Problem zu beheben, führe die folgenden Schritte aus, um der IAM-Rolle die Berechtigung sns:Publish hinzuzufügen:
- Öffne die Amazon-Cognito-Konsole.
- Wähle im Navigationsbereich Benutzerpools aus.
- Wähle den Benutzerpool aus.
- Wähle im Navigationsbereich unter Authentifizierung die Option Authentifizierungsmethoden aus.
- Notiere dir im Abschnitt SMS den Namen für den IAM-Rollen-ARN.
- Öffne die IAM-Konsole.
- Wähle im Navigationsbereich Rollen.
- Gib in der Suchleiste den Namen der IAM-Rolle ein und wähle dann deine IAM-Rolle aus.
- Wähle im Abschnitt Berechtigungsrichtlinien die Richtlinie aus, die an die IAM-Rolle angefügt ist.
- Wähle auf der Seite Richtliniendetails Bearbeiten aus, um die Berechtigung sns:publish hinzuzufügen.
- Wähle Weiter aus.
- Wähle Änderungen speichern.
- Stelle sicher, dass eine Service-Kontrollrichtlinie (SCP) die Aktion sns:Publish nicht blockiert.
„InvalidSmsRoleTrustRelationshipException“-Fehler
Dieser Fehler tritt auf, wenn die IAM-Rolle keine Vertrauensstellung hat, die es Amazon Cognito ermöglicht, die Rolle zu übernehmen. Dies passiert, wenn cognito-idp.amazonaws.com nicht vertrauenswürdig ist oder die externe ID in der Vertrauensrichtline der Rolle nicht mit der SMS-Konfiguration des Benutzerpools übereinstimmt.
Um dieses Problem zu beheben, konfiguriere die Vertrauensrichtlinie für die IAM-Rolle korrekt. Anweisungen findest du unter Vorbereiten einer IAM-Rolle, die Amazon Cognito zum Senden von SMS-Nachrichten mit AWS End User Messaging SMS verwenden kann.
„InvalidParameterException“-Fehler
Dieser Fehler tritt auf, wenn die API-Anforderung einen ungültigen Parameter an Amazon Cognito sendet. Um dieses Problem zu beheben, gib alle erforderlichen Werte im SmsMfaConfiguration-Parameter der SetUserPoolMfaConfig-API an.
Problembehandlung bei TOTP-MFA-Fehlern
Anforderungen:
- Füge MFA zu deinem Benutzerpool hinzu, bevor du das Software-Token für das zeitgesteuerte Einmalpasswort (TOTP) konfigurierst.
- Wenn Amazon Cognito die Benutzer nicht authentifiziert hat, müssen die Benutzer versuchen, sich bei der Anwendung anzumelden, bevor du ihnen TOTP-Token zuordnen kannst.
Hinweis: Externe Identitätsanbieter (IdPs) verwalten MFA für Verbundbenutzer. Amazon Cognito fordert während des Benutzerverbunds nicht zur MFA auf.
Fehler „NotAuthorizedException: Access token does not have required scopes“
Dieser Fehler tritt auf, wenn das Zugriffstoken nicht den erforderlichen Bereich aws.cognito.signin.user.admin zum Aufrufen der AssociateSoftwareToken enthält. Wenn ein Benutzer die InitiateAuth-API zur Anmeldung verwendet, nimmt die InitiateAuth-API diesen Bereich automatisch in das Zugriffstoken auf.
Wenn ein Benutzer jedoch die verwaltete Anmeldeseite zur Anmeldung verwendet, stelle sicher, dass das Zugriffstoken den Bereich aws.cognito.signin.user.admin umfasst. Um zu überprüfen, ob das Token den Bereich aws.cognito.signin.user.admin enthält, decodiere die Nutzdaten des Zugriffstokens mit Base64. Weitere Informationen findest du unter Bestätigen der Struktur des JWT.
Wenn das Token den Bereich aws.cognito.signin.user.admin nicht enthält, führe die folgenden Schritte aus, um es hinzuzufügen:
- Öffne die Amazon-Cognito-Konsole.
- Wähle im Navigationsbereich Benutzerpools aus.
- Wähle den Benutzerpool aus, den du ändern möchtest.
- Wähle im Navigationsbereich unter Anwendungen die Option App-Clients aus.
- Wähle den App-Client aus, den du ändern möchtest.
- Wähle die Registerkarte Anmeldeseiten und dann Bearbeiten aus.
- Wähle in der Dropdown-Liste OpenID-Connect-Bereiche aws.cognito.signin.user.admin aus.
- Wähle Änderungen speichern.
Fehler „NotAuthorizedException: Invalid session for the user, session can only be used once“
Dieser Fehler tritt auf, wenn ein Benutzer versucht, eine Sitzung wiederzuverwenden. Wenn Benutzer diesen Fehler während eines Authentifizierungsablaufs mit TOTP MFA erhalten, musst du den Authentifizierungsprozess von Anfang an neu starten. Verwende die InitiateAuth-API oder die AdminInitiateAuth-API, um die Authentifizierung neu zu starten.
Fehler „NotAuthorizedException: Invalid session for the user, session is expired“
Dieser Fehler tritt auf, wenn die Sitzung abläuft. Standardmäßig laufen Sitzungen nach 3 Minuten ab.
Um dieses Problem zu beheben, verlängere die Ablaufdauer der Authentifizierungssitzung in deinem App-Client. Du kannst die Dauer auf bis zu 15 Minuten verlängern.
Fehler „CodeMismatchException: Invalid code or auth state for the user“
Dieser Fehler tritt auf, wenn der TOTP-Code von Benutzern nicht gültig ist, der Status von Benutzern den API-Aufruf nicht unterstützt oder der TOTP-Code abgelaufen ist. Beispielsweise ruft ein(e) Benutzer:in die RespondToAuthChallenge-API mit einer MFA_SETUP-Herausforderung auf und hat TOTP MFA nicht konfiguriert.
Gehe wie folgt vor, um dieses Problem zu beheben:
- Konfiguriere TOTP MFA für den/die Benutzer:in.
- Rufe die RespondToAuthChallenge-API mit der MFA_SETUP-Herausforderung auf.
- Stelle sicher, dass die Zeiteinstellungen des Benutzergeräts mit der aktuellen Uhrzeit übereinstimmen, um gültige TOTP-Codes zu generieren.
Fehler „InvalidParameterException: User does not have delivery config set to turn on SOFTWARE_TOKEN_MFA“
Dieser Fehler tritt auf, wenn du TOTP MFA nicht für deine Benutzer konfiguriert hast. Um das Problem zu beheben, konfiguriere TOTP MFA, bevor du die SetUserMFAPreference-API oder AdminSetUserMFAPreference-API aufrufst.
Fehler „SoftwareTokenMFANotFoundException: Software Token MFA has not been enabled by the userPool“
Dieser Fehler tritt auf, weil du TOTP MFA in deinem Benutzerpool nicht konfiguriert hast. Um den Fehler zu beheben, konfiguriere TOTP MFA.
Fehler „NotAuthorizedException: Invalid session for the use“
Dieser Fehler tritt aus den folgenden Gründen auf:
- Ein API-Aufruf enthält eine falsche Sitzungszeichenfolge.
- API-Aufrufe erfolgen nicht in der richtigen Reihenfolge.
Konfiguriere API-Aufrufe in der richtigen Reihenfolge, um dieses Problem zu beheben. Rufe zuerst die InitiateAuth-API auf, um beispielsweise die Sitzungszeichenfolge in der Antwort zu erhalten. Um ein Problem zu vermeiden, stelle sicher, dass der nächste API-Aufruf die zurückgegebene Sitzungszeichenfolge in seinem Anforderungsparameter verwendet.
Fehler „EnableSoftwareTokenMFAException: Code mismatch“
Dieser Fehler tritt auf, wenn der vom/von der Benutzer:in übermittelte TOTP-Code nicht mit den Erwartungen von Amazon Cognito während der TOTP-MFA-Konfiguration übereinstimmt.
Gehe wie folgt vor, um dieses Problem zu beheben:
- Rufe den geheimen Code von der AssociateSoftwareToken-API ab.
- Speichere den geheimen Code in der Authenticator-Anwendung.
- Sende einen aktuellen TOTP-Code.
- Verwende den geheimen Code, den du von der AssociateSoftwareToken-API abgerufen hast, um einen QR-Code zu generieren. Verwende dann das folgende Codebeispiel, um die Authenticator-Anwendung zu konfigurieren.
Beispiel für Python-Code zum Generieren eines QR-Codes aus dem geheimen Code:
import pyotp from qrcode.main import QRCode secret_key = "secret-key-retrieved-from-associate-software-token-api" totp = pyotp.TOTP(secret_key) provisioning_uri = totp.provisioning_uri() qr = QRCode() qr.add_data(provisioning_uri) qr.make() qr.print_ascii()
Beheben von E-Mail-MFA-Fehlern
Bevor du E-Mail als MFA-Faktor einrichtest, musst du Amazon Simple Email Service (Amazon SES) in deinem Benutzerpool so konfigurieren, dass E-Mail-Nachrichten an deine Benutzer gesendet werden.
Wenn du MFA aktivierst und E-Mail als zweiten Faktor auswählst, sendet Amazon Cognito E-Mail-Nachrichten an eine nicht verifizierte E-Mail-Adresse. Nachdem Benutzer die MFA-Verifizierung der E-Mail-Nachricht abgeschlossen haben, setzt Amazon Cognito das Attribut email_verified auf wahr.
Fehler „InvalidParameterException: Cannot set EmailMfaConfiguration when user pool EmailConfiguration contains an EmailSendingAccount of COGNITO_DEFAULT“
Dieser Fehler tritt auf, wenn du die Standard-E-Mail-Konfiguration verwendest. Um dieses Problem zu beheben, konfiguriere die Amazon-SES-E-Mail-Einstellungen für den Benutzerpool.
Fehler „InvalidParameterException: Cannot set EmailMfaConfiguration when user pool AccountRecoverySetting is not set or contains only verified_email in RecoveryMechanisms“
Dieser Fehler tritt auf, wenn du nur die E-Mail für die Methode zur Wiederherstellung von Benutzerkonten verwendest. Du kannst nicht denselben Faktor sowohl bei der MFA als auch bei der Kontowiederherstellung verwenden. Um dieses Problem zu beheben, wähle eine andere Methode zur Kontowiederherstellung anstelle der E-Mail. Anweisungen findest du unter Konfigurieren des Zurücksetzens und der Wiederherstellung von Passwörtern.
„FeatureUnavailableInTierException“-Fehler
Dieser Fehler tritt auf, wenn der Benutzerpool den Feature-Plan Lite hat. Nur die Pläne **Essentials ** und Plus beinhalten E-Mail-MFA. Um dieses Problem zu beheben, stelle den Plan des Benutzerpools auf „Essentials“ oder „Plus“ um.
Ähnliche Informationen
- Tags
- Amazon Cognito
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 3 Jahren