Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Authentifizierung mit Amazon Cognito Cognito-Benutzerpools
Amazon Cognito umfasst mehrere Methoden zur Authentifizierung Ihrer Benutzer. Alle Benutzerpools, unabhängig davon, ob Sie eine Domain haben oder nicht, können Benutzer in der Benutzerpool-API authentifizieren. Wenn Sie Ihrem Benutzerpool eine Domain hinzufügen, können Sie die Benutzerpool-Endpunkte verwenden. Die Benutzerpool-API unterstützt eine Vielzahl von Autorisierungsmodellen und Anforderungsabläufen für API-Anforderungen.
Um die Identität von Benutzern zu überprüfen, unterstützt Amazon Cognito Authentifizierungsabläufe, die zusätzlich zu Kennwörtern wie Einmalpasswörtern und Hauptschlüsseln für E-Mail- und SMS-Nachrichten auch Challenge-Typen beinhalten.
Themen
Implementieren Sie Authentifizierungsabläufe
Unabhängig davon, ob Sie eine verwaltete Anmeldung oder ein benutzerdefiniertes Anwendungs-Frontend mit einem AWS SDK für die Authentifizierung implementieren, müssen Sie Ihren App-Client für die Authentifizierungstypen konfigurieren, die Sie implementieren möchten. Die folgenden Informationen beschreiben die Einrichtung von Authentifizierungsabläufen in Ihren App-Clients und Ihrer Anwendung.
Wissenswertes zur Authentifizierung mit Benutzerpools
Berücksichtigen Sie bei der Gestaltung Ihres Authentifizierungsmodells mit Amazon Cognito Cognito-Benutzerpools die folgenden Informationen.
- Die Authentifizierung erfolgt über die verwaltete Anmeldung und die gehostete Benutzeroberfläche
-
Die verwaltete Anmeldung und die klassische gehostete Benutzeroberfläche bieten unterschiedliche Authentifizierungsoptionen. Bei der verwalteten Anmeldung können Sie nur eine passwortlose Authentifizierung und eine Authentifizierung mit Passkey durchführen.
- Benutzerdefinierte Authentifizierungsabläufe sind nur bei der SDK-Authentifizierung verfügbar AWS
-
Sie können keine benutzerdefinierten Authentifizierungsabläufe oder eine benutzerdefinierte Authentifizierung mit Lambda-Triggern, mit verwalteter Anmeldung oder der klassischen gehosteten Benutzeroberfläche durchführen. Die benutzerdefinierte Authentifizierung ist in der Authentifizierung mit AWS SDKs verfügbar.
- Verwaltete Anmeldung für die Anmeldung mit einem externen Identitätsanbieter (IdP)
-
Sie können Benutzer nicht über die IdPsDrittanbieter-Authentifizierung mit anmelden. AWS SDKs Sie müssen die verwaltete Anmeldung oder die klassische gehostete Benutzeroberfläche implementieren IdPs, zu der Sie weiterleiten und das resultierende Authentifizierungsobjekt dann mit OIDC-Bibliotheken in Ihrer Anwendung verarbeiten. Weitere Informationen zur verwalteten Anmeldung finden Sie unter. Vom Benutzerpool verwaltete Anmeldung
- Auswirkung der kennwortlosen Authentifizierung auf andere Benutzerfunktionen
-
Die Aktivierung der kennwortlosen Anmeldung mit Einmalkennwörtern oder Hauptschlüsseln in Ihrem Benutzerpool und App-Client wirkt sich auf die Benutzererstellung und Migration aus. Wenn die passwortlose Anmeldung aktiv ist:
-
Administratoren können Benutzer ohne Passwörter erstellen. Die Standardvorlage für Einladungsnachrichten wurde dahingehend geändert, dass sie den
{###}
Passwort-Platzhalter nicht mehr enthält. Weitere Informationen finden Sie unter Erstellen von Benutzerkonten als Administrator. -
Bei SDK-basierten SignUpVorgängen müssen Benutzer bei der Registrierung kein Passwort angeben. Für die verwaltete Anmeldung und die gehostete Benutzeroberfläche ist ein Passwort auf der Anmeldeseite erforderlich, auch wenn die kennwortlose Authentifizierung zulässig ist. Weitere Informationen finden Sie unter Registrieren und Bestätigen von Benutzerkonten.
-
Aus einer CSV-Datei importierte Benutzer können sich sofort mit passwortlosen Optionen anmelden, ohne dass das Passwort zurückgesetzt werden muss, wenn ihre Attribute eine E-Mail-Adresse oder Telefonnummer für eine verfügbare passwortlose Anmeldeoption enthalten. Weitere Informationen finden Sie unter Importieren von Benutzern aus einer CSV-Datei in Benutzerpools.
-
Bei der kennwortlosen Authentifizierung wird der Lambda-Trigger für die Benutzermigration nicht aufgerufen.
-
Benutzer, die sich mit einem kennwortlosen First Factor anmelden, können ihrer Sitzung keinen MFA-Faktor (Multi-Factor Authentication) hinzufügen. Nur kennwortbasierte Authentifizierungsabläufe unterstützen MFA.
-
- Die Partei, auf die der Passkey angewiesen ist, URLs darf nicht auf der Liste der öffentlichen Suffixe stehen
-
Sie können Domainnamen, die Sie besitzen
www.example.com
, z. B. als RP-ID (Relying Party) in Ihrer Hauptschlüsselkonfiguration verwenden. Diese Konfiguration soll maßgeschneiderte Anwendungen unterstützen, die auf Domänen ausgeführt werden, deren Eigentümer Sie sind. Die öffentliche Suffixliste(PSL) enthält geschützte Domänen auf hoher Ebene. Amazon Cognito gibt einen Fehler zurück, wenn Sie versuchen, Ihre RP-URL auf eine Domain auf der PSL festzulegen.
Dauer der Authentifizierungssitzung
Abhängig von den Funktionen Ihres Benutzerpools können Sie am Ende auf mehrere Herausforderungen reagierenInitiateAuth
, RespondToAuthChallenge
bevor Ihre App Token von Amazon Cognito abruft. Amazon Cognito fügt in der Antwort auf jede Anforderung eine Sitzungszeichenfolge ein. Wenn Sie Ihre API-Anforderungen zu einem Authentifizierungsfluss kombinieren möchten, fügen Sie die Sitzungszeichenfolge aus der Antwort auf die vorherige Anforderung in jede nachfolgende Anforderung ein. Standardmäßig haben Ihre Benutzer für den Abschluss einer Abfrage drei Minuten Zeit, bevor die Sitzungszeichenfolge abläuft. Wenn Sie diesen Zeitraum anpassen möchten, ändern Sie Ihren App-Client Authentication flow session duration (Dauer der Authentifizierungsablaufsitzung). Im folgenden Verfahren wird beschrieben, wie diese Einstellung in Ihrer App-Client-Konfiguration geändert wird.
Anmerkung
Die Einstellungen für die Dauer der Sitzung zum Authentifizierungsablauf gelten für die Authentifizierung mit der Amazon-Cognito-Benutzerpool-API. Bei der verwalteten Anmeldung wird die Sitzungsdauer für die Multi-Faktor-Authentifizierung auf 3 Minuten und für Codes zum Zurücksetzen von Passwörtern auf 8 Minuten festgelegt.
Weitere Informationen zu App-Clients finden Sie unter Anwendungsspezifische Einstellungen mit App-Clients.
Sperrverhalten bei fehlgeschlagenen Anmeldeversuchen
Nach fünf fehlgeschlagenen Anmeldeversuchen (ohne Authentifizierung oder mit IAM-Authentifizierung) mit einem Passwort sperrt Amazon Cognito den Benutzer eine Sekunde lang. Die Sperrdauer verdoppelt sich dann nach jedem weiteren fehlgeschlagenen Versuch bis zu einer maximalen Dauer von ca. 15 Minuten. Anmeldeversuche während einer Sperrperiode führen zu einer Ausnahme Password attempts exceeded
und wirken sich nicht auf die Dauer nachfolgender Sperrperioden aus. Bei einer kumulativen Anzahl fehlgeschlagener Anmeldeversuche n, Ausnahmen Password
attempts exceeded
nicht eingeschlossen, sperrt Amazon Cognito Ihren Benutzer für 2^(n-5) Sekunden. Um die Sperre zurückzusetzen (n=0), muss sich Ihr Benutzer danach entweder erfolgreich anmelden oder darf 15 Minuten lang keine Anmeldeversuche unternehmen. Änderungen an diesem Verhalten sind vorbehalten. Dieses Verhalten gilt nicht für benutzerdefinierte Challenges, es sei denn, diese führen auch eine passwortbasierte Authentifizierung durch.
Ein Beispiel für eine Authentifizierungssitzung
Das folgende Diagramm und die folgende step-by-step Anleitung veranschaulichen ein typisches Szenario, in dem sich ein Benutzer bei einer Anwendung anmeldet. In der Beispielanwendung stehen einem Benutzer mehrere Anmeldeoptionen zur Verfügung. Sie wählen eine aus, indem sie ihre Anmeldeinformationen eingeben, einen zusätzlichen Authentifizierungsfaktor angeben und sich anmelden.

Stellen Sie sich eine Anwendung mit einer Anmeldeseite vor, auf der sich Benutzer mit einem Benutzernamen und einem Passwort anmelden, in einer E-Mail-Nachricht einen Einmalcode anfordern oder eine Fingerabdruckoption wählen können.
-
Anmeldeaufforderung: Ihre Anwendung zeigt einen Startbildschirm mit einer Anmeldeschaltfläche.
-
Anmeldung anfordern: Der Benutzer wählt Anmelden aus. Aus einem Cookie oder einem Cache ruft Ihre Anwendung ihren Benutzernamen ab oder fordert sie auf, ihn einzugeben.
-
Anforderungsoptionen: Ihre Anwendung fordert die Anmeldeoptionen des Benutzers mit einer
InitiateAuth
API-Anfrage imUSER_AUTH
Flow an, in der die verfügbaren Anmeldemethoden für den Benutzer angefordert werden. -
Anmeldeoptionen senden: Amazon Cognito antwortet mit
PASSWORD
EMAIL_OTP
, und.WEB_AUTHN
Die Antwort enthält eine Sitzungs-ID, die Sie in der nächsten Antwort erneut abspielen können. -
Anzeigeoptionen: Ihre Anwendung zeigt Benutzeroberflächenelemente an, mit denen der Benutzer seinen Benutzernamen und sein Passwort eingeben, einen Einmalcode abrufen oder seinen Fingerabdruck scannen kann.
-
Wählen Sie Option/Anmeldeinformationen eingeben: Der Benutzer gibt seinen Benutzernamen und sein Passwort ein.
-
Authentifizierung einleiten: Ihre Anwendung stellt die Anmeldeinformationen des Benutzers mit einer
RespondToAuthChallenge
API-Anfrage zur Verfügung, die die Anmeldung mit Benutzername/Passwort bestätigt und den Benutzernamen und das Passwort bereitstellt. -
Anmeldeinformationen validieren: Amazon Cognito bestätigt die Anmeldeinformationen des Benutzers.
-
Zusätzliche Herausforderung: Der Benutzer verfügt über eine Multi-Faktor-Authentifizierung, die mit einer Authenticator-App konfiguriert ist. Amazon Cognito gibt eine
SOFTWARE_TOKEN_MFA
Herausforderung zurück. -
Aufforderung zur Aufforderung: In Ihrer Anwendung wird ein Formular angezeigt, in dem ein zeitbasiertes Einmalkennwort (TOTP) von der Authenticator-App des Benutzers angefordert wird.
-
Herausforderung beantworten: Der Benutzer reicht das TOTP ein.
-
Auf die Herausforderung antworten: In einer anderen
RespondToAuthChallenge
Anfrage stellt Ihre Anwendung das TOTP des Benutzers bereit. -
Challenge-Antwort validieren: Amazon Cognito bestätigt den Code des Benutzers und stellt fest, dass Ihr Benutzerpool so konfiguriert ist, dass er keine zusätzlichen Herausforderungen an den aktuellen Benutzer ausgibt.
-
Token ausgeben: Amazon Cognito gibt ID-, Zugriffs- und Aktualisierungs-JSON-Webtoken (JWTs) zurück. Die Erstauthentifizierung des Benutzers ist abgeschlossen.
-
Token speichern: Ihre Anwendung speichert die Token des Benutzers im Cache, sodass sie auf Benutzerdaten verweisen, den Zugriff auf Ressourcen autorisieren und Token aktualisieren kann, wenn sie ablaufen.
-
Autorisierte Inhalte rendern: Ihre Anwendung bestimmt anhand ihrer Identität und Rollen den Zugriff des Benutzers auf Ressourcen und stellt Anwendungsinhalte bereit.
-
Zugriff auf Inhalte: Der Benutzer ist angemeldet und beginnt, die Anwendung zu verwenden.
-
Inhalt mit abgelaufenem Token anfordern: Später fordert der Benutzer eine Ressource an, für die eine Autorisierung erforderlich ist. Das zwischengespeicherte Token des Benutzers ist abgelaufen.
-
Aktualisierungstoken: Ihre Anwendung stellt eine
InitiateAuth
Anfrage mit dem gespeicherten Aktualisierungstoken des Benutzers. -
Token ausgeben: Amazon Cognito gibt eine neue ID und einen neuen Zugriff JWTs zurück. Die Sitzung des Benutzers wird ohne zusätzliche Aufforderung zur Eingabe von Anmeldeinformationen sicher aktualisiert.
Sie können AWS Lambda Trigger verwenden, um die Art und Weise, wie sich Benutzer authentifizieren, anzupassen. Diese Auslöser geben ihre eigenen Eingabeaufforderungen im Rahmen des Authentifizierungsablaufs aus und überprüfen sie.
Sie können auch den Admin-Authentifizierungsablauf für sichere Backend-Server verwenden. Sie können den Authentifizierungsablauf für die Benutzermigration verwenden, um die Benutzermigration zu ermöglichen, ohne dass Ihre Benutzer ihre Passwörter zurücksetzen müssen.