

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.

# Verwendung der Sicherheitsfunktionen für Amazon-Cognito-Benutzerpools
<a name="managing-security"></a>

Möglicherweise möchten Sie Ihre Anwendung vor Netzwerkangriffen, Kennwortraten, Identitätsmissbrauch und böswilliger Anmeldung und Anmeldung schützen. Ihre Konfiguration der Sicherheitsfunktionen von Amazon Cognito Cognito-Benutzerpools kann eine Schlüsselkomponente in Ihrer Sicherheitsarchitektur sein. Die Sicherheit Ihrer Anwendung liegt in der *Verantwortung des Kunden. „Sicherheit in der Cloud“*, wie im [Modell der AWS gemeinsamen Verantwortung](https://aws.amazon.com/compliance/shared-responsibility-model/) beschrieben. Die Tools in diesem Kapitel tragen dazu bei, dass Ihr Anwendungssicherheitsdesign diesen Zielen entspricht.

Eine wichtige Entscheidung, die Sie bei der Konfiguration Ihres Benutzerpools treffen müssen, ist, ob Sie die öffentliche Registrierung und Anmeldung zulassen möchten. Einige Benutzerpool-Optionen wie vertrauliche Clients, administrative Erstellung und Bestätigung von Benutzern und Benutzerpools ohne Domäne sind in geringerem Maße Angriffen über das Internet ausgesetzt. Ein häufiger Anwendungsfall sind jedoch öffentliche Clients, die die Registrierung von jedem Benutzer im Internet akzeptieren und alle Operationen direkt an Ihren Benutzerpool senden. In jeder Konfiguration, insbesondere aber bei diesen öffentlichen Konfigurationen, empfehlen wir, dass Sie Ihren Benutzerpool unter Berücksichtigung der Sicherheitsfunktionen planen und bereitstellen. Ungenügende Sicherheit kann sich auch auf Ihre AWS Rechnung auswirken, wenn durch unerwünschte Quellen neue aktive Benutzer entstehen oder versucht wird, bestehende Benutzer auszunutzen.

MFA und Bedrohungsschutz gelten für [lokale Benutzer](cognito-terms.md#terms-localuser). Drittanbieter IdPs sind für den Sicherheitsstatus [verbundener](cognito-terms.md#terms-federateduser) Benutzer verantwortlich.Sicherheitsfunktionen werden in Benutzerpools zusammengefasst

**Multifaktor-Authentifizierung (MFA)**  
Fordern Sie einen Code an, den Ihr Benutzerpool per E-Mail (mit dem Featureplan Essentials oder Plus) oder SMS-Nachricht oder über eine Authenticator-App sendet, um die Anmeldung für den Benutzerpool zu bestätigen.

**Schutz vor Bedrohungen**  
Überwachen Sie die Anmeldung auf Risikoindikatoren und wenden Sie MFA an oder blockieren Sie die Anmeldung. Fügen Sie benutzerdefinierte Ansprüche und Bereiche für den Zugriff auf Tokens hinzu. Senden Sie MFA-Codes per E-Mail.

**AWS WAF Netz ACLs**  
Untersuchen Sie den eingehenden Datenverkehr zu den [Endpunkten Ihres Benutzerpools und zur Authentifizierungs-API](authentication-flows-public-server-side.md#user-pools-API-operations) auf unerwünschte Aktivitäten auf Netzwerk- und Anwendungsebene.

**Sensitivität zwischen Groß- und Kleinschreibung**  
Verhindern Sie die Erstellung von Benutzern, deren E-Mail-Adresse oder bevorzugter Benutzername mit denen eines anderen Benutzers identisch ist, mit Ausnahme der Groß- und Kleinschreibung.

**Löschschutz**  
Verhindern Sie, dass automatisierte Systeme Ihre Benutzerpools versehentlich löschen. Erfordern Sie eine zusätzliche Bestätigung für das Löschen des Benutzerpools in AWS-Managementkonsole.

**Fehler beim Vorhandensein eines Benutzers**  
Schützen Sie sich vor der Offenlegung vorhandener Benutzernamen und Aliase in Ihrem Benutzerpool. Geben Sie als Antwort auf eine erfolglose Authentifizierung einen generischen Fehler zurück, unabhängig davon, ob der Benutzername gültig ist oder nicht.

**Topics**
+ [Hinzufügen der MFA zu einem Benutzerpool](user-pool-settings-mfa.md)
+ [Erweiterte Sicherheit mit Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md)
+ [Ordnen Sie einem AWS WAF Benutzerpool eine Web-ACL zu](user-pool-waf.md)
+ [Berücksichtigung der Groß-/Kleinschreibung im Benutzerpool](user-pool-case-sensitivity.md)
+ [Löschschutz für Benutzerpools](user-pool-settings-deletion-protection.md)
+ [Verwalten von Reaktionen auf Fehler bei vorhandenen Benutzern](cognito-user-pool-managing-errors.md)

# Hinzufügen der MFA zu einem Benutzerpool
<a name="user-pool-settings-mfa"></a>

MFA fügt dem anfänglichen *Etwas, das Sie* *wissen*, einen Authentifizierungsfaktor hinzu, bei dem es sich in der Regel um einen Benutzernamen und ein Passwort handelt. Sie können SMS-Textnachrichten, E-Mail-Nachrichten oder zeitbasierte Einmalkennwörter (TOTP) als zusätzliche Faktoren wählen, um Ihre Benutzer anzumelden, deren primärer Authentifizierungsfaktor Kennwörter ist.

Die Multi-Faktor-Authentifizierung (MFA) erhöht die Sicherheit für die [lokalen Benutzer](cognito-terms.md#terms-localuser) in Ihrer Anwendung. Im Fall von [Verbundbenutzern delegiert](cognito-terms.md#terms-federateduser) Amazon Cognito alle Authentifizierungsprozesse an den IdP und bietet ihnen keine zusätzlichen Authentifizierungsfaktoren an.

**Anmerkung**  
Wenn sich ein neuer Benutzer zum ersten Mal bei Ihrer App anmeldet, gibt Amazon Cognito OAuth 2.0-Token aus, auch wenn Ihr Benutzerpool MFA erfordert. Der zweite Authentifizierungsfaktor bei der Erstanmeldung Ihres Benutzer ist die Bestätigung der Verifizierungsnachricht, die Amazon Cognito an ihn sendet. Wenn Ihr Benutzerpool MFA erfordert, fordert Amazon Cognito Ihren Benutzer auf, einen zusätzlichen Anmeldefaktor zu registrieren, der nach der Erstanmeldung bei jedem weiteren Anmeldeversuch verwendet werden soll.

Mit der adaptiven Authentifizierung können Sie Ihren Benutzerpool so konfigurieren, dass als Reaktion auf ein erhöhtes Risikoniveau ein zusätzlicher Authentifizierungsfaktor erforderlich ist. Weitere Informationen darüber, wie Sie Ihrem Benutzerpool eine adaptive Authentifizierung hinzufügen, finden Sie unter [Erweiterte Sicherheit mit Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md).

Wenn Sie die MFA für einen Benutzerpool auf `required` festlegen, müssen alle Benutzer MFA abschließen, um sich anzumelden. Um sich anzumelden, muss jeder Benutzer mindestens einen MFA-Faktor einrichten. Wenn MFA erforderlich ist, müssen Sie das MFA-Setup in das Benutzer-Onboarding einbeziehen, damit Ihr Benutzerpool es ihnen ermöglicht, sich anzumelden.

Die verwaltete Anmeldung fordert Benutzer auf, MFA einzurichten, wenn Sie MFA als erforderlich festlegen. Wenn Sie MFA in Ihrem Benutzerpool als optional festlegen, werden Benutzer bei der verwalteten Anmeldung nicht aufgefordert. Wenn Sie mit optionaler MFA arbeiten möchten, müssen Sie in Ihrer App eine Oberfläche erstellen, die Ihre Benutzer auffordert, auszuwählen, dass sie MFA einrichten möchten, und die sie dann durch die API-Eingaben führt, um ihren zusätzlichen Anmeldefaktor zu verifizieren.

**Topics**
+ [Wissenswertes über den Benutzerpool MFA](#user-pool-settings-mfa-prerequisites)
+ [Benutzer-MFA-Einstellungen](#user-pool-settings-mfa-preferences)
+ [Einzelheiten der MFA-Logik zur Benutzerlaufzeit](#user-pool-settings-mfa-user-outcomes)
+ [Konfigurieren Sie einen Benutzerpool für die Multi-Faktor-Authentifizierung](#user-pool-configuring-mfa)
+ [SMS- und E-Mail-Nachricht MFA](user-pool-settings-mfa-sms-email-message.md)
+ [TOTP-Software-Token-MFA](user-pool-settings-mfa-totp.md)

## Wissenswertes über den Benutzerpool MFA
<a name="user-pool-settings-mfa-prerequisites"></a>

Berücksichtigen Sie Folgendes, bevor Sie MFA einrichten:
+ Benutzer können entweder über MFA verfügen *oder* sich mit kennwortlosen Faktoren anmelden, mit einer Ausnahme: Hauptschlüssel mit Benutzerverifizierung können die MFA-Anforderungen erfüllen, wenn Sie in Ihrem Benutzerpool `FactorConfiguration` auf `MULTI_FACTOR_WITH_USER_VERIFICATION` einstellen. `WebAuthnConfiguration`
  + In Benutzerpools, die [Einmalkennwörter](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) unterstützen, können Sie MFA nicht auf erforderlich setzen.
  + Sie können Ihrem Benutzerpool keine MFA `SMS_OTP` hinzufügen `EMAIL_OTP` oder hinzufügen, `AllowedFirstAuthFactors` wenn MFA erforderlich ist. Sie können hinzufügen`WEB_AUTHN`, wann auf `MULTI_FACTOR_WITH_USER_VERIFICATION` eingestellt `FactorConfiguration` ist.
  + [Wahlbasierte Anmeldung](authentication-flows-selection-sdk.md#authentication-flows-selection-choice) bietet `PASSWORD` und `PASSWORD_SRP` berücksichtigt nur dann alle App-Clients, wenn MFA im Benutzerpool erforderlich ist. **Weitere Informationen zu den Abläufen zwischen Benutzernamen und Passwörtern finden Sie unter [Melden Sie sich mit dauerhaften Passwörtern an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-password) und [Melden Sie sich mit dauerhaften Passwörtern und sicherer Payload an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-srp) im Kapitel Authentifizierung dieses Handbuchs.**
  + In Benutzerpools, in denen MFA optional ist, können sich Benutzer, die einen MFA-Faktor konfiguriert haben, bei der wahlbasierten Anmeldung nur mit Benutzername-Kennwort-Authentifizierungsabläufen anmelden. [Diese Benutzer kommen für alle clientbasierten Anmeldeabläufe in Frage.](authentication-flows-selection-sdk.md#authentication-flows-selection-client)

  In der folgenden Tabelle werden die Auswirkungen der MFA-Einstellungen des Benutzerpools und der Benutzerkonfiguration von MFA-Faktoren auf die Fähigkeit der Benutzer beschrieben, sich mit kennwortlosen Faktoren anzumelden.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/user-pool-settings-mfa.html)
+ Die bevorzugte MFA-Methode eines Benutzers beeinflusst die Methoden, mit denen er sein Passwort wiederherstellen kann. Benutzer, deren bevorzugte MFA per E-Mail-Nachricht erfolgt, können keinen Code zum Zurücksetzen des Passworts per E-Mail erhalten. Benutzer, deren bevorzugte MFA per SMS-Nachricht erfolgt, können keinen Code zum Zurücksetzen des Passworts per SMS erhalten.

  Ihre Einstellungen für die [Kennwortwiederherstellung](managing-users-passwords.md#user-pool-password-reset-and-recovery) müssen eine alternative Option bieten, wenn Benutzer nicht für Ihre bevorzugte Methode zum Zurücksetzen des Passworts in Frage kommen. Beispielsweise könnten Ihre Wiederherstellungsmechanismen E-Mail als erste Priorität haben und E-Mail-MFA könnte eine Option in Ihrem Benutzerpool sein. Fügen Sie in diesem Fall die Kontowiederherstellung per SMS-Nachricht als zweite Option hinzu oder verwenden Sie administrative API-Operationen, um die Passwörter für diese Benutzer zurückzusetzen.

  Amazon Cognito beantwortet Anfragen zum Zurücksetzen von Passwörtern von Benutzern, die keine gültige Wiederherstellungsmethode haben, mit einer Fehlerantwort. `InvalidParameterException`

  Das Beispiel für eine `AccountRecoverySetting` Anfrage [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html#API_UpdateUserPool_Examples)zeigt, wie Benutzer auf die Wiederherstellung per SMS-Nachricht zurückgreifen können, wenn das Zurücksetzen des Kennworts für E-Mail-Nachrichten nicht verfügbar ist.
+ Benutzer können MFA- und Passwort-Reset-Codes nicht an dieselbe E-Mail-Adresse oder Telefonnummer erhalten. Wenn sie Einmalpasswörter (OTPs) aus E-Mail-Nachrichten für MFA verwenden, müssen sie SMS-Nachrichten für die Kontowiederherstellung verwenden. Wenn sie OTPs SMS-Nachrichten für MFA verwenden, müssen sie E-Mail-Nachrichten für die Kontowiederherstellung verwenden. In Benutzerpools mit MFA können Benutzer die Self-Service-Kennwortwiederherstellung möglicherweise nicht abschließen, wenn sie Attribute für ihre E-Mail-Adresse, aber keine Telefonnummer haben, oder ihre Telefonnummer, aber keine E-Mail-Adresse.

  Um zu verhindern, dass Benutzer ihre Passwörter in Benutzerpools mit dieser Konfiguration nicht zurücksetzen können, legen Sie die `phone_number` [Attribute `email` und nach Bedarf](user-pool-settings-attributes.md) fest. Als Alternative können Sie Prozesse einrichten, bei denen diese Attribute immer erfasst und festgelegt werden, wenn sich Benutzer registrieren oder wenn Ihre Administratoren Benutzerprofile erstellen. Wenn Benutzer über beide Attribute verfügen, sendet Amazon Cognito automatisch Codes zum Zurücksetzen des Passworts an das Ziel, das *nicht* dem MFA-Faktor des Benutzers entspricht.
+ Wenn Sie MFA in Ihrem Benutzerpool aktivieren und **SMS-Nachricht oder **E-Mail-Nachricht**** als zweiten Faktor wählen, können Sie Nachrichten an eine Telefonnummer oder ein E-Mail-Attribut senden, das Sie in Amazon Cognito nicht verifiziert haben. Nachdem Ihr Benutzer MFA abgeschlossen hat, setzt Amazon Cognito sein `phone_number_verified` oder `email_verified` Attribut auf. `true`
+ Nach fünf erfolglosen Versuchen, einen MFA-Code zu präsentieren, beginnt Amazon Cognito mit dem unter [Sperrverhalten bei fehlgeschlagenen Anmeldeversuchen](authentication.md#authentication-flow-lockout-behavior) beschriebenen exponentiellen Timeout-Kontosperrungsprozess.
+ Wenn sich Ihr Konto in der SMS-Sandbox befindet AWS-Region , die die Amazon Simple Notification Service (Amazon SNS) -Ressourcen für Ihren Benutzerpool enthält, müssen Sie die Telefonnummern in Amazon SNS überprüfen, bevor Sie eine SMS-Nachricht senden können. Weitere Informationen finden Sie unter [Einstellungen für SMS-Nachrichten für Amazon-Cognito-Benutzerpools](user-pool-sms-settings.md).
+ Um den MFA-Status von Benutzern als Reaktion auf erkannte Ereignisse mit Bedrohungsschutz zu ändern, aktivieren Sie MFA und legen Sie ihn in der Amazon Cognito Cognito-Benutzerpool-Konsole als optional fest. Weitere Informationen finden Sie unter [Erweiterte Sicherheit mit Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md).
+ E-Mail- und SMS-Nachrichten setzen voraus, dass Ihre Benutzer über E-Mail-Adressen- und Telefonnummernattribute verfügen. Sie können die Attribute `email` oder nach `phone_number` Bedarf in Ihrem Benutzerpool festlegen. In diesem Fall können Benutzer die Registrierung nur abschließen, wenn sie eine Telefonnummer angeben. Wenn Sie diese Attribute nicht wie erforderlich festlegen, aber MFA für E-Mail- oder SMS-Nachrichten verwenden möchten, fordern Sie Benutzer bei der Registrierung zur Eingabe ihrer E-Mail-Adresse oder Telefonnummer auf. Es hat sich bewährt, Ihren Benutzerpool so zu konfigurieren, dass Benutzer automatisch Nachrichten erhalten, um [diese Attribute zu überprüfen](signing-up-users-in-your-app.md).

  Amazon Cognito zählt eine Telefonnummer oder E-Mail-Adresse als verifiziert, wenn ein Benutzer erfolgreich einen temporären Code per SMS oder E-Mail-Nachricht erhalten und diesen Code in einer [VerifyUserAttribute](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifyUserAttribute.html)API-Anfrage zurückgegeben hat. Als Alternative kann Ihr Team Telefonnummern festlegen und diese mit einer Verwaltungsanwendung, die [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)API-Anfragen ausführt, als verifiziert markieren.
+ Wenn Sie MFA als erforderlich festgelegt und mehr als einen Authentifizierungsfaktor aktiviert haben, fordert Amazon Cognito neue Benutzer auf, einen MFA-Faktor auszuwählen, den sie verwenden möchten. Benutzer benötigen eine Telefonnummer, um SMS-Nachrichten-MFA einzurichten, und eine E-Mail-Adresse, um E-Mail-Nachrichten-MFA einzurichten. Wenn ein Benutzer das Attribut nicht für eine verfügbare nachrichtenbasierte MFA definiert hat, fordert Amazon Cognito ihn auf, TOTP-MFA einzurichten. Die Aufforderung, einen MFA-Faktor (`SELECT_MFA_TYPE`) auszuwählen und einen ausgewählten Faktor (`MFA_SETUP`) einzurichten, erfolgt als Challenge-Antwort auf [InitiateAuth[AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)API-Operationen.

## Benutzer-MFA-Einstellungen
<a name="user-pool-settings-mfa-preferences"></a>

Benutzer können mehrere MFA-Faktoren einrichten. Nur einer kann aktiv sein. Sie können die effektive MFA-Präferenz für Ihre Benutzer in den Benutzerpooleinstellungen oder in Benutzeraufforderungen auswählen. Ein Benutzerpool fordert einen Benutzer zur Eingabe von MFA-Codes auf, wenn die Benutzerpooleinstellungen und ihre eigenen Einstellungen auf Benutzerebene die folgenden Bedingungen erfüllen:

1. Sie setzen MFA in Ihrem Benutzerpool auf optional oder erforderlich.

1. Der Benutzer hat ein gültiges `email` oder `phone_number` -Attribut oder hat eine Authenticator-App für TOTP eingerichtet.

1. Mindestens ein MFA-Faktor ist aktiv.

1. Ein MFA-Faktor ist als bevorzugt festgelegt.

### Vermeiden Sie die Verwendung desselben Faktors für Anmeldung und MFA
<a name="user-pool-settings-mfa-preferences-same-factor"></a>

Es ist möglich, Ihren Benutzerpool so zu konfigurieren, dass ein Anmeldefaktor die einzig verfügbare Anmelde- und MFA-Option für einige oder alle Benutzer ist. Dieses Ergebnis kann eintreten, wenn Ihr primärer Anwendungsfall Einmalpasswörter für E-Mail-Nachrichten oder SMS-Nachrichten sind (). OTPs Die bevorzugte MFA eines Benutzers kann unter den folgenden Bedingungen dieselbe Art von Faktor sein wie seine Anmeldung:
+ MFA ist im Benutzerpool erforderlich.
+ E-Mail- und SMS-OTP sind im Benutzerpool verfügbare Anmelde *- und* MFA-Optionen.
+ Der Benutzer meldet sich mit OTP für E-Mail- oder SMS-Nachrichten an.
+ Sie haben ein E-Mail-Adressattribut, aber kein Telefonnummernattribut, oder ein Telefonnummernattribut, aber kein E-Mail-Adressattribut.

In diesem Szenario kann sich der Benutzer mit einem E-Mail-OTP anmelden und MFA mit einem E-Mail-OTP abschließen. Diese Option macht die grundlegende Funktion von MFA zunichte. Benutzer, die sich mit Einmalpasswörtern anmelden, müssen in der Lage sein, für die Anmeldung andere Übermittlungsmethoden als für MFA zu verwenden. Wenn Benutzer sowohl SMS- als auch E-Mail-Optionen haben, weist Amazon Cognito automatisch einen anderen Faktor zu. Wenn sich ein Benutzer beispielsweise mit E-Mail-OTP anmeldet, ist sein bevorzugtes MFA SMS-OTP.

Gehen Sie wie folgt vor, um die Authentifizierung mit demselben Faktor zu behandeln, wenn Ihr Benutzerpool die OTP-Authentifizierung sowohl für die Anmeldung als auch für die MFA unterstützt.

1. Aktivieren Sie sowohl E-Mail- als auch SMS-OTP als Anmeldefaktoren.

1. Aktivieren Sie sowohl E-Mail- als auch SMS-OTP als MFA-Faktoren.

1. Erfassen

### Benutzerpool-Einstellungen und ihre Auswirkung auf MFA-Optionen
<a name="user-pool-settings-mfa-preferences-things-to-know"></a>

Die Konfiguration Ihres Benutzerpools beeinflusst die MFA-Methoden, die Benutzer wählen können. Im Folgenden sind einige Benutzerpooleinstellungen aufgeführt, die Einfluss darauf haben, ob Benutzer MFA einrichten können.
+ In der Konfiguration der **Multi-Faktor-Authentifizierung** im **Anmelde-Menü** der Amazon Cognito Cognito-Konsole können Sie MFA auf optional oder erforderlich setzen oder deaktivieren. Das API-Äquivalent dieser Einstellung ist der [MfaConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-MfaConfiguration)Parameter von`CreateUserPool`, und. `UpdateUserPool` `SetUserPoolMfaConfig`

  Auch in der Konfiguration für die **Multi-Faktor-Authentifizierung** bestimmt die Einstellung der **MFA-Methoden** die MFA-Faktoren, die Benutzer einrichten können. Das API-Äquivalent dieser Einstellung ist der Vorgang. [SetUserPoolMfaConfig](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html) 
+ Im **Anmeldemenü** können Sie unter **Benutzerkontenwiederherstellung** konfigurieren, wie Ihr Benutzerpool Nachrichten an Benutzer sendet, die ihr Passwort vergessen haben. Die MFA-Methode eines Benutzers kann nicht dieselbe MFA-Übermittlungsmethode haben wie die Benutzerpool-Übermittlungsmethode für Codes mit vergessenen Passwörtern. Der API-Parameter für die Übermittlungsmethode „Passwort vergessen“ ist der Parameter von und. [AccountRecoverySetting](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AccountRecoverySetting)`CreateUserPool``UpdateUserPool`

  Beispielsweise können Benutzer E-Mail-MFA nicht einrichten, wenn Ihre Wiederherstellungsoption **Nur E-Mail** ist. Dies liegt daran, dass Sie E-Mail-MFA nicht aktivieren und die Wiederherstellungsoption auf **Nur E-Mail** im selben Benutzerpool festlegen können. Wenn Sie diese Option auf **E-Mail, falls verfügbar, setzen, andernfalls auf SMS**, ist E-Mail die bevorzugte Wiederherstellungsoption, aber Ihr Benutzerpool kann auf SMS-Nachrichten zurückgreifen, wenn ein Benutzer nicht für die Wiederherstellung von E-Mail-Nachrichten berechtigt ist. In diesem Szenario können Benutzer E-Mail-MFA als bevorzugt festlegen und nur dann eine SMS-Nachricht erhalten, wenn sie versuchen, ihr Passwort zurückzusetzen.
+ Wenn Sie nur eine MFA-Methode als verfügbar festlegen, müssen Sie die Benutzer-MFA-Einstellungen nicht verwalten.
+ Eine aktive SMS-Konfiguration macht SMS-Nachrichten automatisch zu einer verfügbaren MFA-Methode in Ihrem Benutzerpool.

  Eine aktive [E-Mail-Konfiguration](user-pool-email.md) mit Ihren eigenen Amazon SES SES-Ressourcen in einem Benutzerpool und dem Feature-Plan Essentials oder Plus macht E-Mail-Nachrichten automatisch zu einer verfügbaren MFA-Methode in Ihrem Benutzerpool.
+ Wenn Sie MFA in einem Benutzerpool auf erforderlich setzen, können Benutzer keine MFA-Methoden aktivieren oder deaktivieren. Sie können nur eine bevorzugte Methode festlegen.
+ Wenn Sie MFA in einem Benutzerpool auf optional setzen, werden Benutzer bei der verwalteten Anmeldung nicht aufgefordert, MFA einzurichten, sondern Benutzer werden aufgefordert, einen MFA-Code einzugeben, wenn sie eine bevorzugte MFA-Methode haben.
+ Wenn Sie den [Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md) aktivieren und Antworten mit adaptiver Authentifizierung im Vollfunktionsmodus konfigurieren, muss MFA in Ihrem Benutzerpool optional sein. Eine der Antwortoptionen bei der adaptiven Authentifizierung besteht darin, MFA für einen Benutzer vorzuschreiben, dessen Anmeldeversuch daraufhin bewertet wird, ob er ein gewisses Risiko eindämmt.

  Die Einstellung **Erforderliche Attribute** im **Anmeldemenü** der Konsole bestimmt, ob Benutzer eine E-Mail-Adresse oder Telefonnummer angeben müssen, um sich in Ihrer Anwendung zu registrieren. E-Mail- und SMS-Nachrichten werden zu geeigneten MFA-Faktoren, wenn ein Benutzer über das entsprechende Attribut verfügt. Der [Schema-Parameter](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Schema) von `CreateUserPool` legt die Attribute nach Bedarf fest.
+ Wenn Sie MFA in einem Benutzerpool auf erforderlich setzen und sich ein Benutzer mit verwalteter Anmeldung anmeldet, fordert Amazon Cognito ihn auf, eine MFA-Methode aus den verfügbaren Methoden für Ihren Benutzerpool auszuwählen. Managed Login kümmert sich um die Erfassung einer E-Mail-Adresse oder Telefonnummer und die Einrichtung von TOTP. Das folgende Diagramm zeigt die Logik hinter den Optionen, die Amazon Cognito Benutzern bietet.

### MFA-Einstellungen für Benutzer konfigurieren
<a name="user-pool-settings-mfa-preferences-configure"></a>

Sie können MFA-Einstellungen für Benutzer in einem Self-Service-Modell mit Zugriffstoken-Autorisierung oder in einem vom Administrator verwalteten Modell mit administrativen API-Vorgängen konfigurieren. Diese Operationen aktivieren oder deaktivieren MFA-Methoden und legen eine von mehreren Methoden als bevorzugte Option fest. Nachdem Ihr Benutzer eine MFA-Einstellung festgelegt hat, fordert Amazon Cognito ihn bei der Anmeldung auf, einen Code für seine bevorzugte MFA-Methode einzugeben. Benutzer, die keine Präferenz festgelegt haben, werden aufgefordert, in einer Challenge eine bevorzugte Methode auszuwählen. `SELECT_MFA_TYPE`
+ Legt in einem Benutzer-Self-Service-Modell oder einer öffentlichen Anwendung [SetUserMfaPreference](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserMFAPreference.html), autorisiert mit dem Zugriffstoken eines angemeldeten Benutzers, die MFA-Konfiguration fest.
+ Legt in einer vom Administrator verwalteten oder vertraulichen Anwendung, die mit AWS Administratoranmeldedaten autorisiert ist [AdminSetUserPreference](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserMFAPreference.html), die MFA-Konfiguration fest.

Sie können die Benutzer-MFA-Einstellungen auch über das **Benutzermenü** der Amazon Cognito Cognito-Konsole festlegen. Weitere Informationen zu den öffentlichen und vertraulichen Authentifizierungsmodellen in der Amazon Cognito Cognito-Benutzerpools-API finden Sie unter[Grundlegendes zur Authentifizierung über API, OIDC und verwaltete Anmeldeseiten](authentication-flows-public-server-side.md#user-pools-API-operations).

## Einzelheiten der MFA-Logik zur Benutzerlaufzeit
<a name="user-pool-settings-mfa-user-outcomes"></a>

Um die Schritte zu bestimmen, die bei der Anmeldung von Benutzern zu ergreifen sind, bewertet Ihr Benutzerpool Benutzer-MFA-Einstellungen, [Benutzerattribute](user-pool-settings-attributes.md), die [MFA-Einstellung des Benutzerpools](#user-pool-configuring-mfa), Maßnahmen zum [Schutz vor Bedrohungen](cognito-user-pool-settings-adaptive-authentication.md) und Einstellungen für die [Self-Service-Kontowiederherstellung](managing-users-passwords.md#user-pool-password-reset-and-recovery). Anschließend werden Benutzer angemeldet, aufgefordert, eine MFA-Methode auszuwählen, sie werden aufgefordert, eine MFA-Methode einzurichten, oder sie werden zur Eingabe von MFA aufgefordert. Um eine MFA-Methode einzurichten, müssen Benutzer eine [E-Mail-Adresse oder Telefonnummer angeben oder](user-pool-settings-mfa-sms-email-message.md) [einen TOTP-Authentifikator registrieren](user-pool-settings-mfa-totp.md#totp-mfa-set-up-api). Sie können auch MFA-Optionen einrichten und [eine bevorzugte Option im Voraus registrieren](#user-pool-settings-mfa-preferences-configure). In der folgenden Abbildung sind die detaillierten Auswirkungen der Konfiguration des Benutzerpools auf Anmeldeversuche unmittelbar nach der ersten Anmeldung aufgeführt.

Die hier dargestellte Logik gilt für SDK-basierte Anwendungen und die [verwaltete Anmeldung](cognito-user-pools-managed-login.md), ist aber bei verwalteter Anmeldung weniger sichtbar. Gehen Sie bei der Fehlerbehebung für MFA von den Ergebnissen Ihrer Benutzer zurück zu den Benutzerprofil- und Benutzerpoolkonfigurationen, die zu der Entscheidung beigetragen haben.

![\[Ein Diagramm des Entscheidungsprozesses von Amazon Cognito Cognito-Benutzerpools für die MFA-Auswahl durch Endbenutzer.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-mfa-decision-tree.png)


Die folgende Liste entspricht der Nummerierung im Entscheidungslogikdiagramm und beschreibt jeden Schritt im Detail. A ![\[checkmark\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png) steht für eine erfolgreiche Authentifizierung und den Abschluss des Datenflusses. A ![\[error\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/error.png) weist auf eine erfolglose Authentifizierung hin.

1. Ein Benutzer zeigt seinen Benutzernamen oder seinen Benutzernamen und sein Passwort auf Ihrem Anmeldebildschirm an. Wenn er keine gültigen Anmeldeinformationen vorlegt, wird seine Anmeldeanfrage abgelehnt. 

1. Wenn die Benutzername-Passwort-Authentifizierung erfolgreich ist, stellen Sie fest, ob MFA erforderlich, optional oder deaktiviert ist. Wenn die Option deaktiviert ist, führen der richtige Benutzername und das richtige Passwort zu einer erfolgreichen Authentifizierung. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

   1. Wenn MFA optional ist, stellen Sie fest, ob der Benutzer zuvor einen TOTP-Authentifikator eingerichtet hat. Wenn sie TOTP eingerichtet haben, fordern Sie TOTP MFA an. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

   1. Stellen Sie fest, ob der Benutzer aufgrund der adaptiven Authentifizierungsfunktion des Bedrohungsschutzes MFA einrichten musste. Wenn kein MFA zugewiesen wurde, ist der Benutzer angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

1. Wenn MFA erforderlich ist oder die adaptive Authentifizierung MFA zugewiesen hat, stellen Sie fest, ob der Benutzer einen MFA-Faktor als aktiviert und bevorzugt festgelegt hat. Falls ja, fordern Sie MFA mit diesem Faktor an. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

1. Wenn der Benutzer keine MFA-Präferenz festgelegt hat, stellen Sie fest, ob der Benutzer einen TOTP-Authentifikator registriert hat.

   1. Wenn der Benutzer einen TOTP-Authentifikator registriert hat, stellen Sie fest, ob TOTP-MFA im Benutzerpool verfügbar ist (TOTP-MFA kann deaktiviert werden, nachdem Benutzer zuvor Authentifikatoren eingerichtet haben).

   1. Stellen Sie fest, ob MFA für E-Mail-Nachrichten oder SMS-Nachrichten auch im Benutzerpool verfügbar ist.

   1.  Wenn weder E-Mail- noch SMS-MFA verfügbar ist, fordern Sie den Benutzer zur Eingabe von TOTP-MFA auf. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

   1. Wenn E-Mail- oder SMS-MFA verfügbar sind, stellen Sie fest, ob der Benutzer über das entsprechende `email` `phone_number` OR-Attribut verfügt. Wenn ja, stehen ihnen alle Attribute zur Verfügung, die nicht die primäre Methode für die Self-Service-Kontowiederherstellung sind und für MFA aktiviert sind.

   1. Stellen Sie den Benutzer `SELECT_MFA_TYPE` vor eine Herausforderung mit `MFAS_CAN_SELECT` Optionen, die TOTP und die verfügbaren MFA-Faktoren für SMS oder E-Mail beinhalten.

   1.  Fordert den Benutzer zur Eingabe des Faktors auf, den er als Antwort auf die `SELECT_MFA_TYPE` Aufforderung ausgewählt hat. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

1. Wenn der Benutzer keinen TOTP-Authentifikator registriert hat oder wenn er einen registriert hat, TOTP MFA jedoch derzeit deaktiviert ist, stellen Sie fest, ob der Benutzer über ein Oder-Attribut verfügt. `email` `phone_number`

1.  Wenn der Benutzer nur eine E-Mail-Adresse oder nur eine Telefonnummer hat, stellen Sie fest, ob dieses Attribut auch die Methode ist, die der Benutzerpool implementiert, um Nachrichten zur Kontowiederherstellung zum Zurücksetzen des Kennworts zu senden. Wenn der Wert wahr ist, können sie die Anmeldung nicht abschließen, wenn MFA erforderlich ist, und Amazon Cognito gibt einen Fehler zurück. Um die Anmeldung für diesen Benutzer zu aktivieren, müssen Sie ein Attribut hinzufügen, das nicht wiederhergestellt werden kann, oder einen TOTP-Authentifikator für ihn registrieren. ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/error.png)

   1. Wenn sie über eine verfügbare E-Mail-Adresse oder Telefonnummer verfügen, die nicht wiederhergestellt werden kann, stellen Sie fest, ob der entsprechende E-Mail- oder SMS-MFA-Faktor aktiviert ist.

   1. Wenn sie über ein E-Mail-Adressattribut verfügen, das nicht wiederhergestellt werden kann und E-Mail-MFA aktiviert ist, fordern Sie sie auf, sie herauszufordern. `EMAIL_OTP` Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

   1. Wenn sie ein Telefonnummernattribut haben, das nicht wiederhergestellt werden kann und SMS-MFA aktiviert ist, fordern Sie sie zur Aufforderung auf. `SMS_MFA` Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

   1. Wenn sie kein Attribut haben, das für einen aktivierten E-Mail- oder SMS-MFA-Faktor in Frage kommt, stellen Sie fest, ob TOTP-MFA aktiviert ist. Wenn TOTP MFA deaktiviert ist, können sie die Anmeldung nicht abschließen, wenn MFA erforderlich ist, und Amazon Cognito gibt einen Fehler zurück. Um die Anmeldung für diesen Benutzer zu aktivieren, müssen Sie ein Attribut hinzufügen, das nicht wiederhergestellt werden kann, oder einen TOTP-Authentifikator für ihn registrieren. ![\[alt text not found\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/error.png)
**Anmerkung**  
Dieser Schritt wurde bereits als **Nein** bewertet, wenn der Benutzer über einen TOTP-Authentifikator verfügt, TOTP MFA jedoch deaktiviert ist.

   1. Wenn TOTP MFA aktiviert ist, stellen Sie den Benutzer `SOFTWARE_TOKEN_MFA` in den `MFAS_CAN_SETUP` Optionen `MFA_SETUP` vor eine Herausforderung. Um diese Aufforderung abzuschließen, müssen Sie separat einen TOTP-Authentifikator für den Benutzer registrieren und mit antworten. `"ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]", "SESSION": "[Session ID from VerifySoftwareToken]}"`

   1. Nachdem der Benutzer auf die Aufforderung mit dem `MFA_SETUP` Sitzungstoken aus einer [VerifySoftwareToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifySoftwareToken.html)Anfrage geantwortet hat, fordern Sie ihn zu einer `SOFTWARE_TOKEN_MFA` Aufforderung auf. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

1. Wenn der Benutzer sowohl eine E-Mail-Adresse als auch eine Telefonnummer hat, bestimmen Sie, welches Attribut, falls vorhanden, die primäre Methode für Kontowiederherstellungsnachrichten zum Zurücksetzen des Kennworts ist.

   1. Wenn die Self-Service-Kontowiederherstellung deaktiviert ist, kann jedes der Attribute für MFA verwendet werden. Stellen Sie fest, ob einer oder beide der E-Mail- und SMS-MFA-Faktoren aktiviert sind.

   1. Wenn beide Attribute als MFA-Faktor aktiviert sind, `SELECT_MFA_TYPE` fordern Sie den Benutzer mit den `MFAS_CAN_SELECT` Optionen `SMS_MFA` und `EMAIL_OTP` auf.

   1. Fordert sie zur Eingabe des Faktors auf, den sie als Antwort auf die `SELECT_MFA_TYPE` Aufforderung ausgewählt haben. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

   1. Wenn nur ein Attribut als MFA-Faktor in Frage kommt, fordern Sie sie auf, den verbleibenden Faktor herauszufordern. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

      Dieses Ergebnis tritt in den folgenden Szenarien auf.

      1. Wenn sie über `phone_number` Attribute verfügen`email`, sind SMS und E-Mail-MFA aktiviert, und die primäre Methode zur Kontowiederherstellung erfolgt per E-Mail oder SMS-Nachricht.

      1. Wenn sie über `phone_number` Attribute verfügen`email`, ist nur SMS-MFA oder E-Mail-MFA aktiviert und die Self-Service-Kontowiederherstellung ist deaktiviert.

1. Wenn der Benutzer keinen TOTP-Authentifikator registriert hat und auch kein `email` `phone_number` NOR-Attribut besitzt, fordern Sie ihn auf, ihn herauszufordern. `MFA_SETUP` Die Liste `MFAS_CAN_SETUP` enthält alle aktivierten MFA-Faktoren im Benutzerpool, die nicht die primäre Option für die Kontowiederherstellung sind. Sie können auf diese Herausforderung per E-Mail oder TOTP-MFA reagieren. `ChallengeResponses` Um SMS-MFA einzurichten, fügen Sie separat ein Telefonnummernattribut hinzu und starten Sie die Authentifizierung erneut.

   Für TOTP MFA antworten Sie mit. `"ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]", "SESSION": "[Session ID from VerifySoftwareToken]"}`

   Wenn Sie MFA per E-Mail erhalten möchten, antworten Sie mit`"ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME": "[username]", "email": "[user's email address]"}`.

   1. Fragen Sie sie nach dem Faktor, den sie als Antwort auf die `SELECT_MFA_TYPE` Herausforderung ausgewählt haben. Wenn sie die MFA erfolgreich beantworten, sind sie angemeldet. ![\[Green circular icon with a checkmark symbol inside.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/checkmark.png)

## Konfigurieren Sie einen Benutzerpool für die Multi-Faktor-Authentifizierung
<a name="user-pool-configuring-mfa"></a>

Sie können MFA in der Amazon Cognito Cognito-Konsole oder mit den [SetUserPoolMfaConfig](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html)API-Operations- und SDK-Methoden konfigurieren.

**Konfigurieren der MFA in der Amazon-Cognito-Konsole**

1. Melden Sie sich bei der [Amazon Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an.

1. Wählen Sie **User Pools** (Benutzerpools) aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Wählen Sie das **Anmelde-Menü**. **Suchen Sie nach **Multi-Faktor-Authentifizierung** und wählen Sie Bearbeiten.**

1. Wählen Sie die Methode **MFA enforcement** (Durchsetzung von MFA), die Sie für Ihren Benutzerpool verwenden möchten.  
![\[Ein Screenshot von der Amazon Cognito Cognito-Konsole mit MFA-Optionen.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-mfa.png)

   1. **MFA erforderlich**. Alle Benutzer in Ihrem Benutzerpool müssen sich mit einer zusätzlichen SMS, E-Mail oder einem zeitbasierten Einmalkennwort (TOTP) als zusätzlichem Authentifizierungsfaktor anmelden.

   1. **Optionaler MFA**. Sie können Ihren Benutzern die Möglichkeit geben, einen zusätzlichen Anmeldefaktor zu registrieren, aber dennoch Benutzern, die MFA nicht konfiguriert haben, die Anmeldung gestatten. Wählen Sie diese Option, wenn Sie die adaptive Authentifizierung verwenden. Weitere Informationen zur adaptiven Authentifizierung finden Sie unter [Erweiterte Sicherheit mit Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md).

   1. **Kein MFA**. Ihre Benutzer können keinen zusätzlichen Anmeldefaktor registrieren.

1. Wählen Sie die **MFA-Methoden** aus, die Sie in Ihrer App unterstützen. Sie können **E-Mail-Nachrichten, **SMS-Nachrichten**** oder TOTP-generierende **Authenticator-Apps** als zweiten Faktor festlegen.

1. Wenn Sie SMS-Nachrichten als zweiten Faktor verwenden und Sie keine IAM-Rolle für die Verwendung mit Amazon Simple Notification Service (Amazon SNS) für SMS-Nachrichten konfiguriert haben, können Sie eine in der Konsole erstellen. **Suchen Sie im Menü **Authentifizierungsmethoden** für Ihren Benutzerpool nach **SMS** und wählen Sie Bearbeiten.** Sie können auch eine vorhandene Rolle verwenden, mit der Amazon Cognito SMS-Nachrichten für Sie an Ihre Benutzer senden kann. Weitere Informationen finden Sie unter [IAM-Rollen](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html).

   Wenn Sie E-Mail-Nachrichten als zweiten Faktor verwenden und keine ursprüngliche Identität für die Verwendung mit Amazon Simple Email Service (Amazon SES) für E-Mail-Nachrichten konfiguriert haben, erstellen Sie eine in der Konsole. Sie müssen die Option **E-Mail mit SES senden** auswählen. Suchen Sie im Menü **Authentifizierungsmethoden** für Ihren Benutzerpool nach **E-Mail** und wählen Sie **Bearbeiten** aus. Wählen Sie eine **ABSENDER-E-Mail-Adresse aus** den verfügbaren verifizierten Identitäten in der Liste aus. Wenn Sie beispielsweise eine verifizierte Domain wählen`example.com`, müssen Sie auch einen **FROM-Absendernamen** in der verifizierten Domain konfigurieren. `admin-noreply@example.com`

1. Wählen Sie **Änderungen speichern ** aus.

# SMS- und E-Mail-Nachricht MFA
<a name="user-pool-settings-mfa-sms-email-message"></a>

SMS- und E-Mail-MFA-Nachrichten bestätigen, dass Benutzer Zugriff auf ein Nachrichtenziel haben, bevor sie sich anmelden können. Sie bestätigen, dass sie nicht nur Zugriff auf ein Passwort haben, sondern auch auf die SMS-Nachrichten oder den E-Mail-Posteingang des ursprünglichen Benutzers. Amazon Cognito fordert Benutzer auf, einen Kurzcode anzugeben, den Ihr Benutzerpool gesendet hat, nachdem sie erfolgreich einen Benutzernamen und ein Passwort eingegeben haben.

MFA für SMS und E-Mail-Nachrichten erfordert keine zusätzliche Konfiguration, nachdem Ihr Benutzer seinem Profil eine E-Mail-Adresse oder Telefonnummer hinzugefügt hat. Amazon Cognito kann Nachrichten an nicht verifizierte E-Mail-Adressen und Telefonnummern senden. Wenn ein Benutzer sein erstes MFA abschließt, markiert Amazon Cognito seine E-Mail-Adresse oder Telefonnummer als verifiziert.

Die MFA-Authentifizierung beginnt, wenn ein Benutzer mit MFA seinen Benutzernamen und sein Passwort in Ihre Anwendung eingibt. Ihre Anwendung übermittelt diese Anfangsparameter in einer SDK-Methode, die eine oder API-Anfrage aufruft. [InitiateAuth[AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html) Die `ChallengeParameters` API-Antwort enthält einen `CODE_DELIVERY_DESTINATION` Wert, der angibt, wohin der Autorisierungscode gesendet wurde. Zeigen Sie in Ihrer Anwendung ein Formular an, das den Benutzer auffordert, sein Telefon zu überprüfen, und das ein Eingabeelement für den Code enthält. Wenn sie ihren Code eingeben, reichen Sie ihn in einer Challenge-Response-API-Anfrage ein, um den Anmeldevorgang abzuschließen.

Nachdem sich ein Benutzer mit MFA auf den [verwalteten Anmeldeseiten](cognito-user-pools-managed-login.md) mit Benutzername und Passwort angemeldet hat, wird er automatisch zur Eingabe des MFA-Code aufgefordert.

Benutzerpools senden SMS-Nachrichten für MFA und andere Amazon Cognito Cognito-Benachrichtigungen mit Amazon Simple Notification Service (Amazon SNS) -Ressourcen in Ihrem. AWS-Konto In ähnlicher Weise senden Benutzerpools E-Mail-Nachrichten mit Amazon Simple Email Service (Amazon SES) -Ressourcen in Ihrem Konto. Für diese verknüpften Dienste fallen eigene Kosten für die Nachrichtenzustellung auf Ihrer AWS Rechnung an. Sie haben auch zusätzliche Anforderungen für den Versand von Nachrichten in Produktionsmengen. Weitere Informationen finden Sie unter den folgenden Links:
+ [Einstellungen für SMS-Nachrichten für Amazon-Cognito-Benutzerpools](user-pool-sms-settings.md)
+ [Weltweite SMS-Preise](https://aws.amazon.com/sns/sms-pricing/)
+ [E-Mail-Einstellungen für Amazon-Cognito-Benutzerpools](user-pool-email.md)
+ [Amazon SES SES-Preise](https://aws.amazon.com/ses/pricing)

## Überlegungen zur MFA für SMS- und E-Mail-Nachrichten
<a name="user-pool-settings-mfa-sms-email-message-considerations"></a>
+ Damit sich Benutzer mit E-Mail-MFA anmelden können, muss Ihr Benutzerpool über die folgenden Konfigurationsoptionen verfügen:

  1. Sie haben den Plus- oder Essentials-Funktionsplan in Ihrem Benutzerpool. Weitere Informationen finden Sie unter [Funktionspläne für Benutzerpools](cognito-sign-in-feature-plans.md).

  1. Ihr Benutzerpool sendet E-Mail-Nachrichten mit Ihren eigenen Amazon SES SES-Ressourcen. Weitere Informationen finden Sie unter [E-Mail-Konfiguration von Amazon SES](user-pool-email.md#user-pool-email-developer).
+ Der MFA-Code ist für die **Dauer der Authentifizierungsflusssitzung** gültig, die Sie für Ihren App-Client festgelegt haben.

  Legen Sie die Dauer einer Authentifizierungsflow-Sitzung in der Amazon Cognito Cognito-Konsole im Menü **App-Clients** fest, wenn Sie Ihren App-Client **bearbeiten**. Sie können die Dauer der Authentifizierungsablaufsitzung auch in einer `CreateUserPoolClient`- oder `UpdateUserPoolClient`-API-Anforderung festlegen. Weitere Informationen finden Sie unter [Ein Beispiel für eine Authentifizierungssitzung](authentication.md#amazon-cognito-user-pools-authentication-flow).
+ Wenn ein Benutzer erfolgreich einen Code aus einer SMS oder E-Mail-Nachricht eingibt, die Amazon Cognito an eine nicht verifizierte Telefonnummer oder E-Mail-Adresse gesendet hat, markiert Amazon Cognito das entsprechende Attribut als verifiziert.
+ Damit ein Benutzer eine Self-Service-Änderung am Wert einer Telefonnummer oder E-Mail-Adresse vornehmen kann, die mit MFA verknüpft ist, muss er sich anmelden und die Anfrage mit einem Zugriffstoken autorisieren. Wenn sie nicht auf ihre aktuelle Telefonnummer oder E-Mail-Adresse zugreifen können, können sie sich nicht anmelden. Ihr Team muss diese Werte mit AWS Administratoranmeldedaten in [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)API-Anfragen ändern.
+ Nachdem Sie [SMS in Ihrem Benutzerpool konfiguriert](user-pool-sms-settings.md) haben, können Sie SMS-Nachrichten nicht mehr als verfügbaren MFA-Faktor deaktivieren.

# TOTP-Software-Token-MFA
<a name="user-pool-settings-mfa-totp"></a>

Wenn Sie das TOTP-Software-Token-MFA in Ihrem Benutzerpool einrichten, meldet sich Ihr Benutzer mit einem Benutzernamen und einem Kennwort an und schließt die Authentifizierung dann mit einem TOTP ab. Nachdem Ihr Benutzer einen Benutzernamen und ein Passwort festgelegt und verifiziert hat, kann er ein TOTP-Software-Token für MFA aktivieren. Wenn Ihre App die von Amazon Cognito verwaltete Anmeldung verwendet, um Benutzer anzumelden, gibt Ihr Benutzer seinen Benutzernamen und sein Passwort ein und gibt dann das TOTP-Passwort auf einer zusätzlichen Anmeldeseite ein.

Sie können TOTP-MFA für Ihren Benutzerpool in der Amazon-Cognito-Konsole aktivieren oder die Amazon-Cognito-API-Operationen verwenden. Auf Benutzerpoolebene können Sie aufrufen, um MFA [SetUserPoolMfaConfig](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html)zu konfigurieren und TOTP MFA zu aktivieren.

**Anmerkung**  
Wenn Sie die TOTP-Software-Token-MFA für den Benutzerpool nicht aktiviert haben, kann Amazon Cognito das Token nicht verwenden, um Benutzer zuzuordnen und zu verifizieren. In diesem Fall erhalten Benutzer eine `SoftwareTokenMFANotFoundException` Ausnahme mit der Beschreibung `Software Token MFA has not been enabled by the userPool`. Wenn Sie das Software-Token-MFA später für den Benutzerpool deaktivieren, können Benutzer, die zuvor ein TOTP-Token zugeordnet und verifiziert haben, es weiterhin für MFA verwenden.

TOTP wird für Benutzer in mehreren Schritten konfiguriert. Der Benutzer erhält dabei einen geheimen Code, den er durch Eingabe eines einmaligen Passworts bestätigt. Danach können Sie TOTP-MFA für den Benutzer aktivieren oder TOTP als bevorzugte MFA-Methode für den Benutzer festlegen.

Wenn Sie Ihren Benutzerpool so konfigurieren, dass TOTP MFA erforderlich ist, und sich Ihre Benutzer über die verwaltete Anmeldung für Ihre App registrieren, automatisiert Amazon Cognito den Benutzerprozess. Amazon Cognito fordert Ihre Benutzer auf, eine MFA-Methode auszuwählen, zeigt einen QR-Code an, um ihre Authentifizierungs-App einzurichten, und überprüft ihre MFA-Registrierung. In Benutzerpools, in denen Sie Benutzern erlaubt haben, zwischen SMS- und TOTP-MFA zu wählen, bietet Amazon Cognito Ihren Benutzern verschiedene Methoden zur Auswahl an.

**Wichtig**  
Wenn Sie eine AWS WAF Web-ACL mit einem Benutzerpool verknüpft haben und eine Regel in Ihrer Web-ACL ein CAPTCHA enthält, kann dies zu einem nicht behebbaren Fehler bei der TOTP-Registrierung mit verwalteter Anmeldung führen. Informationen zum Erstellen einer Regel mit einer CAPTCHA-Aktion, die sich nicht auf das TOTP für verwaltete Logins auswirkt, finden Sie unter. [Konfiguration Ihrer AWS WAF Web-ACL für die verwaltete Anmeldung TOTP MFA](#totp-waf) Weitere Informationen zu AWS WAF Web ACLs und Amazon Cognito finden Sie unter[Ordnen Sie einem AWS WAF Benutzerpool eine Web-ACL zu](user-pool-waf.md).

Informationen zur Implementierung von TOTP MFA in einer maßgeschneiderten Benutzeroberfläche mit einem AWS SDK und der [Amazon Cognito Cognito-Benutzerpools-API](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html) finden Sie unter. [Konfiguration von TOTP MFA für einen Benutzer](#totp-mfa-set-up-api)

Informationen darüber, wie Sie Ihrem Benutzerpool eine MFA hinzufügen, finden Sie unter [Hinzufügen der MFA zu einem Benutzerpool](user-pool-settings-mfa.md).

**TOTP MFA Überlegungen und Einschränkungen**

1. Amazon Cognito unterstützt Softwaretoken-MFA über eine Authentifizierungs-App, die TOTP-Codes generiert. Amazon Cognito unterstützt kein hardwarebasiertes MFA.

1. Wenn Ihr Benutzerpool TOTP für einen Benutzer benötigt, der ihn nicht konfiguriert hat, erhält Ihr Benutzer ein einmaliges Zugriffstoken, mit dem Ihre App TOTP MFA für den Benutzer aktivieren kann. Nachfolgende Anmeldeversuche schlagen fehl, bis Ihr Benutzer einen zusätzlichen TOTP-Anmeldefaktor registriert hat.
   + Ein Benutzer, der sich mit dem `SignUp` API-Vorgang oder über die verwaltete Anmeldung in Ihrem Benutzerpool anmeldet, erhält Einmal-Token, wenn der Benutzer die Registrierung abgeschlossen hat.
   + Nachdem Sie einen Benutzer erstellt haben und der Benutzer sein erstes Passwort festgelegt hat, gibt Amazon Cognito Einmal-Token von der verwalteten Anmeldung an den Benutzer aus. Wenn Sie ein dauerhaftes Passwort für den Benutzer festlegen, gibt Amazon Cognito bei der erstmaligen Anmeldung des Benutzers einmalige Token aus.
   + Amazon Cognito gibt keine einmaligen Token an einen vom Administrator erstellten Benutzer aus, der sich mit den [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)oder API-Vorgängen anmeldet. [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html) Nachdem es Ihrem Benutzer in der Aufforderung gelungen ist, ein Anfangspasswort festzulegen, oder wenn Sie ein dauerhaftes Passwort für den Benutzer festlegen, fordert Amazon Cognito den Benutzer sofort auf, MFA einzurichten.

1. Wenn ein Benutzer in einem Benutzerpool, der MFA benötigt, bereits ein einmaliges Zugriffstoken erhalten hat, aber TOTP MFA nicht eingerichtet hat, kann sich der Benutzer erst mit verwalteter Anmeldung anmelden, wenn er MFA eingerichtet hat. Anstelle des Zugriffstokens können Sie den `session` Antwortwert einer Anfrage [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)oder [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)in einer `MFA_SETUP` Anfrage verwenden. [AssociateSoftwareToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html)

1. Wenn Ihre Benutzer TOTP eingerichtet haben, können sie es auch dann für MFA verwenden, wenn Sie TOTP für den Benutzerpool später deaktivieren.

1. Amazon Cognito akzeptiert nur Apps TOTPs von Authenticator, die Codes mit der HMAC-Hash-Funktion generieren. SHA1 Mit SHA-256-Hashing generierte Codes geben einen `Code mismatch`-Fehler zurück.

## Konfiguration von TOTP MFA für einen Benutzer
<a name="totp-mfa-set-up-api"></a>

Wenn sich ein Benutzer zum ersten Mal anmeldet, verwendet Ihre App das einmalige Zugriffstoken zur Generierung des privaten TOTP-Schlüssels und präsentiert ihn Ihrem Benutzer in Text- oder QR-Codeformat. Ihr Benutzer konfiguriert seine Authentifizierungs-App und stellt ein TOTP für nachfolgende Anmeldeversuche bereit. Ihre App oder Ihre verwaltete Anmeldung präsentiert Amazon Cognito das TOTP in den Antworten auf MFA-Challenge-Antworten.

Unter bestimmten Umständen werden neue Benutzer bei der verwalteten Anmeldung aufgefordert, einen TOTP-Authentifikator einzurichten. Weitere Informationen finden Sie unter. [Einzelheiten der MFA-Logik zur Benutzerlaufzeit](user-pool-settings-mfa.md#user-pool-settings-mfa-user-outcomes)

**Topics**
+ [Zuordnen des TOTP-Software-Tokens](#user-pool-settings-mfa-totp-associate-token)
+ [Bestätigen des TOTP-Tokens](#user-pool-settings-mfa-totp-verification)
+ [Melden Sie sich mit TOTP-MFA an](#user-pool-settings-mfa-totp-sign-in)
+ [Entfernen des TOTP-Tokens](#user-pool-settings-mfa-totp-remove)

### Zuordnen des TOTP-Software-Tokens
<a name="user-pool-settings-mfa-totp-associate-token"></a>

Um das TOTP-Token zu verknüpfen, senden Sie dem Benutzer einen geheimen Code, den er mit einem einmaligen Passwort validieren muss. Token werden in drei Schritten verknüpft.

1. Wenn Ihr Benutzer das TOTP-Softwaretoken MFA auswählt, rufen Sie an, [AssociateSoftwareToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html)um einen eindeutigen generierten gemeinsamen geheimen Schlüsselcode für das Benutzerkonto zurückzugeben. Sie können die Autorisierung entweder AssociateSoftwareToken mit einem Zugriffstoken oder einer Sitzungszeichenfolge durchführen. 

1. Ihre App präsentiert dem Benutzer den privaten Schlüssel oder einen QR-Code, den Sie anhand des privaten Schlüssels generieren. Ihr Nutzer muss den Schlüssel in eine TOTP-generierende App wie Google Authenticator eingeben, indem er entweder den QR-Code scannt, den Ihre Anwendung anhand des privaten Schlüssels generiert, oder indem er den Schlüssel manuell eingibt.

1. Ihr Benutzer gibt den Schlüssel ein oder scannt den QR-Code in eine Authentifizierungs-App wie Google Authenticator. Daraufhin beginnt die App mit der Generierung von Codes.

### Bestätigen des TOTP-Tokens
<a name="user-pool-settings-mfa-totp-verification"></a>

Als Nächstes bestätigen Sie das TOTP-Token. Fordern Sie Beispielcodes von Ihrem Benutzer an und stellen Sie sie dem Amazon Cognito-Service zur Verfügung, um zu bestätigen, dass der Benutzer wie folgt erfolgreich TOTP-Codes generiert.

1. Ihre App fordert Ihren Benutzer zur Eingabe eines Codes auf, um zu zeigen, dass er seine Authentifizierungs-App ordnungsgemäß eingerichtet hat.

1. Die Authentifizierungs-App des Benutzers zeigt ein temporäres Passwort an. Die Authentifizierungs-App erstellt das Passwort auf Basis des geheimen Schlüssels, den Sie dem Benutzer zur Verfügung gestellt haben.

1. Ihr Benutzer gibt sein temporäres Passwort ein. Ihre App übergibt das temporäre Passwort an Amazon Cognito in einer `[VerifySoftwareToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifySoftwareToken.html)`-API-Anforderung.

1.  Amazon Cognito hat den mit dem Benutzer verknüpften geheimen Schlüssel beibehalten, und generiert ein TOTP und vergleicht ihn mit dem von Ihrem Benutzer bereitgestellten TOTP. Wenn sie übereinstimmen, gibt `VerifySoftwareToken` eine `SUCCESS`-Antwort zurück.

1. Amazon Cognito verknüpft den TOTP-Faktor mit dem Benutzer.

1. Wenn die `VerifySoftwareToken`-Vorgang eine `ERROR` Antwort ausgibt, stellen Sie sicher, dass die Uhr des Benutzers richtig eingestellt ist und dass er die maximale Zahl erneuter Versuche nicht überschritten hat. Amazon Cognito akzeptiert TOTP-Token innerhalb von 30 Sekunden vor oder nach dem Versuch, um kleinere Taktversätze zu berücksichtigen. Wenn Sie das Problem behoben haben, versuchen Sie den VerifySoftwareToken Vorgang erneut.

### Melden Sie sich mit TOTP-MFA an
<a name="user-pool-settings-mfa-totp-sign-in"></a>

Zu diesem Zeitpunkt meldet sich Ihr Benutzer mit dem zeitbasierten Einmalpasswort an. Der Prozess läuft folgendermaßen ab:

1. Benutzer geben ihren Benutzernamen und ihr Passwort ein, um sich bei Ihrer Client-App anzumelden.

1. Die TOTP-MFA-Eingabe wird angezeigt und der Benutzer wird von der Anwendung aufgefordert, ein temporäres Passwort einzugeben.

1. Der Benutzer erhält ein temporäres Passwort von einer zugeordneten TOTP-Generierung-App.

1. Der Benutzer gibt den TOTP-Code in der Client-App ein. Die Anwendung sendet eine Bestätigungsanforderung an den Amazon-Cognito-Service. Bei jeder Anmeldung [RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)sollte aufgerufen werden, um eine Antwort auf die neue TOTP-Authentifizierungsherausforderung zu erhalten.

1. Wenn das Token von Amazon Cognito bestätigt wird, ist die Anmeldung erfolgreich abgeschlossen und der Benutzer fährt mit dem Authentifizierungsablauf fort. 

### Entfernen des TOTP-Tokens
<a name="user-pool-settings-mfa-totp-remove"></a>

Schließlich sollte Ihre App dem Benutzer erlauben, die TOTP-Konfiguration zu deaktivieren. Derzeit können Sie das TOTP-Softwaretoken eines Benutzers nicht löschen. Wenn Sie das Softwaretoken Ihres Benutzers ersetzen möchten, verknüpfen und verifizieren Sie ein neues Softwaretoken. Um TOTP-MFA für einen Benutzer zu deaktivieren, rufen Sie an, um Ihren Benutzer so [SetUserMFAPreference](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserMFAPreference.html)zu ändern, dass er kein MFA oder nur SMS-MFA verwendet.

1. Erstellen Sie in Ihrer App eine Schnittstelle für Benutzer, die die MFA zurücksetzen möchten. Fordern Sie einen Benutzer in dieser Schnittstelle zur Eingabe des Passworts auf.

1. Wenn Amazon Cognito eine TOTP-MFA-Anfrage zurückgibt, aktualisieren Sie die MFA-Präferenz Ihres Benutzers mit. [SetUserMFAPreference](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserMFAPreference.html)

1. Teilen Sie dem Benutzer in Ihrer App mit, dass MFA deaktiviert wurde, und fordern Sie ihn auf, sich erneut anzumelden.

## Konfiguration Ihrer AWS WAF Web-ACL für die verwaltete Anmeldung TOTP MFA
<a name="totp-waf"></a>

Wenn einem Benutzerpool eine AWS WAF Web-ACL zugeordnet ist und eine Regel in Ihrer Web-ACL ein CAPTCHA enthält, kann dies zu einem nicht behebbaren Fehler bei der TOTP-Registrierung mit verwalteter Anmeldung führen. AWS WAF CAPTCHA-Regeln haben diesen Effekt *nur* auf TOTP MFA in der verwalteten Anmeldung und in der klassischen gehosteten Benutzeroberfläche. Die SMS-MFA ist nicht betroffen.

Amazon Cognito zeigt den folgenden Fehler an, wenn Ihre CAPTCHA-Regel es einem Benutzer nicht erlaubt, die TOTP-MFA-Einrichtung abzuschließen. 

Anfrage aufgrund des WAF-Captchas nicht zulässig.

Dieser Fehler tritt auf, wenn AWS WAF Sie als Antwort auf [VerifySoftwareToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifySoftwareToken.html)API-Anfragen, die Ihr Benutzerpool im Hintergrund stellt, zur [AssociateSoftwareToken](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html)Eingabe eines CAPTCHA aufgefordert werden. Um eine Regel mit einer CAPTCHA-Aktion zu erstellen, die sich nicht auf TOTP auf verwalteten Anmeldeseiten auswirkt, schließen Sie die `x-amzn-cognito-operation-name` Header-Werte von `AssociateSoftwareToken` und `VerifySoftwareToken` aus der CAPTCHA-Aktion in Ihrer Regel aus.

Der folgende Screenshot zeigt eine AWS WAF Beispielregel, die eine CAPTCHA-Aktion auf alle Anfragen anwendet, die keinen Header-Wert von oder haben. `x-amzn-cognito-operation-name` `AssociateSoftwareToken` `VerifySoftwareToken`

![\[Ein Screenshot einer AWS WAF Regel, die eine CAPTCHA-Aktion auf alle Anfragen anwendet, die keinen x-amzn-cognito-operation-name Header-Wert von oder haben. AssociateSoftwareToken VerifySoftwareToken\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-WAF-rule-TOTP.png)


Weitere Informationen zu AWS WAF Web ACLs und Amazon Cognito finden Sie unter[Ordnen Sie einem AWS WAF Benutzerpool eine Web-ACL zu](user-pool-waf.md).

# Erweiterte Sicherheit mit Bedrohungsschutz
<a name="cognito-user-pool-settings-threat-protection"></a>

Nachdem Sie Ihren Benutzerpool erstellt haben, haben Sie im Navigationsmenü der Amazon Cognito Cognito-Konsole Zugriff auf **Bedrohungsschutz**. Sie können die Funktionen zum Schutz vor Bedrohungen aktivieren und die Maßnahmen anpassen, die als Reaktion auf verschiedene Risiken ergriffen werden. Sie können auch den Prüfmodus verwenden, um Metriken zu erkannten Risiken zu erfassen, ohne Sicherheitsminderungen anzuwenden. Im Auditmodus veröffentlicht Threat Protection Kennzahlen an Amazon CloudWatch. Sie können Metriken sehen, nachdem Amazon Cognito sein erstes Ereignis generiert hat. Siehe [Metriken zum Schutz vor Bedrohungen anzeigen](metrics-for-cognito-user-pools.md#user-pool-settings-viewing-threat-protection-metrics).

Der Bedrohungsschutz, früher als *erweiterte Sicherheitsfunktionen* bezeichnet, besteht aus einer Reihe von Tools zur Überwachung unerwünschter Aktivitäten in Ihrem Benutzerpool sowie aus Konfigurationstools zur automatischen Abschaltung potenziell bösartiger Aktivitäten. Der Bedrohungsschutz bietet verschiedene Konfigurationsoptionen für standardmäßige und benutzerdefinierte Authentifizierungsvorgänge. Möglicherweise möchten Sie beispielsweise eine Benachrichtigung an einen Benutzer mit einer verdächtigen benutzerdefinierten Authentifizierung senden, für den Sie zusätzliche Sicherheitsfaktoren eingerichtet haben, aber einen Benutzer mit derselben Risikostufe mit einfacher Benutzername/Kennwortauthentifizierung blockieren.

Der Bedrohungsschutz ist im Plus-Funktionsplan verfügbar. Weitere Informationen finden Sie unter [Funktionspläne für Benutzerpools](cognito-sign-in-feature-plans.md).

Die folgenden Benutzerpool-Optionen sind die Komponenten des Bedrohungsschutzes.

**Kompromittierte Anmeldeinformationen**  
Benutzer verwenden Passwörter für mehrere Benutzerkonten erneut. Die Funktion für kompromittierte Anmeldeinformationen von Amazon Cognito kompiliert Daten aus öffentlich zugänglichen Benutzernamen und Passwörtern und vergleicht die Anmeldeinformationen Ihrer Benutzer mit Listen von offengelegten Anmeldeinformationen. Die Erkennung kompromittierter Anmeldeinformationen sucht auch nach häufig erratenen Passwörtern. Sie können in username-and-password Standardauthentifizierungsabläufen in Benutzerpools nach kompromittierten Anmeldeinformationen suchen. Amazon Cognito erkennt keine kompromittierten Anmeldeinformationen in Secure Remote Password (SRP) oder benutzerdefinierter Authentifizierung.  
Sie können die Benutzeraktionen auswählen, die eine Überprüfung auf kompromittierte Anmeldeinformationen veranlassen, sowie die Aktion, die Amazon Cognito als Reaktion darauf durchführen soll. Bei Anmelde-, Registrierungs- und Kennwortänderungsereignissen kann Amazon Cognito die Anmeldung **blockieren** oder die Anmeldung **zulassen**. In beiden Fällen generiert Amazon Cognito ein Benutzeraktivitätsprotokoll, in dem Sie weitere Informationen zu dem Ereignis finden.  
**Weitere Informationen**  
[Arbeiten mit der Erkennung kompromittierter Anmeldeinformationen](cognito-user-pool-settings-compromised-credentials.md)

**Adaptive Authentifizierung**  
Amazon Cognito kann Standort- und Geräteinformationen aus Anmeldeanfragen Ihrer Benutzer überprüfen und automatisch reagieren, um die Benutzerkonten in Ihrem Benutzerpool vor verdächtigen Aktivitäten zu schützen. Sie können die Benutzeraktivitäten überwachen und die Reaktion auf erkannte Risikostufen bei Benutzername/Passwort und SRP sowie bei der benutzerdefinierten Authentifizierung automatisieren.  
Wenn Sie den Bedrohungsschutz aktivieren, weist Amazon Cognito der Benutzeraktivität eine Risikobewertung zu. Sie können eine automatische Reaktion auf verdächtige Aktivitäten zuweisen: Sie können **MFA verlangen**, die **Anmeldung blockieren** oder lediglich die Aktivitätsdetails und die Risikobewertung protokollieren. Sie können Ihren Benutzer auch automatisch per E-Mail über die verdächtige Aktivität informieren, so dass er sein Passwort zurücksetzen oder andere selbstgesteuerte Maßnahmen ergreifen kann.  
**Weitere Informationen**  
[Arbeiten Sie mit adaptiver Authentifizierung](cognito-user-pool-settings-adaptive-authentication.md)

**Liste der zugelassenen und verweigerten IP-Adressen**  
Mit dem Bedrohungsschutz von Amazon Cognito im **Vollfunktionsmodus** können Sie IP-Adressen erstellen: **Immer blockieren** und Ausnahmen **immer zulassen**. Einer Sitzung von einer IP-Adresse auf der Ausnahmeliste **Immer blockieren** wird durch adaptive Authentifizierung keine Risikostufe zugewiesen und kann sich nicht bei Ihrem Benutzerpool anmelden.  

**Wissenswertes über Zulassungs- und Blocklisten für IP-Adressen**
+ Sie müssen **Always block** und **Always allow** im CIDR-Format angeben`192.0.2.0/24`, z. B. eine 24-Bit-Maske oder `192.0.2.252/32` eine einzelne IP-Adresse.
+  Geräte mit IP-Adressen im IP-Bereich „**Immer blockieren**“ können sich nicht mit SDK-basierten oder verwalteten Anmeldeanwendungen registrieren oder anmelden, sie können sich jedoch mit Drittanbieteranwendungen anmelden. IdPs 
+ Die Listen „**Immer zulassen**“ und „**Immer blockieren**“ wirken sich nicht auf die Token-Aktualisierung aus.
+ Amazon Cognito wendet keine MFA-Regeln für die adaptive Authentifizierung auf Geräte aus dem IP-Bereich „**Immer zulassen**“ an, wendet jedoch Regeln für kompromittierte Anmeldeinformationen an.

**Export von Protokollen**  
Der Bedrohungsschutz protokolliert detaillierte Details der Authentifizierungsanfragen der Benutzer in Ihrem Benutzerpool. Diese Protokolle enthalten Bedrohungsbeurteilungen, Benutzerinformationen und Sitzungsmetadaten wie Standort und Gerät. Sie können externe Archive dieser Protokolle zur Aufbewahrung und Analyse erstellen. Amazon Cognito Cognito-Benutzerpools exportieren Bedrohungsschutzprotokolle nach Amazon S3, CloudWatch Logs und Amazon Data Firehose. Weitere Informationen finden Sie unter [Benutzerereignisverlauf anzeigen und exportieren](cognito-user-pool-settings-adaptive-authentication.md#user-pool-settings-adaptive-authentication-event-user-history).  
**Weitere Informationen**  
[Exportieren von Benutzeraktivitätsprotokollen zum Schutz gegen Bedrohungen](exporting-quotas-and-usage.md#exporting-quotas-and-usage-user-activity)

**Topics**
+ [Überlegungen und Einschränkungen beim Schutz vor Bedrohungen](#cognito-user-pool-threat-protection-considerations)
+ [Den Bedrohungsschutz in Benutzerpools aktivieren](#cognito-user-pool-threat-protection-activating)
+ [Konzepte zur Durchsetzung des Bedrohungsschutzes](#cognito-user-pool-settings-threat-protection-threat-protection-enforcement)
+ [Bedrohungsschutz für Standardauthentifizierung und benutzerdefinierte Authentifizierung](#cognito-user-pool-settings-threat-protection-threat-protection-types)
+ [Voraussetzungen für den Schutz vor Bedrohungen](#cognito-user-pool-threat-protection-prerequisites)
+ [Schutz vor Bedrohungen einrichten](#cognito-user-pool-settings-configure-threat-protection)
+ [Arbeiten mit der Erkennung kompromittierter Anmeldeinformationen](cognito-user-pool-settings-compromised-credentials.md)
+ [Arbeiten Sie mit adaptiver Authentifizierung](cognito-user-pool-settings-adaptive-authentication.md)
+ [Erfassung von Daten für den Schutz vor Bedrohungen in Anwendungen](user-pool-settings-viewing-threat-protection-app.md)

## Überlegungen und Einschränkungen beim Schutz vor Bedrohungen
<a name="cognito-user-pool-threat-protection-considerations"></a>

**Die Optionen zum Schutz vor Bedrohungen unterscheiden sich je nach Authentifizierungsablauf**  
Amazon Cognito unterstützt sowohl die adaptive Authentifizierung als auch die Erkennung kompromittierter Anmeldeinformationen mit den Authentifizierungsabläufen und. `USER_PASSWORD_AUTH` `ADMIN_USER_PASSWORD_AUTH` Sie können nur die adaptive Authentifizierung für aktivieren. `USER_SRP_AUTH` Sie können den Bedrohungsschutz nicht mit föderierter Anmeldung verwenden.

**Beiträge zur Anforderung von Kontingenten immer blockieren IPs**  
Blockierte Anfragen von IP-Adressen auf einer Ausnahmeliste **Immer blockieren** in Ihrem Benutzerpool trägt zu den [Anforderungsratenkontingenten](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html#category_operations) für Ihre Benutzerpools bei.

**Beim Bedrohungsschutz gibt es keine Ratenbegrenzungen**  
Ein Teil des bösartigen Datenverkehrs zeichnet sich durch eine hohe Anzahl von Anfragen aus, wie z. B. Distributed-Denial-of-Service-Angriffe (DDoS). Die Risikoeinstufungen, die Amazon Cognito auf eingehenden Datenverkehr anwendet, gelten pro Anfrage und berücksichtigen nicht das Anforderungsvolumen. Einzelne Anfragen in einem Ereignis mit hohem Volumen können aus Gründen auf Anwendungsebene, die nichts mit ihrer Rolle bei einem volumetrischen Angriff zu tun haben, mit einer Risikobewertung und einer automatisierten Antwort versehen werden. Um Schutzmaßnahmen gegen volumetrische Angriffe in Ihren Benutzerpools zu implementieren, fügen Sie Web hinzu. AWS WAF ACLs Weitere Informationen finden Sie unter [Ordnen Sie einem AWS WAF Benutzerpool eine Web-ACL zu](user-pool-waf.md).

**Der Bedrohungsschutz wirkt sich nicht auf M2M-Anfragen aus**  
Die Gewährung von Kundenanmeldedaten ist für die machine-to-machine (M2M-) Autorisierung ohne Verbindung zu Benutzerkonten vorgesehen. Der Bedrohungsschutz überwacht nur Benutzerkonten und Passwörter in Ihrem Benutzerpool. Um Sicherheitsfunktionen in Ihre M2M-Aktivitäten zu integrieren, sollten Sie die Funktionen AWS WAF zur Überwachung von Anforderungsraten und Inhalten in Betracht ziehen. Weitere Informationen finden Sie unter [Ordnen Sie einem AWS WAF Benutzerpool eine Web-ACL zu](user-pool-waf.md).

## Den Bedrohungsschutz in Benutzerpools aktivieren
<a name="cognito-user-pool-threat-protection-activating"></a>

------
#### [ Amazon Cognito user pools console ]

**Um den Bedrohungsschutz für einen Benutzerpool zu aktivieren**

1. Melden Sie sich bei der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an. Wenn Sie dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

1. Wählen Sie **User Pools** (Benutzerpools) aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Falls Sie dies noch nicht getan haben, aktivieren Sie den Plus-Funktionsplan im Menü **Einstellungen**.

1. Wählen Sie das Menü **Bedrohungsschutz** und dann **Aktivieren** aus.

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ API ]

Stellen Sie Ihren Funktionsplan in einer [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)oder [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)API-Anfrage auf Plus ein. Im folgenden Teil des Anfragetextes wird der Bedrohungsschutz auf den Vollfunktionsmodus gesetzt. Ein vollständiges Beispiel für eine Anfrage finden Sie unter [Beispiele](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#API_CreateUserPool_Examples).

```
"UserPoolAddOns": { 
      "AdvancedSecurityMode": "ENFORCED"
   }
```

------

Bedrohungsschutz ist der Sammelbegriff für Funktionen, die Benutzervorgänge auf Anzeichen einer Kontoübernahme hin überwachen und automatisch auf sichere betroffene Benutzerkonten reagieren. Sie können Einstellungen für den Bedrohungsschutz auf Benutzer anwenden, wenn sie sich mit standardmäßigen und benutzerdefinierten Authentifizierungsabläufen anmelden.

Der Bedrohungsschutz [generiert Protokolle](cognito-user-pool-settings-adaptive-authentication.md#user-pool-settings-adaptive-authentication-event-user-history), in denen die An- und Abmeldung der Benutzer sowie andere Aktivitäten detailliert beschrieben werden. Sie können diese Protokolle auf ein System eines Drittanbieters exportieren. Weitere Informationen finden Sie unter [Benutzerereignisverlauf anzeigen und exportieren](cognito-user-pool-settings-adaptive-authentication.md#user-pool-settings-adaptive-authentication-event-user-history).

## Konzepte zur Durchsetzung des Bedrohungsschutzes
<a name="cognito-user-pool-settings-threat-protection-threat-protection-enforcement"></a>

Der Bedrohungsschutz beginnt mit einem *reinen Auditmodus*, in dem Ihr Benutzerpool die Benutzeraktivitäten überwacht, Risikostufen zuweist und Protokolle generiert. *Es hat sich bewährt, zwei Wochen oder länger den Modus nur für Audits zu verwenden, bevor Sie den Vollfunktionsmodus aktivieren.* Der Vollfunktionsmodus umfasst eine Reihe von automatischen Reaktionen auf erkannte riskante Aktivitäten und kompromittierte Passwörter. Im Modus „Nur Audit“ können Sie die Bedrohungsbeurteilungen überwachen, die Amazon Cognito durchführt. Sie können auch [Feedback geben](cognito-user-pool-settings-adaptive-authentication.md#user-pool-settings-adaptive-authentication-feedback), um die Funktion anhand falscher positiver und negativer Ergebnisse zu schulen.

Sie können die Durchsetzung des Bedrohungsschutzes auf Benutzerpoolebene so konfigurieren, dass sie alle App-Clients im Benutzerpool abdeckt, und auf Ebene einzelner App-Clients. Konfigurationen zum Schutz vor Bedrohungen durch App-Clients haben Vorrang vor der Konfiguration des Benutzerpools. Um den Bedrohungsschutz für einen App-Client zu konfigurieren, navigieren Sie im App-Client-Menü Ihres Benutzerpools in der Amazon Cognito Cognito-Konsole zu den **App-Client-Einstellungen**. Dort können Sie **Einstellungen auf Client-Ebene verwenden** und die Erzwingung ausschließlich für den App-Client konfigurieren.

Darüber hinaus können Sie den Bedrohungsschutz für standardmäßige und benutzerdefinierte Authentifizierungstypen separat konfigurieren.

## Bedrohungsschutz für Standardauthentifizierung und benutzerdefinierte Authentifizierung
<a name="cognito-user-pool-settings-threat-protection-threat-protection-types"></a>

Wie Sie den Bedrohungsschutz konfigurieren können, hängt von der Art der Authentifizierung ab, die Sie in Ihrem Benutzerpool und Ihren App-Clients vornehmen. Jede der folgenden Authentifizierungstypen kann ihren eigenen Erzwingungsmodus und ihre eigenen automatisierten Antworten haben.

**Standardauthentifizierung**  
Die *Standardauthentifizierung* umfasst Benutzeranmeldung, Abmeldung und Passwortverwaltung mit Benutzername-Passwort-Flows und bei verwalteter Anmeldung. Amazon Cognito Threat Protection überwacht Operationen auf Risikoindikatoren, wenn sie sich mit verwaltetem Login anmelden oder die folgenden `AuthFlow` API-Parameter verwenden:    
**[InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-AuthFlow)**  
`USER_PASSWORD_AUTH`,`USER_SRP_AUTH`. Die Funktion für kompromittierte Anmeldeinformationen hat bei der `USER_SRP_AUTH` Anmeldung keinen Zugriff auf Passwörter und überwacht und reagiert auch nicht auf Ereignisse mit diesem Ablauf.  
**[AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-AuthFlow)**  
`ADMIN_USER_PASSWORD_AUTH`,. `USER_SRP_AUTH` Die Funktion für kompromittierte Anmeldeinformationen hat bei der `USER_SRP_AUTH` Anmeldung keinen Zugriff auf Passwörter und überwacht und reagiert auch nicht auf Ereignisse mit diesem Ablauf.
Sie können den **Erzwingungsmodus** für die Standardauthentifizierung auf **Nur Prüfung** oder **Vollzugriff** festlegen. Um die Bedrohungsüberwachung für die Standardauthentifizierung zu deaktivieren, setzen Sie den Bedrohungsschutz auf **Keine Durchsetzung**.

**Benutzerdefinierte Authentifizierung**  
Bei der *benutzerdefinierten Authentifizierung* handelt es sich um eine Benutzeranmeldung mit [benutzerdefinierten Challenge-Lambda-Triggern.](user-pool-lambda-challenge.md) Bei der verwalteten Anmeldung können Sie keine benutzerdefinierte Authentifizierung durchführen. Amazon Cognito Threat Protection überwacht Operationen auf Risikoindikatoren, wenn sie sich mit dem `AuthFlow` API-Parameter `CUSTOM_AUTH` `InitiateAuth` und `AdminInitiateAuth` anmelden.  
Sie können den **Erzwingungsmodus** für die benutzerdefinierte Authentifizierung auf „**Nur Prüfung**“, „**Vollständige Funktion**“ oder „**Keine Durchsetzung**“ festlegen. Die Option **Keine Durchsetzung** deaktiviert die Bedrohungsüberwachung für die benutzerdefinierte Authentifizierung, ohne dass andere Funktionen zum Schutz vor Bedrohungen beeinträchtigt werden.

## Voraussetzungen für den Schutz vor Bedrohungen
<a name="cognito-user-pool-threat-protection-prerequisites"></a>

Bevor Sie beginnen, muss Folgendes sichergestellt sein:
+ Einen Benutzerpool mit einem App-Client. Weitere Informationen finden Sie unter [Erste Schritte mit Benutzerpools](getting-started-user-pools.md).
+ Setzen Sie die Multi-Faktor-Authentifizierung (MFA) in der Amazon-Cognito-Konsole auf **Optional**, um die risikobasierte adaptive Authentifizierung zu verwenden. Weitere Informationen finden Sie unter [Hinzufügen der MFA zu einem Benutzerpool](user-pool-settings-mfa.md).
+ Wenn Sie E-Mail-Benachrichtigungen verwenden, öffnen Sie die [Amazon-SES-Konsole](https://console.aws.amazon.com/ses/home), um die E-Mail-Adresse oder Domäne zu konfigurieren und zu verifizieren, die für Ihre E-Mail-Nachrichten verwendet werden soll. Weitere Informationen über Amazon SES finden Sie unter [Verifizieren von Identitäten in Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/verify-addresses-and-domains.html).

## Schutz vor Bedrohungen einrichten
<a name="cognito-user-pool-settings-configure-threat-protection"></a>

Folgen Sie diesen Anweisungen, um den Bedrohungsschutz für den Benutzerpool einzurichten.

**Anmerkung**  
Um eine andere Bedrohungsschutzkonfiguration für einen App-Client in der Amazon Cognito-Benutzerpools-Konsole einzurichten, wählen Sie den App-Client im Menü **App-Clients** aus und wählen Sie Einstellungen **auf Client-Ebene verwenden**.

------
#### [ AWS-Managementkonsole ]

**Um den Bedrohungsschutz für einen Benutzerpool zu konfigurieren**

1. Melden Sie sich bei der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an. Wenn Sie dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

1. Wählen Sie **User Pools** (Benutzerpools) aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Wählen Sie das Menü **Bedrohungsschutz** und dann **Aktivieren** aus.

1. Wählen Sie die Methode zum Schutz vor Bedrohungen, die Sie konfigurieren möchten: **Standardauthentifizierung und benutzerdefinierte Authentifizierung**. Sie können verschiedene Erzwingungsmodi für die benutzerdefinierte und die Standardauthentifizierung festlegen, aber im **Vollfunktionsmodus** gilt dieselbe Konfiguration für automatische Antworten.

1. Wählen Sie **Bearbeiten** aus.

1. Wählen Sie einen **Erzwingungsmodus**. Um sofort auf erkannte Risiken zu reagieren, wählen Sie **Vollständige Funktionalität** und konfigurieren Sie die automatischen Reaktionen auf kompromittierte Anmeldeinformationen und die adaptive Authentifizierung. Um Informationen in Logs und Logs auf Benutzerebene zu sammeln CloudWatch, wählen Sie Nur **Audit** aus.

   Wir empfehlen, den Bedrohungsschutz zwei Wochen lang im Überwachungsmodus zu lassen, bevor Sie Aktionen aktivieren. Während dieser Zeit kann Amazon Cognito die Nutzungsmuster Ihrer App-Benutzer kennenlernen und Sie können Feedback zu Ereignissen geben, um die Antworten anzupassen.

1. Wenn Sie **Audit only** (Nur prüfen) ausgewählt haben, wählen Sie **Save changes** (Änderungen speichern) aus. Wenn Sie **Full function** (Vollständige Funktion) ausgewählt haben:

   1. Wählen Sie aus, ob Sie eine **benutzerdefinierte** Aktion ausführen oder **Cognito-Standardfunktionen** verwenden möchten, um auf möglicherweise **kompromittierte Anmeldeinformationen** zu reagieren. **Cognito-Standardfunktionen**:

      1. Erkennen kompromittierter Anmeldeinformationen bei **Anmeldung**, **Registrierung** und **Passwortänderung**.

      1. Reagieren Sie auf kompromittierte Anmeldeinformationen mit der Aktion **Block sign-in** (Anmeldung blockieren).

   1. Wenn Sie **Custom** (benutzerdefinierte) Aktionen für **Compromised credentials** (kompromittierte Anmeldeinformationen) ausgewählt haben, wählen Sie die Benutzerpool-Aktionen aus, die Amazon Cognito für die **Event detection** (Ereigniserkennung) verwendet, sowie die **Compromised credentials responses** (Antworten auf kompromittierte Anmeldeinformationen), die Amazon Cognito auslösen soll. Sie können bei möglicherweise kompromittierten Anmeldeinformationen entweder die **Anmeldung blockieren** oder die **Anmeldung zulassen**.

   1. Wählen Sie unter **Adaptive authentication** (Adaptive Authentifizierung) aus, wie Sie auf schädliche Anmeldeversuche reagieren möchten. Wählen Sie aus, ob Sie eine **benutzerdefinierte** Aktion ausführen oder **Cognito-Standardfunktionen** verwenden möchten, um auf verdächtige schädliche Aktivitäten zu reagieren. Wenn Sie ** Cognito defaults** (Cognito-Standardfunktionen) auswählen, blockiert Amazon Cognito die Anmeldung auf allen Risikostufen und benachrichtigt den Benutzer nicht.

   1. Wenn Sie **benutzerdefinierte** Aktionen für **Adaptive authentication** (Adaptive Authentifizierung) ausgewählt haben, wählen Sie die Aktion **Automatic risk repsonse** (Automatische Reaktion auf Risiken) aus. Amazon Cognito wird diese verwenden, um je nach Schweregrad auf erkannte Risiken zu reagieren. Wenn Sie einer Risikostufe eine Reaktion zuweisen, können Sie einem höheren Risiko keine weniger restriktive Reaktion zuweisen. Sie können den Risikostufen folgende Reaktionen zuweisen:

      1. **Allow sign-in** (Anmeldung zulassen) – Ergreifen Sie keine vorbeugenden Maßnahmen.

      1. **Optional MFA** (Optionale MFA) – Wenn der Benutzer MFA konfiguriert hat, verlangt Amazon Cognito, dass der Benutzer bei der Anmeldung immer einen zusätzlichen SMS- oder zeitgesteuerten Einmalpasswort (TOTP)-Faktor bereitstellt. Wenn der Benutzer keine MFA konfiguriert hat, kann er sich weiterhin normal anmelden.

      1. **Optionale MFA** – Wenn der Benutzer MFA konfiguriert hat, verlangt Amazon Cognito, dass der Benutzer bei der Anmeldung immer einen zusätzlichen SMS- oder TOTP-Faktor bereitstellt. Wenn der Benutzer keine MFA konfiguriert hat, fordert Amazon Cognito ihn auf, MFA einzurichten. Bevor Sie automatisch MFA für Ihre Benutzer anfordern, konfigurieren Sie in Ihrer App einen Mechanismus, um Telefonnummern für SMS-MFA zu erfassen oder Authentifizierungs-Apps für TOTP MFA zu registrieren.

      1. **Block sign-in** (Anmeldung blockieren) – Verhindern Sie, dass sich der Benutzer anmeldet.

      1. **Notify user** (Benutzer benachrichtigen) – Senden Sie dem Benutzer eine E-Mail-Nachricht mit Informationen über das Risiko, das Amazon Cognito festgestellt hat, und Ihre Reaktion auf das Risiko. Sie können E-Mail-Nachrichtenvorlagen für von Ihnen gesendete Nachrichten anpassen.

1. Wenn Sie im vorherigen Schritt **Notify user** (Benutzer benachrichtigen) ausgewählt haben, können Sie Ihre Einstellungen für die E-Mail-Zustellung und E-Mail-Nachrichtenvorlagen für die adaptive Authentifizierung anpassen.

   1. Wählen Sie unter **Email configuration** (E-Mail-Konfiguration) die **SES Region** (SES-Region), die **FROM email address** (Absender-E-Mail-Adresse), die **FROM sender name** (Absendernamen) und die **REPLY-TO email address** (Empfänger-E-Mail-Adresse) aus, die Sie für die adaptive Authentifizierung verwenden möchten. Weitere Informationen zur Integration Ihrer Benutzerpool-E-Mail-Nachrichten in Amazon Simple Email Service finden Sie unter [Email settings for Amazon Cognito user pools](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html) (E-Mail-Einstellungen für Amazon-Cognito-Benutzerpools).  
![\[Ereignisverlauf des Benutzers\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-advanced-security-ses-notification.png)

   1. Wählen Sie **Email templates** (E-Mail-Vorlagen) aus, um Benachrichtigungen der adaptiven Authentifizierung für HTML- und Klartext-Versionen von E-Mail-Nachrichten anzupassen. Weitere Informationen über E-Mail-Nachrichtenvorlagen finden Sie unter [Nachrichtenvorlagen](cognito-user-pool-settings-message-customizations.md#cognito-user-pool-settings-message-templates).

1. Erweitern Sie **IP-Adressausnahmen**, um eine Liste mit den **Optionen „Immer zulassen**“ oder „**Immer blockieren**“ mit IPv6 Adressbereichen zu erstellen, die unabhängig von der IPv4 Risikobewertung für den Bedrohungsschutz immer zugelassen oder blockiert werden. Geben Sie die IP-Adressbereiche in [CIDR-Notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation) an (z. B. 192.168.100.0/24).

1. Wählen Sie **Änderungen speichern ** aus.

------
#### [ API (user pool) ]

Um die Konfiguration des Bedrohungsschutzes für einen Benutzerpool festzulegen, senden Sie eine [SetRiskConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetRiskConfiguration.html)API-Anfrage, die einen `UserPoolId` Parameter, aber keinen Parameter enthält. `ClientId` Im Folgenden finden Sie ein Beispiel für einen Anfragetext für einen Benutzerpool. Diese Risikokonfiguration sieht je nach Schwere des Risikos eine Reihe von Maßnahmen vor und benachrichtigt Benutzer aller Risikostufen. Bei Anmeldevorgängen wird der Zugriff auf kompromittierte Anmeldeinformationen gesperrt.

Um diese Konfiguration zu erzwingen, müssen Sie dies `ENFORCED` in einer separaten [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)Anfrage `AdvancedSecurityMode` oder einer API-Anfrage festlegen. [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html) Weitere Informationen zu den Platzhaltervorlagen wie `{username}` in diesem Beispiel finden Sie unter[Konfiguration von MFA-, Authentifizierungs-, Überprüfungs- und Einladungsnachrichten](cognito-user-pool-settings-message-customizations.md).

```
{
   "AccountTakeoverRiskConfiguration": { 
      "Actions": { 
         "HighAction": { 
            "EventAction": "MFA_REQUIRED",
            "Notify": true
         },
         "LowAction": { 
            "EventAction": "NO_ACTION",
            "Notify": true
         },
         "MediumAction": { 
            "EventAction": "MFA_IF_CONFIGURED",
            "Notify": true
         }
      },
      "NotifyConfiguration": { 
         "BlockEmail": { 
            "Subject": "You have been blocked for suspicious activity",
            "TextBody": "We blocked {username} at {login-time} from {ip-address}."
         },
         "From": "admin@example.com",
         "MfaEmail": { 
            "Subject": "Suspicious activity detected, MFA required",
            "TextBody": "Unexpected sign-in from {username} on device {device-name}. You must use MFA."
         },
         "NoActionEmail": { 
            "Subject": "Suspicious activity detected, secure your user account",
            "TextBody": "We noticed suspicious sign-in activity by {username} from {city}, {country} at {login-time}. If this was not you, reset your password."
         },
         "ReplyTo": "admin@example.com",
         "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com"
      }
   },
   "CompromisedCredentialsRiskConfiguration": { 
      "Actions": { 
         "EventAction": "BLOCK"
      },
      "EventFilter": [ "SIGN_UP" ]
   },
   "RiskExceptionConfiguration": { 
      "BlockedIPRangeList": [ "192.0.2.0/24","198.51.100.0/24" ],
      "SkippedIPRangeList": [ "203.0.113.0/24" ]
   },
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

------
#### [ API (app client) ]

Um die Bedrohungsschutzkonfiguration für einen App-Client festzulegen, senden Sie eine [SetRiskConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetRiskConfiguration.html)API-Anfrage, die einen `UserPoolId` Parameter und einen `ClientId` Parameter enthält. Im Folgenden finden Sie ein Beispiel für einen Anfragetext für einen App-Client. Diese Risikokonfiguration ist schwerwiegender als die Benutzerpoolkonfiguration und blockiert Einträge mit hohem Risiko. Außerdem werden bei der Registrierung und Anmeldung sowie beim Zurücksetzen des Kennworts Sperren kompromittierter Anmeldeinformationen blockiert.

Um diese Konfiguration zu erzwingen, müssen Sie in einer separaten Anfrage oder einer API-Anfrage auf festlegen`AdvancedSecurityMode`. `ENFORCED` [CreateUserPool[UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) Weitere Informationen zu den Platzhaltervorlagen wie `{username}` in diesem Beispiel finden Sie unter[Konfiguration von MFA-, Authentifizierungs-, Überprüfungs- und Einladungsnachrichten](cognito-user-pool-settings-message-customizations.md).

```
{
   "AccountTakeoverRiskConfiguration": { 
      "Actions": { 
         "HighAction": { 
            "EventAction": "BLOCK",
            "Notify": true
         },
         "LowAction": { 
            "EventAction": "NO_ACTION",
            "Notify": true
         },
         "MediumAction": { 
            "EventAction": "MFA_REQUIRED",
            "Notify": true
         }
      },
      "NotifyConfiguration": { 
         "BlockEmail": { 
            "Subject": "You have been blocked for suspicious activity",
            "TextBody": "We blocked {username} at {login-time} from {ip-address}."
         },
         "From": "admin@example.com",
         "MfaEmail": { 
            "Subject": "Suspicious activity detected, MFA required",
            "TextBody": "Unexpected sign-in from {username} on device {device-name}. You must use MFA."
         },
         "NoActionEmail": { 
            "Subject": "Suspicious activity detected, secure your user account",
            "TextBody": "We noticed suspicious sign-in activity by {username} from {city}, {country} at {login-time}. If this was not you, reset your password."
         },
         "ReplyTo": "admin@example.com",
         "SourceArn": "arn:aws:ses:us-west-2:123456789012:identity/admin@example.com"
      }
   },
   "ClientId": "1example23456789",
   "CompromisedCredentialsRiskConfiguration": { 
      "Actions": { 
         "EventAction": "BLOCK"
      },
      "EventFilter": [ "SIGN_UP", "SIGN_IN", "PASSWORD_CHANGE" ]
   },
   "RiskExceptionConfiguration": { 
      "BlockedIPRangeList": [ "192.0.2.1/32","192.0.2.2/32" ],
      "SkippedIPRangeList": [ "192.0.2.3/32","192.0.2.4/32" ]
   },
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

------

# Arbeiten mit der Erkennung kompromittierter Anmeldeinformationen
<a name="cognito-user-pool-settings-compromised-credentials"></a>

Amazon Cognito kann erkennen, wenn Benutzername und Passwort eines Benutzers an anderer Stelle kompromittiert wurden. Dies kann der Fall sein, wenn Benutzer Anmeldeinformationen auf mehr als einer Website verwenden, oder wenn sie einfach zu erratende Passwörter auswählen. Amazon Cognito überprüft [lokale Benutzer](cognito-terms.md#terms-localuser), die sich mit Benutzername und Passwort, mit verwalteter Anmeldung und mit der Amazon Cognito Cognito-API anmelden.

Im **Bedrohungsschutz-Menü** der Amazon Cognito Cognito-Konsole können Sie **kompromittierte Anmeldeinformationen** konfigurieren. Konfigurieren Sie **Event detection** (Ereigniserkennung), um die Benutzerereignisse auszuwählen, die Sie auf kompromittierte Anmeldeinformationen überwachen möchten. Konfigurieren Sie **Compromised credentials responses** (Antworten auf kompromittierte Anmeldeinformationen), um zu entscheiden, ob der Benutzer bei Erkennung kompromittierter Anmeldeinformationen zugelassen oder blockiert werden soll. Amazon Cognito kann bei der Registrierung, Anmeldung und bei Passwortänderungen auf kompromittierte Anmeldeinformationen prüfen.

Wenn Sie **Anmeldung zulassen** wählen, können Sie Amazon CloudWatch Logs überprüfen, um die Bewertungen zu überwachen, die Amazon Cognito zu Benutzerereignissen vornimmt. Weitere Informationen finden Sie unter [Metriken zum Schutz vor Bedrohungen anzeigen](metrics-for-cognito-user-pools.md#user-pool-settings-viewing-threat-protection-metrics). Wenn Sie **Block sign-in** (Anmeldung blockieren) auswählen, verhindert Amazon Cognito die Anmeldung von Benutzern, die kompromittierte Anmeldeinformationen verwenden. Wenn Amazon Cognito die Anmeldung für einen Benutzer blockiert, wird der [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserType.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserType.html) des Benutzers auf `RESET_REQUIRED` festgelegt. Ein Benutzer mit dem Status `RESET_REQUIRED` muss sein Passwort ändern, bevor er sich erneut anmelden kann.

Durch kompromittierte Anmeldeinformationen können Passwörter für die folgenden Benutzeraktivitäten überprüft werden.

**Registrieren**  
Ihr Benutzerpool überprüft die Passwörter, die Benutzer während des [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)Vorgangs und auf der Anmeldeseite des verwalteten Logins übertragen, auf Anzeichen für kompromittierte Zugriffe.

**Anmelden**  
Ihr Benutzerpool überprüft Passwörter, die Benutzer bei der kennwortbasierten Anmeldung eingeben, auf Anzeichen für eine Gefährdung. Amazon Cognito kann den `ADMIN_USER_PASSWORD_AUTH` Flow-In [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html), den `USER_PASSWORD_AUTH` Flow-In [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)und die `PASSWORD` `USER_AUTH` Flow-Option in beiden Fällen überprüfen.  
Derzeit führt Amazon Cognito bei der Anmeldung mit SRP (Secure Remote Password) keine Prüfung auf kompromittierte Anmeldeinformationen durch. SRP sendet bei der Anmeldung einen Hash-Passwortnachweis. Amazon Cognito hat keinen internen Zugriff auf Passwörter und kann daher nur ein Passwort auswerten, das Ihr Kunde ihm im Klartext übergibt.

**Zurücksetzen des Passworts**  
Ihr Benutzerpool sucht bei Vorgängen, bei denen neue Benutzerkennwörter mit dem [ConfirmForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html)Self-Service-Vorgang zum Zurücksetzen von Passwörtern festgelegt werden, nach Anzeichen für eine Kompromittierung. Der Code, der für diesen Vorgang erforderlich ist, wird von [ForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html)und [AdminResetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminResetUserPassword.html)generiert.  
Bei kompromittierten Anmeldeinformationen werden temporäre oder permanente, vom Administrator festgelegte Passwörter, die mit eingerichtet wurden, nicht überprüft. [AdminSetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html) Bei temporären Kennwörtern überprüft Ihr Benutzerpool jedoch die Passwörter anhand der Antworten auf die `NEW_PASSWORD_REQUIRED` Abfrage in und. [RespondToAuthChallenge[AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)

Weitere Informationen darüber, wie Sie Ihrem Benutzerpool einen Schutz gegen nicht mehr zuverlässige Anmeldeinformationen hinzufügen, finden Sie unter [Erweiterte Sicherheit mit Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md).

# Arbeiten Sie mit adaptiver Authentifizierung
<a name="cognito-user-pool-settings-adaptive-authentication"></a>

Mit der adaptiven Authentifizierung können Sie Ihren Benutzerpool so konfigurieren, dass verdächtige Anmeldungen blockiert werden, oder dass ein zweiter Faktor gefordert wird, wenn ein erhöhtes Risiko besteht. Bei jedem Anmeldeversuch generiert Amazon Cognito eine Risikobewertung, die angibt, wie wahrscheinlich es ist, dass die Anmeldeanforderung von einer kompromittierten Quelle stammt. Diese Risikobewertung basiert auf Geräte- und Benutzerfaktoren, die Ihre Anwendung bereitstellt, und anderen Faktoren, die Amazon Cognito aus der Anfrage ableitet. Einige Faktoren, die zur Risikobewertung durch Amazon Cognito beitragen, sind die IP-Adresse, der Benutzeragent und die geografische Entfernung zu anderen Anmeldeversuchen. Die adaptive Authentifizierung kann die Multi-Faktor-Authentifizierung (MFA) für einen Benutzer in Ihrem Benutzerpool aktivieren oder erfordern, wenn Amazon Cognito ein Risiko in einer Benutzersitzung erkennt und der Benutzer noch keine MFA-Methode ausgewählt hat. Wenn Sie MFA für einen Benutzer aktivieren, wird dieser immer aufgefordert, während der Authentifizierung einen zweiten Faktor bereitzustellen oder einzurichten, unabhängig davon, wie Sie die adaptive Authentifizierung konfiguriert haben. Aus Sicht Ihrer Benutzer bietet Ihre App Unterstützung bei der Einrichtung von MFA, und optional verhindert Amazon Cognito, dass sie sich erneut anmelden, bevor sie einen zusätzlichen Faktor konfiguriert haben.

Amazon Cognito veröffentlicht Kennzahlen zu Anmeldeversuchen, deren Risikoniveau und fehlgeschlagenen Anfragen an Amazon. CloudWatch Weitere Informationen finden Sie unter [Metriken zum Schutz vor Bedrohungen anzeigen](metrics-for-cognito-user-pools.md#user-pool-settings-viewing-threat-protection-metrics).

Weitere Informationen darüber, wie Sie Ihrem Benutzerpool eine adaptive Authentifizierung hinzufügen, finden Sie unter [Erweiterte Sicherheit mit Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md).

**Topics**
+ [Übersicht über die adaptive Authentifizierung](#security-cognito-user-pool-settings-adaptive-authentication-overview)
+ [Hinzufügen von Benutzergeräte- und Sitzungsdaten zu API-Anforderungen](#user-pool-settings-adaptive-authentication-device-fingerprint)
+ [Benutzerereignisverlauf anzeigen und exportieren](#user-pool-settings-adaptive-authentication-event-user-history)
+ [Bereitstellung von Ereignisfeedback](#user-pool-settings-adaptive-authentication-feedback)
+ [Senden von Benachrichtigungsmeldungen](#user-pool-settings-adaptive-authentication-messages)

## Übersicht über die adaptive Authentifizierung
<a name="security-cognito-user-pool-settings-adaptive-authentication-overview"></a>

Im Menü **Bedrohungsschutz** in der Amazon Cognito Cognito-Konsole können Sie Einstellungen für die adaptive Authentifizierung auswählen, einschließlich der Maßnahmen, die bei verschiedenen Risikostufen ergriffen werden sollen, und der Anpassung der Benachrichtigungen an Benutzer. Sie können allen Ihren App-Clients eine globale Konfiguration für den Schutz vor Bedrohungen zuweisen, aber auf einzelne App-Clients eine Konfiguration auf Client-Ebene anwenden.

Die adaptive Authentifizierung von Amazon Cognito weist jeder Benutzersitzung eine der folgenden Risikostufen zu: **Hoch**, **Mittel**, **Niedrig** oder **Kein Risiko**.

Wägen Sie Ihre Optionen sorgfältig ab, wenn Sie Ihre **Enforcement method** (Durchsetzungsmethode) von **Audit-only** (Nur Audit) zu **Full-fuction** (Vollfunktionsfähig) ändern. Die automatischen Antworten, die Sie auf Risikoniveaus anwenden, beeinflussen das Risikoniveau, das Amazon Cognito nachfolgenden Benutzersitzungen mit denselben Merkmalen zuweist. Wenn Sie sich beispielsweise dafür entschieden haben, keine Maßnahme zu ergreifen oder **Allow** (Zulassen) für Nutzersitzungen zu wählen, die Amazon Cognito zunächst als risikoreich einstuft, geht Amazon Cognito davon aus, dass ähnliche Sitzungen ebenfalls ein geringeres Risiko aufweisen.


**Sie können für jede Risikoebene folgende Optionen festlegen:**  

|  Option  |  Action  | 
| --- | --- | 
| Sobald Sie die Details auf dieser Seite überprüft haben, klicken Sie auf | Benutzer können sich ohne zusätzlichen Faktor anmelden. | 
| Optionale MFA | Benutzer mit einem konfigurierten zweiten Faktor müssen eine zweite Faktoraufforderung abschließen, um sich anmelden zu können. Als zweite Faktoren stehen eine Telefonnummer für SMS und ein TOTP-Softwaretoken zur Verfügung. Benutzer ohne einen zweiten konfigurierten Faktor können sich mit nur einem Satz von Anmeldeinformationen anmelden. | 
| MFA erforderlich | Benutzer mit einem konfigurierten zweiten Faktor müssen eine zweite Faktoraufforderung abschließen, um sich anmelden zu können. Amazon Cognito blockiert die Anmeldung für Benutzer, die keinen zweiten Faktor konfiguriert haben. | 
| Blockieren | Amazon Cognito blockiert alle Anmeldeversuche auf der festgelegten Risikoebene. | 

**Anmerkung**  
Sie müssen Telefonnummern nicht verifizieren, um sie für SMS als zweiter Authentifizierungsfaktor verwenden zu können.

## Hinzufügen von Benutzergeräte- und Sitzungsdaten zu API-Anforderungen
<a name="user-pool-settings-adaptive-authentication-device-fingerprint"></a>

Sie können Informationen über die Sitzung Ihres Benutzers sammeln und an Amazon Cognito Threat Protection weitergeben, wenn Sie ihn mit der API registrieren, anmelden und sein Passwort zurücksetzen. Zu diesen Informationen gehören die IP-Adresse des Benutzers und eine eindeutige Gerätekennung.

Möglicherweise verfügen Sie über ein zwischengelagertes Netzwerkgerät zwischen Ihren Benutzern und Amazon Cognito, wie einen Proxy-Service oder einen Anwendungsserver. Sie können die Kontextdaten der Benutzer sammeln und an Amazon Cognito weitergeben, damit die adaptive Authentifizierung Ihr Risiko basierend auf den Eigenschaften des Benutzerendpunkts anstelle Ihres Servers oder Proxys berechnet. Wenn Ihre clientseitige App API-Operationen von Amazon Cognito direkt aufruft, zeichnet die adaptive Authentifizierung automatisch die Quell-IP-Adresse auf. Es werden jedoch keine anderen Geräteinformationen wie `user-agent` aufgezeichnet, es sei denn, Sie erfassen auch eine Geräteidentifikation.

Generieren Sie diese Daten mit der Amazon Cognito Context-Datenerfassungsbibliothek und senden Sie sie mit den Parametern [ContextData](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ContextDataType.html)und [UserContextData](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserContextDataType.html)an Amazon Cognito Threat Protection. Die Bibliothek zur Erfassung von Kontextdaten ist in der enthalten. AWS SDKs Weitere Informationen finden Sie unter [Integration der Amazon-Cognito-Authentifizierung und -Autorisierung mit Web- und mobilen Apps](cognito-integrate-apps.md). Sie können einreichen`ContextData`, wenn Sie über den Plus-Funktionsplan verfügen. Weitere Informationen finden Sie unter [Schutz vor Bedrohungen einrichten](cognito-user-pool-settings-threat-protection.md#cognito-user-pool-settings-configure-threat-protection).

Wenn Sie die folgenden von Amazon Cognito authentifizierten API-Operationen von Ihrem Anwendungsserver aus aufrufen, übergeben Sie die IP des Geräts des Benutzers im Parameter `ContextData`. Übergeben Sie außerdem Ihren Servernamen, Serverpfad und verschlüsselte Geräteidentifikationsdaten.
+ [AdminInitiateAuth ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)
+ [AdminRespondToAuthChallenge ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html)

Wenn Sie Amazon Cognito Unauthenticated API Operations aufrufen, können Sie sich `UserContextData` an Amazon Cognito Threat Protection wenden. Diese Daten enthalten eine Geräteidentifikation im Parameter `EncodedData`. Sie können auch einen Parameter `IpAddress` in den `UserContextData` übergeben, wenn Sie die folgenden Bedingungen erfüllen:
+ Ihr Benutzerpool ist im Plus-Funktionsplan enthalten. Weitere Informationen finden Sie unter [Funktionspläne für Benutzerpools](cognito-sign-in-feature-plans.md).
+ Ihr App-Client verfügt über einen Client-Schlüssel. Weitere Informationen finden Sie unter [Anwendungsspezifische Einstellungen mit App-Clients](user-pool-settings-client-apps.md).
+ Sie haben **Accept additional user context data** (Zusätzliche Benutzerkontextdaten akzeptieren) in Ihrem App-Client aktiviert. Weitere Informationen finden Sie unter [Akzeptieren zusätzlicher Benutzerkontextdaten (AWS-Managementkonsole)](#user-pool-settings-adaptive-authentication-accept-user-context-data).

Ihre App kann den Parameter `UserContextData` mit verschlüsselten Geräteidentifikationsdaten und der IP-Adresse des Geräts des Benutzers in den folgenden nicht authentifizierten API-Operationen von Amazon Cognito auffüllen.
+ [InitiateAuth ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)
+ [RespondToAuthChallenge ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)
+ [SignUp ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)
+ [ConfirmSignUp ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html)
+ [ForgotPassword ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html)
+ [ConfirmForgotPassword ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html)
+ [ResendConfirmationCode ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ResendConfirmationCode.html)

### Akzeptieren zusätzlicher Benutzerkontextdaten (AWS-Managementkonsole)
<a name="user-pool-settings-adaptive-authentication-accept-user-context-data"></a>

Ihr Benutzerpool akzeptiert eine IP-Adresse in einem Parameter `UserContextData` nach dem Aktivieren der Funktion **Accept additional user context data** (Zusätzliche Benutzerkontextdaten akzeptieren). Sie müssen diese Funktion in folgenden Fällen nicht aktivieren:
+ Ihre Benutzer melden sich nur mit authentifizierten API-Vorgängen wie an [AdminInitiateAuth ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html), und Sie verwenden den `ContextData` Parameter.
+ Sie möchten nur, dass Ihre nicht authentifizierten API-Operationen einen Gerätefingerabdruck, aber keine IP-Adresse an den Amazon Cognito Cognito-Bedrohungsschutz senden.

Aktualisieren Sie Ihren App-Client wie folgt in der Amazon-Cognito-Konsole, um ihn um Unterstützung für zusätzliche Benutzerkontextdaten zu erweitern.

1. Melden Sie sich bei der [Amazon Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an.

1. Wählen Sie im Navigationsbereich erst **Manage your User Pools (Eigene Benutzerpools verwalten)** aus und anschließend den Benutzerpool, den Sie bearbeiten möchten.

1. Wählen Sie das Menü **App-Clients**.

1. Wählen oder erstellen Sie einen App-Client. Weitere Informationen finden Sie unter [ Konfigurieren eines Benutzerpool-App-Clients](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-idp-settings.html).

1. Wählen Sie **Edit** (Bearbeiten) aus dem Container **App client information** (App-Client-Informationen) aus.

1. Wählen Sie in **Advanced authentication settings** (Erweiterte Authentifizierungseinstellungen) für Ihren App-Client **Accept additional user context data** (Zusätzliche Benutzerkontextdaten akzeptieren) aus.

1. Wählen Sie **Änderungen speichern ** aus.

Um Ihren App-Client so zu konfigurieren, dass er Benutzerkontextdaten in der Amazon Cognito Cognito-API akzeptiert, setzen Sie `EnablePropagateAdditionalUserContextData` ihn `true` in einer [CreateUserPoolClient[UpdateUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html)Oder-Anfrage auf. Informationen darüber, wie Sie mit dem Bedrohungsschutz in Ihrer Web- oder Mobil-App arbeiten können, finden Sie unter[Erfassung von Daten für den Schutz vor Bedrohungen in Anwendungen](user-pool-settings-viewing-threat-protection-app.md). Erfassen Sie Benutzerkontextdaten von der Client-Seite, wenn Ihre App Amazon Cognito von Ihrem Server aufruft. Im Folgenden finden Sie ein Beispiel, das die JavaScript SDK-Methode verwendet`getData`.

```
var EncodedData = AmazonCognitoAdvancedSecurityData.getData(username, userPoolId, clientId);
```

Wenn Sie Ihre App zur Verwendung der adaptiven Authentifizierung entwerfen, empfehlen wir Ihnen, das neueste Amazon Cognito SDK in Ihre App zu integrieren. Die neueste Version des SDK sammelt Daten zur Geräteidentifizierung wie Geräte-ID, Modell und Zeitzone. Weitere Informationen zu Amazon Cognito SDKs finden [Sie unter Installieren eines Benutzerpool-SDK](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sdk-links.html). Amazon Cognito Threat Protection speichert nur Ereignisse und weist ihnen eine Risikobewertung zu, die Ihre App im richtigen Format übermittelt. Wenn Amazon Cognito eine Fehlerantwort zurückgibt, überprüfen Sie, ob Ihre Anfrage einen gültigen geheimen Hash enthält und IPv4 ob der `IPaddress` Parameter eine gültige IPv6 Oder-Adresse ist.

**`ContextData`- und `UserContextData`-Ressourcen**
+ AWS Amplify SDK for Android: [GetUserContextData](https://github.com/aws-amplify/aws-sdk-android/blob/main/aws-android-sdk-cognitoidentityprovider/src/main/java/com/amazonaws/mobileconnectors/cognitoidentityprovider/CognitoUserPool.java#L626)
+ AWS Amplify SDK for iOS: [userContextData](https://github.com/aws-amplify/aws-sdk-ios/blob/d3cd4fa0086b526f2f5c9c6c58880c9da7004c66/AWSCognitoIdentityProviderASF/AWSCognitoIdentityProviderASF.m#L21)
+ JavaScript: [amazon-cognito-advanced-security-data.min.js](https://amazon-cognito-assets.us-east-1.amazoncognito.com/amazon-cognito-advanced-security-data.min.js)

## Benutzerereignisverlauf anzeigen und exportieren
<a name="user-pool-settings-adaptive-authentication-event-user-history"></a>

Amazon Cognito generiert ein Protokoll für jedes Authentifizierungsereignis eines Benutzers, wenn Sie den Bedrohungsschutz aktivieren. Standardmäßig können Sie Benutzerprotokolle im **Benutzermenü** in der Amazon Cognito Cognito-Konsole oder mit der [AdminListUserAuthEvents](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminListUserAuthEvents.html)API-Operation anzeigen. Sie können diese Ereignisse auch in ein externes System wie CloudWatch Logs, Amazon S3 oder Amazon Data Firehose exportieren. Mit der Exportfunktion können Sicherheitsinformationen über Benutzeraktivitäten in Ihrer Anwendung für Ihre eigenen Sicherheitsanalysesysteme leichter zugänglich gemacht werden.

**Topics**
+ [Den Verlauf der Benutzerereignisse anzeigen ()AWS-Managementkonsole](#user-pool-settings-adaptive-authentication-event-user-history-console)
+ [Benutzerereignisverlauf anzeigen (API/CLI)](#user-pool-settings-adaptive-authentication-event-user-history-api-cli)
+ [Benutzerauthentifizierungsereignisse exportieren](#user-pool-settings-adaptive-authentication-event-user-history-exporting)

### Den Verlauf der Benutzerereignisse anzeigen ()AWS-Managementkonsole
<a name="user-pool-settings-adaptive-authentication-event-user-history-console"></a>

**Um den Anmeldeverlauf eines Benutzers zu sehen, können Sie den Benutzer aus dem Benutzermenü in der Amazon Cognito Cognito-Konsole auswählen.** Der Ereignisverlauf für Benutzer wird von Amazon Cognito für zwei Jahre aufbewahrt.

![\[Ereignisverlauf des Benutzers\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-advanced-security-event-history.png)


Jedes Anmeldeereignis hat eine Ereignis-ID. Das Ereignis enthält auch entsprechende Kontextdaten wie dem Standort, Gerätdetails sowie den Risikoerkennungsergebnissen.

Sie können die Ereignis-ID auch mit dem Token abgleichen, das Amazon Cognito zum Zeitpunkt der Aufzeichnung des Ereignisses ausgegeben hat. Die ID- und Zugriffstoken enthalten diese Ereignis-ID in ihrer Nutzlast. Außerdem gleicht Amazon Cognito die Verwendung von Aktualisierungstoken mit der ursprünglichen Ereignis-ID ab. Sie können die ursprüngliche Ereignis-ID bis zur Ereignis-ID des Anmeldeereignisses zurückverfolgen, das zur Ausgabe des Amazon-Cognito-Tokens führte. Sie können die Nutzung eines Tokens in Ihrem System auf ein bestimmtes Authentifizierungsereignis zurückführen. Weitere Informationen finden Sie unter [JSON-Webtoken (JWTs) für den Benutzerpool verstehen](amazon-cognito-user-pools-using-tokens-with-identity-providers.md).

### Benutzerereignisverlauf anzeigen (API/CLI)
<a name="user-pool-settings-adaptive-authentication-event-user-history-api-cli"></a>

Sie können den Benutzerereignisverlauf mit der Amazon Cognito Cognito-API-Operation [AdminListUserAuthEvents](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminListUserAuthEvents.html)oder mit AWS Command Line Interface (AWS CLI) mit [admin-list-user-auth-events](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-list-user-auth-events.html) abfragen.

------
#### [ AdminListUserAuthEvents request ]

Der folgende Anfragetext für `AdminListUserAuthEvents` gibt das neueste Aktivitätsprotokoll für einen Benutzer zurück.

```
{
  "UserPoolId": "us-west-2_EXAMPLE", 
  "Username": "myexampleuser", 
  "MaxResults": 1
}
```

------
#### [ admin-list-user-auth-events request ]

Die folgende Anfrage für `admin-list-user-auth-events` gibt das neueste Aktivitätsprotokoll für einen Benutzer zurück.

```
aws cognito-idp admin-list-user-auth-events --max-results 1 --username myexampleuser --user-pool-id us-west-2_EXAMPLE
```

------
#### [ Response ]

Amazon Cognito gibt auf beide Anfragen denselben JSON-Antworttext zurück. Im Folgenden finden Sie eine Beispielantwort für ein verwaltetes Anmeldeereignis, bei dem keine Risikofaktoren festgestellt wurden:

```
{
    "AuthEvents": [
        {
            "EventId": "[event ID]",
            "EventType": "SignIn",
            "CreationDate": "[Timestamp]",
            "EventResponse": "Pass",
            "EventRisk": {
                "RiskDecision": "NoRisk",
                "CompromisedCredentialsDetected": false
            },
            "ChallengeResponses": [
                {
                    "ChallengeName": "Password",
                    "ChallengeResponse": "Success"
                }
            ],
            "EventContextData": {
                "IpAddress": "192.168.2.1",
                "DeviceName": "Chrome 125, Windows 10",
                "Timezone": "-07:00",
                "City": "Bellevue",
                "Country": "United States"
            }
        }
    ],
    "NextToken": "[event ID]#[Timestamp]"
}
```

------

### Benutzerauthentifizierungsereignisse exportieren
<a name="user-pool-settings-adaptive-authentication-event-user-history-exporting"></a>

Konfigurieren Sie Ihren Benutzerpool so, dass Benutzerereignisse aus dem Bedrohungsschutz in ein externes System exportiert werden. Die unterstützten externen Systeme — Amazon S3, CloudWatch Logs und Amazon Data Firehose — können Ihre AWS Rechnung mit Kosten für Daten, die Sie senden oder abrufen, belasten. Weitere Informationen finden Sie unter [Exportieren von Benutzeraktivitätsprotokollen zum Schutz gegen Bedrohungen](exporting-quotas-and-usage.md#exporting-quotas-and-usage-user-activity).

------
#### [ AWS-Managementkonsole ]

1. Melden Sie sich bei der [Amazon Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an.

1. Wählen Sie **User Pools** (Benutzerpools) aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. **Wählen Sie das Menü Log-Streaming.** Wählen Sie **Bearbeiten** aus.

1. Markieren Sie unter **Protokollierungsstatus** das Kontrollkästchen neben **Export von Benutzeraktivitätsprotokollen aktivieren**.

1. Wählen Sie unter **Logging-Ziel** AWS-Service das aus, für das Sie Ihre Logs verwalten möchten: **CloudWatch Log-Gruppe**, **Amazon Data Firehose-Stream** oder **S3-Bucket**.

1. Ihre Auswahl füllt die Ressourcenauswahl mit dem entsprechenden Ressourcentyp. Wählen Sie eine Protokollgruppe, einen Stream oder einen Bucket aus der Liste aus. Sie können auch auf die Schaltfläche **Erstellen** klicken, um AWS-Managementkonsole zum ausgewählten Service zu navigieren und eine neue Ressource zu erstellen.

1. Wählen Sie **Änderungen speichern** aus.

------
#### [ API ]

Wählen Sie einen Zieltyp für Ihre Benutzeraktivitätsprotokolle.

Im Folgenden finden Sie ein Beispiel für einen `SetLogDeliveryConfiguration` Anforderungstext, der einen Firehose-Stream als Protokollziel festlegt.

```
{
   "LogConfigurations": [
      {
         "EventSource": "userAuthEvents",
         "FirehoseConfiguration": {
            "StreamArn": "arn:aws:firehose:us-west-2:123456789012:deliverystream/example-user-pool-activity-exported"
         },
         "LogLevel": "INFO"
      }
   ],
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

Im Folgenden finden Sie ein Beispiel für einen `SetLogDeliveryConfiguration` Anfragetext, der einen Amazon S3 S3-Bucket als Protokollziel festlegt.

```
{
   "LogConfigurations": [
      {
         "EventSource": "userAuthEvents",
         "S3Configuration": { 
            "BucketArn": "arn:aws:s3:::amzn-s3-demo-logging-bucket"
         },
         "LogLevel": "INFO"
      }
   ],
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

Im Folgenden finden Sie ein Beispiel für einen `SetLogDeliveryConfiguration` Anfragetext, der eine CloudWatch Protokollgruppe als Protokollziel festlegt.

```
{
   "LogConfigurations": [
      {
         "EventSource": "userAuthEvents",
         "CloudWatchLogsConfiguration": { 
            "LogGroupArn": "arn:aws:logs:us-west-2:123456789012:log-group:DOC-EXAMPLE-LOG-GROUP"
         },
         "LogLevel": "INFO"
      }
   ],
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

------

## Bereitstellung von Ereignisfeedback
<a name="user-pool-settings-adaptive-authentication-feedback"></a>

Ereignisfeedback wirkt sich in Echtzeit auf die Risikobewertung aus und verbessert langfristig den Risikobewertungsalgorithmus. Sie können Feedback zur Gültigkeit von Anmeldeversuchen über die Amazon-Cognito-Konsole und -API-Operationen bereitstellen. 

**Anmerkung**  
Ihr Ereignisfeedback beeinflusst das Risikoniveau, das Amazon Cognito nachfolgenden Benutzersitzungen mit denselben Merkmalen zuweist.

Wählen Sie in der Amazon Cognito Cognito-Konsole im Benutzermenü einen **Benutzer** aus und wählen Sie **Event-Feedback geben** aus. Sie können die Veranstaltungsdetails überprüfen und **Set as valid** (Als gültig festlegen) oder **Set as invalid** (Als ungültig festlegen).

Die Konsole listet den Anmeldeverlauf in den Benutzerdetails im **Benutzermenü** auf. Wenn Sie einen Eintrag auswählen, können Sie das Ereignis als gültig oder ungültig markieren. Sie können Feedback auch über die API-Operation [AdminUpdateAuthEventFeedback](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateAuthEventFeedback.html)für den Benutzerpool und über den AWS CLI Befehl [admin-update-auth-event-feedback](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-update-auth-event-feedback.html) geben. 

Wenn Sie in der Amazon-Cognito-Konsole die Option **Set as valid** (Als gültig festlegen) auswählen oder für `valid` in der API einen Wert von `FeedbackValue` angeben, teilen Sie Amazon Cognito mit, dass Sie einer Benutzersitzung vertrauen, für die Amazon Cognito ein gewisses Risiko bewertet hat. Wenn Sie in der Amazon-Cognito-Konsole die Option **Set as invalid** (Als ungültig festlegen) auswählen oder für `invalid` in der API einen Wert von `FeedbackValue` angeben, teilen Sie Amazon Cognito mit, dass Sie einer Benutzersitzung nicht vertrauen, oder dass Sie nicht glauben, dass Amazon Cognito ein ausreichend hohes Risikoniveau bewertet hat.

## Senden von Benachrichtigungsmeldungen
<a name="user-pool-settings-adaptive-authentication-messages"></a>

Mit dem Bedrohungsschutz kann Amazon Cognito Ihre Benutzer über riskante Anmeldeversuche informieren. Amazon Cognito kann Benutzer auch zur Auswahl von Links auffordern, um anzugeben, ob die Anmeldung gültig oder ungültig war. Amazon Cognito verwendet dieses Feedback, um die Genauigkeit der Risikoerkennung für Ihren Benutzerpool zu verbessern. 

**Anmerkung**  
Amazon Cognito sendet nur dann Benachrichtigungen an Benutzer, wenn ihre Aktion eine automatisierte Risikoreaktion generiert: Anmeldung blockieren, Anmeldung zulassen, MFA auf optional setzen oder MFA verlangen. Einigen Anfragen wird möglicherweise eine Risikostufe zugewiesen, sie generieren jedoch keine automatisierten Risikoantworten mit adaptiver Authentifizierung. Bei diesen Anfragen sendet Ihr Benutzerpool keine Benachrichtigungen. Beispielsweise können falsche Passwörter mit einer Risikoeinstufung protokolliert werden, aber die Antwort von Amazon Cognito besteht darin, die Anmeldung fehlzuschlagen und keine adaptive Authentifizierungsregel anzuwenden.

Wählen Sie im Abschnitt **Automatic risk response** (Automatische Reaktion auf Risiken) die Option **Notify Users** (Benutzer benachrichtigen) für die Fälle mit niedrigem, mittlerem und hohem Risiko.

![\[Benachrichtigen von Benutzern\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-adaptive-auth.png)


Amazon Cognito sendet E-Mail-Benachrichtigungen an Ihre Benutzer, unabhängig davon, ob sie ihre E-Mail-Adresse bestätigt haben.

Sie können E-Mail-Benachrichtigungen anpassen und sowohl Klartextversionen als auch HTML-Versionen bereitstellen. Um Ihre E-Mail-Benachrichtigungen anzupassen, öffnen Sie **E-Mail-Vorlagen unter** **Nachrichten mit adaptiver Authentifizierung** in Ihrer Bedrohungsschutzkonfiguration. Weitere Informationen über E-Mail-Vorlagen finden Sie unter [Nachrichtenvorlagen](cognito-user-pool-settings-message-customizations.md#cognito-user-pool-settings-message-templates).

# Erfassung von Daten für den Schutz vor Bedrohungen in Anwendungen
<a name="user-pool-settings-viewing-threat-protection-app"></a>

Die [adaptive Authentifizierung](cognito-user-pool-settings-adaptive-authentication.md) von Amazon Cognito bewertet die Risikostufen für versuchte Kontoübernahmen anhand von Kontextdetails der Anmeldeversuche von Benutzern. Ihre Anwendung muss den API-Anfragen *Kontextdaten* hinzufügen, damit Amazon Cognito Threat Protection das Risiko genauer einschätzen kann. Kontextdaten sind Informationen wie IP-Adresse, Browser-Agent, Geräteinformationen und Anforderungsheader, die kontextbezogene Informationen darüber liefern, wie ein Benutzer mit Ihrem Benutzerpool verbunden ist.

Die zentrale Verantwortung einer Anwendung, die diesen Kontext an Amazon Cognito übermittelt, ist ein `EncodedData` Parameter in Authentifizierungsanfragen an Benutzerpools. Um diese Daten zu Ihren Anfragen hinzuzufügen, können Sie Amazon Cognito mit einem SDK implementieren, das diese Informationen automatisch für Sie generiert, oder Sie können ein Modul für JavaScript iOS oder Android implementieren, das diese Daten sammelt. Anwendungen, die *nur für Kunden* bestimmt sind und direkte Anfragen an Amazon Cognito stellen, müssen implementiert werden. AWS Amplify SDKs *Client-Server-Anwendungen*, die über einen Zwischenserver oder eine API-Komponente verfügen, müssen ein separates SDK-Modul implementieren.

In den folgenden Szenarien verwaltet Ihr Authentifizierungs-Frontend die Erfassung von Benutzerkontextdaten ohne zusätzliche Konfiguration:
+ Managed Login sammelt automatisch Kontextdaten und leitet sie an den Bedrohungsschutz weiter.
+ Alle AWS Amplify Bibliotheken haben die Erfassung von Kontextdaten in ihre Authentifizierungsmethoden integriert.

## Senden von Benutzerkontextdaten in reinen Client-Anwendungen mit Amplify
<a name="user-pool-settings-viewing-threat-protection-app-amplify"></a>

![\[Ein Überblick über die Datenerfassung zum Schutz vor Bedrohungen in einer Amplify-Anwendung.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/user-pools-asf-amplify-data-collection.png)


Amplify SDKs unterstützt mobile Clients, die sich direkt bei Amazon Cognito authentifizieren. Kunden dieser Art stellen direkte API-Anfragen an öffentliche API-Operationen von Amazon Cognito. Amplify-Clients sammeln standardmäßig automatisch Kontextdaten zum Schutz vor Bedrohungen.

Amplify-Anwendungen mit JavaScript sind eine Ausnahme. Sie erfordern das Hinzufügen eines [JavaScript Moduls](#user-pool-settings-viewing-threat-protection-app-additional-resources-js), das Benutzerkontextdaten sammelt.

In der Regel verwendet eine Anwendung in dieser Konfiguration nicht authentifizierte API-Operationen wie [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)und. [RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html) Das [UserContextData](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserContextDataType.html)Objekt hilft dabei, die Risiken für diese Operationen genauer einzuschätzen. Das Amplify SDKs fügt Geräte- und Sitzungsinformationen zu einem `EncodedData` Parameter von `UserContextData` hinzu.

## Sammeln von Kontextdaten in Client-Server-Anwendungen
<a name="user-pool-settings-viewing-threat-protection-app-server-side"></a>

Einige Anwendungen haben eine Front-End-Stufe, die Benutzerauthentifizierungsdaten sammelt, und eine Anwendungs-Back-End-Stufe, die Authentifizierungsanfragen an Amazon Cognito sendet. Dies ist eine gängige Architektur für Webserver und Anwendungen, die durch Microservices unterstützt werden. In diesen Anwendungen müssen Sie eine öffentliche Bibliothek zur Erfassung von Kontextdaten importieren.

![\[Ein Überblick über die serverseitige Authentifizierung mit Kontextdaten zum Bedrohungsschutz in. JavaScript\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/user-pools-asf-non-amplify-data-collection.png)


In der Regel verwendet ein Anwendungsserver in dieser Konfiguration authentifizierte API-Operationen wie [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)und. [AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html) Das [ContextData](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-ContextData)Objekt hilft Amazon Cognito dabei, Risiken für diese Operationen genauer einzuschätzen. Der Inhalt von besteht aus `ContextData` den codierten Daten, die Ihr Front-End an Ihren Server weitergegeben hat, und zusätzlichen Details aus der HTTP-Anfrage des Benutzers an Ihren Server. Diese zusätzlichen Kontextdetails, wie die HTTP-Header und die IP-Adresse, liefern Ihrem Anwendungsserver die Merkmale der Benutzerumgebung.

Ihr Anwendungsserver kann sich auch mit nicht authentifizierten API-Operationen wie und anmelden. [InitiateAuth[RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html) Das [UserContextData](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#CognitoUserPools-InitiateAuth-request-UserContextData)Objekt dient als Grundlage für die Risikoanalyse des Bedrohungsschutzes bei diesen Vorgängen. Die Operationen in den verfügbaren Bibliotheken für die Datenerfassung im öffentlichen Kontext fügen dem `EncodedData` Parameter in Authentifizierungsanforderungen Sicherheitsinformationen hinzu. Konfigurieren Sie Ihren Benutzerpool außerdem so, dass er zusätzliche Kontextdaten akzeptiert, und fügen Sie dem `IpAddress` Parameter von die Quell-IP des Benutzers hinzu`UserContextData`.

**Um Kontextdaten zu Client-Server-Anwendungen hinzuzufügen**

1. Erfassen Sie in Ihrer Front-End-Anwendung codierte Kontextdaten vom Client mit einem [iOS-, Android- oder JavaScript Modul](#user-pool-settings-viewing-threat-protection-app-additional-resources).

1. Übergeben Sie die codierten Daten und die Details der Authentifizierungsanfrage an Ihren Anwendungsserver.

1. Extrahieren Sie auf Ihrem Anwendungsserver die IP-Adresse des Benutzers, die relevanten HTTP-Header, den angeforderten Servernamen und den angeforderten Pfad aus der HTTP-Anfrage. Füllen Sie diese Werte in den [ContextData](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html#CognitoUserPools-AdminInitiateAuth-request-ContextData)Parameter Ihrer API-Anfrage an Amazon Cognito ein.

1. Füllen Sie den `EncodedData` Parameter von `ContextData` in Ihrer API-Anfrage mit den codierten Gerätedaten aus, die Ihr SDK-Modul gesammelt hat. Fügen Sie diese Kontextdaten zur Authentifizierungsanfrage hinzu.

## Kontextdatenbibliotheken für Client-Server-Anwendungen
<a name="user-pool-settings-viewing-threat-protection-app-additional-resources"></a>

### JavaScript
<a name="user-pool-settings-viewing-threat-protection-app-additional-resources-js"></a>

Das `amazon-cognito-advanced-security-data.min.js` Modul sammelt Daten`EncodedData`, die Sie an Ihren Anwendungsserver übergeben können.

Fügen Sie das `amazon-cognito-advanced-security-data.min.js` Modul zu Ihrer JavaScript Konfiguration hinzu. `<region>`Ersetzen Sie es durch einen AWS-Region aus der folgenden Liste: `us-east-1``us-east-2`,`us-west-2`,`eu-west-1`,`eu-west-2`, oder`eu-central-1`.

```
<script src="https://amazon-cognito-assets.<region>.amazoncognito.com/amazon-cognito-advanced-security-data.min.js"></script>
```

Um ein `encodedContextData` Objekt zu generieren, das Sie im `EncodedData` Parameter verwenden können, fügen Sie Ihrer JavaScript Anwendungsquelle Folgendes hinzu:

```
var encodedContextData = AmazonCognitoAdvancedSecurityData.getData(_username, _userpoolId, _userPoolClientId);
```

### iOS/Swift
<a name="user-pool-settings-viewing-threat-protection-app-additional-resources-ios"></a>

Um Kontextdaten zu generieren, können iOS-Anwendungen das [Mobile SDK for iOS iOS-Modul AWSCognito](https://github.com/aws-amplify/aws-sdk-ios/tree/main) [IdentityProviderASF](https://github.com/aws-amplify/aws-sdk-ios/tree/main/AWSCognitoIdentityProviderASF) integrieren.

Um verschlüsselte Kontextdaten zum Schutz vor Bedrohungen zu sammeln, fügen Sie Ihrer Anwendung den folgenden Codeausschnitt hinzu:

```
import AWSCognitoIdentityProviderASF

let deviceId = getDeviceId()
let encodedContextData = AWSCognitoIdentityProviderASF.userContextData(
                            userPoolId, 
                            username: username, 
                            deviceId: deviceId, 
                            userPoolClientId: userPoolClientId)
                                
/**
 * Reuse DeviceId from keychain or generate one for the first time.
 */
func getDeviceId() -> String {
    let deviceIdKey = getKeyChainKey(namespace: userPoolId, key: "AWSCognitoAuthAsfDeviceId")
    
   if let existingDeviceId = self.keychain.string(forKey: deviceIdKey) {
        return existingDeviceId
    }

    let newDeviceId = UUID().uuidString
    self.keychain.setString(newDeviceId, forKey: deviceIdKey)
    return newDeviceId
}

/**
 * Get a namespaced keychain key given a namespace and key
 */    
func getKeyChainKey(namespace: String, key: String) -> String {
    return "\(namespace).\(key)"
}
```

### Android
<a name="user-pool-settings-viewing-threat-protection-app-additional-resources-android"></a>

Um Kontextdaten zu generieren, können Android-Anwendungen das [Mobile SDK for Android aws-android-sdk-cognitoidentityprovider](https://github.com/aws-amplify/aws-sdk-android/tree/main) [-Modul -asf](https://github.com/aws-amplify/aws-sdk-android/tree/main/aws-android-sdk-cognitoidentityprovider-asf) integrieren.

Um verschlüsselte Kontextdaten zum Schutz vor Bedrohungen zu sammeln, fügen Sie Ihrer Anwendung den folgenden Ausschnitt hinzu:

```
UserContextDataProvider provider = UserContextDataProvider.getInstance();
// context here is android application context.
String encodedContextData = provider.getEncodedContextData(context, username, userPoolId, userPoolClientId);
```

# Ordnen Sie einem AWS WAF Benutzerpool eine Web-ACL zu
<a name="user-pool-waf"></a>

AWS WAF ist eine Firewall für Webanwendungen. Mit einer AWS WAF Web-Zugriffskontrollliste (Web ACL) können Sie Ihren Benutzerpool vor unerwünschten Anfragen an Ihre klassische gehostete Benutzeroberfläche, verwaltete Anmeldung und Amazon Cognito API-Serviceendpunkte schützen. Eine Web-ACL ermöglicht eine differenziertere Kontrolle aller HTTPS-Webanforderungen, auf die Ihr Benutzerpool reagiert. Weitere Informationen zum AWS WAF Web ACLs finden Sie unter [Verwaltung und Verwendung einer Web-Zugriffskontrollliste (Web-ACL)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html) im *AWS WAF Entwicklerhandbuch*.

Wenn Sie eine AWS WAF Web-ACL mit einem Benutzerpool verknüpft haben, leitet Amazon Cognito ausgewählte nicht vertrauliche Header und Inhalte von Anfragen Ihrer Benutzer an weiter. AWS WAF AWS WAF untersucht den Inhalt der Anfrage, vergleicht sie mit den Regeln, die Sie in Ihrer Web-ACL angegeben haben, und gibt eine Antwort an Amazon Cognito zurück.

## Wissenswertes über AWS WAF Web ACLs und Amazon Cognito
<a name="user-pool-waf-things-to-know"></a>
+ Sie können Web-ACL-Regeln nicht so konfigurieren, dass sie mit personenbezogenen Daten (PII) in Benutzerpoolanfragen übereinstimmen, z. B. Benutzernamen, Passwörter, Telefonnummern oder E-Mail-Adressen. Diese Daten werden nicht verfügbar sein für. AWS WAF Konfigurieren Sie stattdessen Ihre Web-ACL-Regeln so, dass sie mit den Sitzungsdaten in den Headern, Pfaden und Textteilen wie IP-Adressen, Browser-Agenten und angeforderten API-Vorgängen übereinstimmen.
+ Web-ACL-Regelbedingungen können nur benutzerdefinierte Blockantworten auf die **erste** Anfrage eines Benutzers an eine benutzerinteraktive verwaltete Anmeldeseite zurückgeben. Wenn nachfolgende Verbindungen einer benutzerdefinierten Blockantwortbedingung entsprechen, geben sie Ihren benutzerdefinierten Statuscode, Ihre Header- und Umleitungsantworten zurück, jedoch eine standardmäßige Blocknachricht.
+ Anfragen, die von blockiert wurden, werden für AWS WAF keinen Anfragetyp auf das Kontingent für die Anforderungsrate angerechnet. Der AWS WAF Handler wird vor den Drosselungsprozeduren auf API-Ebene aufgerufen.
+ Wenn Sie eine Web-ACL erstellen, dauert es ein wenig, bis die Web-ACL vollständig weitergegeben wurde und für Amazon Cognito verfügbar ist. Die Übertragungszeit kann zwischen einigen Sekunden und mehreren Minuten liegen. AWS WAF gibt a zurück [https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html#API_AssociateWebACL_Errors](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html#API_AssociateWebACL_Errors), wenn Sie versuchen, eine Web-ACL zuzuordnen, bevor sie vollständig weitergegeben wurde.
+ Sie können jedem Benutzerpool eine Web-ACL zuordnen.
+ Ihre Anfrage könnte zu einer Nutzlast führen, die die Grenzwerte für das übersteigt, was AWS WAF überprüfen kann. Unter Behandlung [übergroßer Anforderungskomponenten](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-oversize-handling.html) im *AWS WAF Entwicklerhandbuch* erfahren Sie, wie Sie konfigurieren können, wie mit übergroßen Anfragen von Amazon Cognito AWS WAF umgegangen wird.
+ Sie können eine Web-ACL, die AWS WAF [Fraud Control Account Takeover Prevention (ATP)](https://docs.aws.amazon.com/waf/latest/developerguide/waf-atp.html) verwendet, nicht mit einem Amazon Cognito Cognito-Benutzerpool verknüpfen. Die ATP-Funktion befindet sich in der `AWS-AWSManagedRulesATPRuleSet` verwalteten Regelgruppe. Bevor Sie eine Web-ACL einem Benutzerpool zuordnen, stellen Sie sicher, dass dieser diese verwaltete Regelgruppe nicht verwendet.
+ Wenn Sie eine AWS WAF Web-ACL mit einem Benutzerpool verknüpft haben und eine Regel in Ihrer Web-ACL ein CAPTCHA enthält, kann dies zu einem nicht behebbaren Fehler bei der TOTP-Registrierung für die verwaltete Anmeldung führen. Informationen zum Erstellen einer Regel mit einer CAPTCHA-Aktion, die sich nicht auf das TOTP für verwaltete Logins auswirkt, finden Sie unter. [Konfiguration Ihrer AWS WAF Web-ACL für die verwaltete Anmeldung TOTP MFA](user-pool-settings-mfa-totp.md#totp-waf)

AWS WAF untersucht Anfragen an die folgenden Endpunkte.

**Verwaltete Anmeldung und die klassische gehostete Benutzeroberfläche**  
Anforderungen aller Endpunkte in der [Benutzerpool-Endpunkte und Referenz für verwaltete Logins](cognito-userpools-server-contract-reference.md).

**Öffentliche API-Operationen**  
Anfragen von Ihrer App an die Amazon Cognito Cognito-API, die keine AWS Anmeldeinformationen zur Autorisierung verwenden. Dazu gehören API-Operationen wie [InitiateAuth[RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html), und. [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html) Die API-Operationen, die in den Geltungsbereich von fallen, erfordern AWS WAF keine Authentifizierung mit AWS Anmeldeinformationen. Sie sind entweder nicht authentifiziert oder mit einer Sitzungszeichenfolge bzw. einem Zugriffstoken autorisiert. Weitere Informationen finden Sie unter [Liste der API-Operationen, gruppiert nach Autorisierungsmodell](authentication-flows-public-server-side.md#user-pool-apis-auth-unauth).

Sie können die Regeln in Ihrer Web-ACL mit den Regelaktionen **Count** (Zählen), **Allow** (Zulassen) und **Block** (Blockieren) konfigurieren oder ein **CAPTCHA** als Antwort auf eine Anfrage anzeigen, die mit einer Regel übereinstimmt. Weitere Informationen finden Sie unter [AWS WAF -Regeln](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rules.html) im *Entwicklerhandbuch zu AWS WAF *. Abhängig von der Regelaktion können Sie die Antwort anpassen, die Amazon Cognito an Ihre Benutzer zurückgibt.

**Wichtig**  
Ihre Optionen zum Anpassen der Antwort im Fehlerfall hängen von der Art und Weise ab, wie Sie eine API-Anforderung vornehmen.  
Sie können den Fehlercode und den Antworttext verwalteter Anmeldeanfragen anpassen. Sie können Ihrem Benutzer nur bei der verwalteten Anmeldung ein CAPTCHA zur Lösung vorlegen.
Für Anforderungen, die Sie mit der [Benutzerpool-API](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html) von Amazon Cognito vornehmen, können Sie den Antworttext einer Anforderung anpassen, die eine **Blockieren**-Antwort erhält. Sie können auch einen benutzerdefinierten Fehlercode im Bereich 400 bis 499 angeben.
Die AWS Command Line Interface (AWS CLI) und die AWS SDKs geben bei Anfragen, die eine **Block** - oder **CAPTCHA-Antwort** erzeugen, einen `ForbiddenException` Fehler zurück.

## Zuordnen einer Web-ACL zu Ihrem Benutzerpool
<a name="user-pool-waf-setting-up"></a>

Um mit einer Web-ACL in Ihrem Benutzerpool arbeiten zu können, muss Ihr AWS Identity and Access Management (IAM-) Principal über die folgenden Amazon Cognito- und AWS WAF Berechtigungen verfügen. Informationen zu AWS WAF Berechtigungen finden Sie unter [AWS WAF API-Berechtigungen](https://docs.aws.amazon.com/waf/latest/developerguide/waf-api-permissions-ref.html) im *AWS WAF Entwicklerhandbuch*.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Sid": "AllowWebACLUserPool",
			"Effect": "Allow",
			"Action": [
				"cognito-idp:ListResourcesForWebACL",
				"cognito-idp:GetWebACLForResource",
				"cognito-idp:AssociateWebACL"
			],
			"Resource": [
				"arn:aws:cognito-idp:*:123456789012:userpool/*"
			]
		},
		{
			"Sid": "AllowWebACLUserPoolWAFv2",
			"Effect": "Allow",
			"Action": [
				"wafv2:ListResourcesForWebACL",
				"wafv2:AssociateWebACL",
				"wafv2:DisassociateWebACL",
				"wafv2:GetWebACLForResource"
			],
			"Resource": "arn:aws:wafv2:*:123456789012:*/webacl/*/*"
		},
		{
			"Sid": "DisassociateWebACL1",
			"Effect": "Allow",
			"Action": "wafv2:DisassociateWebACL",
			"Resource": "*"
		},
		{
			"Sid": "DisassociateWebACL2",
			"Effect": "Allow",
			"Action": [
				"cognito-idp:DisassociateWebACL"
			],
			"Resource": [
				"arn:aws:cognito-idp:*:123456789012:userpool/*"
			]
		}
	]
}
```

------

[Sie müssen zwar IAM-Berechtigungen gewähren, aber die aufgelisteten Aktionen sind nur für Genehmigungen bestimmt und entsprechen keinem API-Vorgang.](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/Welcome.html)

**Um sie AWS WAF für Ihren Benutzerpool zu aktivieren und eine Web-ACL zuzuordnen**

1. Melden Sie sich bei der [Amazon Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an.

1. Wählen Sie im Navigationsbereich erst **User Pools** (Benutzerpools) aus und anschließend den Benutzerpool, den Sie bearbeiten möchten.

1. Wählen Sie die **AWS WAF**Registerkarte im Bereich **Sicherheit**.

1. Wählen Sie **Bearbeiten** aus.

1. Wählen Sie ** AWS WAF Mit Ihrem Benutzerpool verwenden** aus.  
![\[Screenshot des AWS WAF Dialogfelds, in dem die Option „ AWS WAF Mit Ihrem Benutzerpool verwenden“ ausgewählt ist.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/cup-WAF-console.png)

1. Wählen Sie eine **AWS WAF Web-ACL**, die Sie bereits erstellt haben, oder wählen Sie **Web-ACL erstellen in**, AWS WAF um eine Web-ACL in einer neuen AWS WAF Sitzung in der zu erstellen AWS-Managementkonsole.

1. Wählen Sie **Änderungen speichern ** aus.

Verwenden Sie ACL aus der API, um Ihrem Benutzerpool im AWS Command Line Interface oder einem SDK programmgesteuert eine [AssociateWebWeb-ACL](https://docs.aws.amazon.com/waf/latest/APIReference/API_AssociateWebACL.html) zuzuordnen. AWS WAF Amazon Cognito verfügt nicht über eine separaten API-Operation zum Zuordnen einer Web-ACL.

## Web testen und protokollieren AWS WAF ACLs
<a name="user-pool-waf-evaluating-and-logging"></a>

Wenn Sie eine Regelaktion in Ihrer Web-ACL auf **Count** setzen, wird die Anfrage zu einer Anzahl von Anfragen AWS WAF hinzugefügt, die der Regel entsprechen. Setzen Sie zum Testen einer Web-ACL mit Ihrem Benutzerpool die Regelaktionen auf **Count** (Zählen) und berücksichtigen Sie das Volumen der Anforderungen, die mit den einzelnen Regeln übereinstimmen. Wenn beispielsweise eine Regel, die Sie auf die Aktion **Block** (Blockieren) setzen möchten, mit einer großen Anzahl von Anforderungen übereinstimmt, die Sie als normalen Benutzerverkehr einstufen. müssen Sie Ihre Regel möglicherweise neu konfigurieren. Weitere Informationen finden Sie im *AWS WAF Entwicklerhandbuch* unter [Testen und Optimieren Ihres AWS WAF Schutzes](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html).

Sie können auch so konfigurieren AWS WAF , dass Anforderungsheader in einer Amazon CloudWatch Logs-Protokollgruppe, einem Amazon Simple Storage Service (Amazon S3) -Bucket oder einer Amazon Data Firehose protokolliert werden. Sie können die Amazon-Cognito-Anforderungen, die Sie mit der Benutzerpool-API vornehmen, anhand von `x-amzn-cognito-client-id` und `x-amzn-cognito-operation-name` identifizieren. Verwaltete Anmeldeanfragen enthalten nur den `x-amzn-cognito-client-id` Header. Weitere Informationen finden Sie unter [Protokollieren des Web-ACL-Datenverkehrs](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) im *Entwicklerhandbuch zu AWS WAF *.

AWS WAF Web ACLs sind in allen [Featureplänen](cognito-sign-in-feature-plans.md) für Benutzerpools verfügbar. Die Sicherheitsfunktionen von AWS WAF ergänzen den Bedrohungsschutz von Amazon Cognito. Sie können beide Funktionen in einem Benutzerpool aktivieren. AWS WAF berechnet die Überprüfung von Benutzerpool-Anforderungen separat. Weitere Informationen finden Sie unter [AWS WAF  – Preise](https://aws.amazon.com/waf/pricing).

Die Protokollierung von AWS WAF Anforderungsdaten unterliegt einer zusätzlichen Abrechnung durch den Dienst, für den Sie Ihre Protokolle verwenden. Weitere Informationen finden Sie unter [Preise für die Protokollierung von Web-ACL-Datenverkehrsinformationen](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html#logging-pricing) im *Entwicklerhandbuch zu AWS WAF *.

# Berücksichtigung der Groß-/Kleinschreibung im Benutzerpool
<a name="user-pool-case-sensitivity"></a>

Amazon Cognito Cognito-Benutzerpools, die Sie in der erstellen, AWS-Managementkonsole unterscheiden standardmäßig nicht zwischen Groß- und Kleinschreibung. Wenn ein Benutzerpool Groß- und Kleinschreibung nicht beachtet, beziehen Sie sich *benutzer@beispiel.com* und *Benutzer@beispiel.com* auf denselben Benutzer. Wenn für Benutzernamen in einem Benutzerpool die Groß- und Kleinschreibung nicht beachtet wird, gilt dasselbe für die `preferred_username`- und `email`-Attribute.

Die Unterscheidung zwischen Groß- und Kleinschreibung gilt nicht nur für Attributeingaben, sondern auch für Ausgaben. Attributwerte mit gemischter Groß- und Kleinschreibung in Benutzerpools ohne Berücksichtigung der Groß- und Kleinschreibung werden in der Textausgabe des Benutzerpools auf Kleinbuchstaben reduziert. Beispiele für Textausgaben von Benutzerpools sind [UserInfo-Antworten](userinfo-endpoint.md), Benutzerabfrageantworten wie die Ausgabe von [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html)und Eingabeereignisse für [Lambda-Trigger](cognito-user-pools-working-with-lambda-triggers.md).

Um die Einstellungen für die Groß- und Kleinschreibung des Benutzerpools zu berücksichtigen, identifizieren Sie Benutzer in Ihrem App-Code basierend auf einem alternativen Benutzerattribut. Da die Groß-/Kleinschreibung eines Benutzernamens, eines bevorzugten Benutzernamens oder eines E-Mail-Attributs variieren kann, verweisen Sie stattdessen auf das `sub`-Attribut. Sie können auch ein unveränderliches benutzerdefiniertes Attribut in Ihrem Benutzerpool erstellen und dem Attribut in jedem neuen Benutzerprofil Ihren eigenen eindeutigen Identifikationswert zuweisen. Beim Erstellen eines Benutzers können Sie einen Wert in das unveränderliche, benutzerdefinierte Attribut schreiben, das Sie erstellt haben.

**Anmerkung**  
Unabhängig von den Einstellungen für die Groß- und Kleinschreibung Ihres Benutzerpools erfordert Amazon Cognito, dass ein Verbundbenutzer eines SAML- oder OIDC-Identitätsanbieters (IDP) eine eindeutige und Groß- und Kleinschreibung berücksichtigende `NameId` oder einen `sub`-Anspruch übergibt. Weitere Hinweise zur Berücksichtigung von Groß- und Kleinschreibung bei eindeutigen Bezeichnern und zu SAML IdPs finden Sie unter. [Implementieren Sie die SP-initiierte SAML-Anmeldung](cognito-user-pools-SAML-session-initiation.md#cognito-user-pools-saml-idp-authentication)

Erstellen eines Benutzerpools mit Berücksichtigung der Groß-/Kleinschreibung  
Wenn Sie Ressourcen mit den Operationen AWS Command Line Interface (AWS CLI) und API-Operationen wie erstellen [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html), müssen Sie den booleschen `CaseSensitive` Parameter auf setzen. `false` Diese Einstellung erstellt einen Benutzerpool, in dem die Groß- und Kleinschreibung nicht berücksichtigt wird. Wenn Sie keinen Wert angeben, verwendet `CaseSensitive` standardmäßig `true`. Benutzerpools, die Sie in der Amazon Cognito Cognito-Konsole erstellen, unterscheiden nicht zwischen Groß- und Kleinschreibung. Um einen Benutzerpool mit Berücksichtigung von Groß- und Kleinschreibung zu erstellen, müssen Sie den Vorgang verwenden. `CreateUserPool` Vor dem 12. Februar 2020 wurde bei Benutzerpools unabhängig von der Plattform standardmäßig Groß- und Kleinschreibung beachtet.   
Im **Anmeldemenü** von AWS-Managementkonsole und in der `UsernameConfiguration` Eigenschaft von können Sie die Einstellungen zur [DescribeUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolType.html#CognitoUserPools-Type-UserPoolType-UsernameConfiguration)Berücksichtigung der Groß- und Kleinschreibung für jeden Benutzerpool in Ihrem Konto überprüfen.

Migration zu einem neuen Benutzerpool  
Aufgrund potenzieller Konflikte zwischen Benutzerprofilen können Sie einen Amazon-Cognito-Benutzerpool nicht von „Groß- und Kleinschreibung wird berücksichtigt“ auf „Groß- und Kleinschreibung wird nicht berücksichtigt“ ändern. Migrieren Sie stattdessen Ihre Benutzer in einen neuen Benutzerpool. Sie müssen Migrationscode erstellen, um fallbezogene Konflikte zu lösen. Dieser Code muss entweder einen eindeutigen neuen Benutzer zurückgeben oder den Anmeldeversuch ablehnen, wenn er einen Konflikt erkennt. Weisen Sie in einem neuen Benutzerpool, in dem die Groß-/Kleinschreibung nicht beachtet wird, ein [Lambda-Auslöser für die Benutzermigration.](user-pool-lambda-migrate-user.md) zu. Mit dieser AWS Lambda Funktion können Benutzer im neuen Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung erstellt werden. Die Lambda-Funktion findet und dupliziert den Benutzer aus dem Benutzerpool mit Beachtung der Groß- und Kleinschreibung, wenn es dem Benutzer nicht gelingt, sich mit dem Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung anzumelden. Sie können auch einen Lambda-Trigger für die Migration von Benutzern bei [ForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html)Ereignissen aktivieren. Amazon Cognito übergibt Benutzerinformationen und Ereignismetadaten aus der Anmeldung- oder Passwort-Wiederherstellungsaktion an Ihre Lambda-Funktion. Sie können Ereignisdaten verwenden, um Konflikte zwischen Benutzernamen und E-Mail-Adressen zu verwalten, wenn Ihre Funktion den neuen Benutzer in Ihrem Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung erstellt. Bei diesen Konflikten handelt es sich um Benutzernamen und E-Mail-Adressen, die in einem Benutzerpool, bei dem die Groß- und Kleinschreibung beachtet wird, eindeutig, in einem Benutzerpool, bei dem die Groß- und Kleinschreibung nicht berücksichtigt wird, jedoch identisch wären.   
Weitere Informationen zur Verwendung eines Lambda-Triggers für die Migration von Benutzern zwischen Amazon Cognito Cognito-Benutzerpools finden Sie unter [Migrieren von Benutzern zu Amazon Cognito Cognito-Benutzerpools](https://aws.amazon.com/blogs/mobile/migrating-users-to-amazon-cognito-user-pools/) im Blog. AWS 

# Löschschutz für Benutzerpools
<a name="user-pool-settings-deletion-protection"></a>

Aktivieren Sie den Löschschutz, damit Ihre Administratoren den Benutzerpool nicht versehentlich löschen. Wenn der Löschschutz aktiviert ist, müssen Sie vor dem Löschen des Benutzerpools bestätigen, dass er wirklich gelöscht werden soll. Wenn Sie einen Benutzerpool in der löschen AWS-Managementkonsole, können Sie gleichzeitig den Löschschutz deaktivieren. Wenn Sie die Aufforderung zur Deaktivierung des Löschschutzes akzeptieren und bestätigen, dass der Benutzerpool gelöscht werden soll, wie in der folgenden Abbildung dargestellt, löscht Amazon Cognito den Benutzerpool.

![\[Ein Screenshot aus dem AWS-Managementkonsole zeigt eine Aufforderung zum Löschen eines Benutzerpools mit einer enthaltenen Aufforderung, auch den Löschschutz zu deaktivieren.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/amazon-cognito-delete-user-pool-deactivate-deletion-protection.png)


Wenn Sie einen Benutzerpool mit einer Amazon Cognito Cognito-API-Anfrage löschen möchten, müssen Sie zunächst `Inactive` in einer [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)Anfrage `DeletionProtection` zu wechseln. Wenn Sie den Löschschutz nicht deaktivieren, gibt Amazon Cognito die Fehlermeldung `InvalidParameterException` zurück. Nachdem Sie den Löschschutz deaktiviert haben, können Sie den Benutzerpool in einer [DeleteUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteUserPool.html)Anfrage löschen.

Amazon Cognito aktiviert **Deletion protection** (Löschschutz) standardmäßig, wenn Sie einen neuen Benutzerpool in der AWS-Managementkonsole erstellen. Wenn Sie einen Benutzerpool mit der API `CreateUserPool` erstellen, ist der Löschschutz standardmäßig inaktiv. Um diese Funktion in Benutzerpools zu verwenden, die Sie mit dem AWS CLI oder einem AWS SDK erstellen, setzen Sie den `DeletionProtection` Parameter auf`True`.

Sie können den Löschschutzstatus im **Löschschutzcontainer** im Menü **Einstellungen** der Amazon Cognito Cognito-Konsole aktivieren oder deaktivieren.

# So konfigurieren Sie Löschschutz


1. Melden Sie sich bei der [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) an. Möglicherweise werden Sie zur Eingabe Ihrer AWS Anmeldeinformationen aufgefordert.

1. Wählen Sie **User Pools** (Benutzerpools) aus.

1. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus oder [erstellen Sie einen neuen Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html).

1. Wählen Sie das Menü **Einstellungen** und navigieren Sie zur Registerkarte **Löschschutz**. Wählen Sie **Aktivieren** oder **Deaktivieren**.

1. Bestätigen Sie Ihre Auswahl im nächsten Dialogfenster.

# Verwalten von Reaktionen auf Fehler bei vorhandenen Benutzern
<a name="cognito-user-pool-managing-errors"></a>

Amazon Cognito unterstützt die Anpassung von Fehlerantworten, die von Benutzerpools zurückgegeben werden. Benutzerdefinierte Fehlerantworten sind für die Erstellung und Authentifizierung von Benutzern, die Passwortwiederherstellung und Bestätigung verfügbar.

Verwenden Sie die `PreventUserExistenceErrors`-Einstellung eines Benutzerpool-App-Clients, um Fehler im Zusammenhang mit der Benutzerexistenz zu aktivieren oder zu deaktivieren. Wenn Sie einen neuen App-Client mit der Amazon Cognito Cognito-Benutzerpools-API erstellen`LEGACY`, `PreventUserExistenceErrors` ist diese standardmäßig oder deaktiviert. In der Amazon Cognito Cognito-Konsole `PreventUserExistenceErrors` ist die Option **Benutzerexistenzfehler verhindern** — eine Einstellung von `ENABLED` für — standardmäßig ausgewählt. Gehen Sie wie folgt vor, um Ihre `PreventUserExistenceErrors` Konfiguration zu aktualisieren:
+ Ändern Sie den Wert `PreventUserExistenceErrors` zwischen `ENABLED` und `LEGACY` in einer [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html)API-Anfrage.
+ Bearbeiten Sie Ihren App-Client in der Amazon Cognito Cognito-Konsole und ändern Sie den Status von **Prevent user existence errors** zwischen selected (`ENABLED`) und deselected (`LEGACY`).

Wenn diese Eigenschaft den Wert von hat`LEGACY`, gibt Ihr App-Client eine `UserNotFoundException` Fehlerantwort zurück, wenn ein Benutzer versucht, sich mit einem Benutzernamen anzumelden, der in Ihrem Benutzerpool nicht existiert.

Wenn diese Eigenschaft den Wert von hat`ENABLED`, gibt Ihr App-Client die Nichtexistenz eines Benutzerkontos in Ihrem Benutzerpool nicht mit einem `UserNotFoundException` Fehler an. Eine `PreventUserExistenceErrors` Konfiguration von `ENABLED` hat die folgenden Auswirkungen, wenn Sie eine Anfrage für einen Benutzernamen einreichen, der nicht existiert:
+ Amazon Cognito antwortet mit unspezifischen Informationen auf API-Anfragen, bei denen die Antwort andernfalls offenlegen könnte, dass ein gültiger Benutzer existiert.
+ Amazon Cognito gibt auf Anfragen mit vergessenen Passwörtern und auf Authentifizierungsanfragen mit Authentifizierungsabläufen, *außer bei wahlbasierter Authentifizierung ()`USER_AUTH`, eine generische Antwort auf Authentifizierungsfehler zurück —* [zum Beispiel](authentication-flows-selection-sdk.md#authentication-flows-selection-choice) oder. `USER_SRP_AUTH` `CUSTOM_AUTH` Die Fehlerantwort gibt an, dass der Benutzername oder das Passwort falsch ist.
+ Amazon Cognito beantwortet Anfragen nach einer wahlbasierten Authentifizierung mit einer zufälligen Auswahl aus den für den Benutzerpool zulässigen Challenge-Typen. Ihr Benutzerpool gibt möglicherweise einen Hauptschlüssel, ein Einmalpasswort oder eine Passwortabfrage zurück.
+ Das Verhalten der Amazon Cognito Cognito-Kontobestätigung und der Kennwortwiederherstellung APIs wechselt zwischen der Rückgabe einer Antwort, die besagt, dass ein Code an ein simuliertes Liefermedium gesendet wurde, und der Rückgabe eines Fehlers. `InvalidParameterException`

Die folgenden Informationen beschreiben das Verhalten von Benutzerpool-Vorgängen, wenn diese Option auf eingestellt `PreventUserExistenceErrors` ist. `ENABLED`

## Vorgänge zur Authentifizierung und Benutzererstellung
<a name="cognito-user-pool-managing-errors-user-auth"></a>

Sie können Fehlerantworten in der Benutzername-Passwort-Authentifizierung und der Secure Remote Password (SRP) -Authentifizierung konfigurieren. Sie können die Fehler, die Sie zurückgeben, auch mit der benutzerdefinierten Authentifizierung anpassen. Die wahlbasierte Authentifizierung wird von Ihrer Konfiguration nicht beeinflusst. `PreventUserExistenceErrors`Angaben zur Offenlegung der Existenz von Benutzern in Authentifizierungsabläufen

**Wahlbasierte Authentifizierung**  
Im `USER_AUTH` wahlbasierten Authentifizierungsablauf gibt Amazon Cognito je nach Konfiguration Ihres Benutzerpools und Benutzerattributen eine Anfrage anhand der verfügbaren primären Authentifizierungsfaktoren zurück. Bei diesem Authentifizierungsablauf können Abfragen wie Passwort, Secure Remote Password (SRP), WebAuthn (Passkey), SMS-Einmalpasswort (OTP) oder E-Mail-OTP zurückgegeben werden. Wenn diese Option `PreventUserExistenceErrors` aktiviert ist, fordert Amazon Cognito nicht existierende Benutzer auf, eine oder mehrere der verfügbaren Authentifizierungsformen auszufüllen. Bei `PreventUserExistenceErrors` inaktiv gibt Amazon Cognito eine `UserNotFound` Ausnahme zurück.

**Authentifizierung mit Benutzername und Passwort**  
Der Authentifizierungsfluss `ADMIN_USER_PASSWORD_AUTH` und der `PASSWORD` `USER_AUTH` Rückfluss a `NotAuthorizedException` mit der Meldung, `Incorrect username or password` wenn aktiv `PreventUserExistenceErrors` ist. `USER_PASSWORD_AUTH` Wenn inaktiv `PreventUserExistenceErrors` ist, kehren diese Flows zurück`UserNotFoundException`.

**Secure-Remote-Password-(SRP)-basierte Authentifizierung**  
Es hat sich bewährt, die Implementierung nur `PreventUserExistenceErrors` mit `USER_SRP_AUTH` oder `USER_AUTH` im `PASSWORD_SRP` Flow von Benutzerpools ohne E-Mail-Adresse, Telefonnummer oder bevorzugte [Alias-Attribute für Benutzernamen vorzunehmen](user-pool-settings-attributes.md#user-pool-settings-aliases). Benutzer mit Aliasattributen unterliegen möglicherweise nicht der Unterdrückung der Existenz von Benutzern im SRP-Authentifizierungsablauf. Benutzername-Kennwort-Authentifizierungsabläufe — `ADMIN_USER_PASSWORD_AUTH``USER_PASSWORD_AUTH`, und die `USER_AUTH` `PASSWORD` Herausforderung — verhindern vollständig die Existenz von Benutzern anhand von Aliasattributen.  
[Wenn jemand versucht, sich über SRP mit einem Benutzernamen anzumelden, der Ihrem App-Client nicht bekannt ist, gibt Amazon Cognito im ersten Schritt eine simulierte Antwort zurück, wie in RFC 5054 beschrieben.](https://tools.ietf.org/html/rfc5054#section-2.5.1.3) Amazon Cognito gibt dasselbe Salz und eine interne Benutzer-ID im [UUID-Format](cognito-terms.md#terms-uuid) für dieselbe Kombination aus Benutzername und Benutzerpool zurück. Wenn Sie eine `RespondToAuthChallenge`API-Anforderung mit einem Passwortnachweis senden, gibt Amazon Cognito einen generischen `NotAuthorizedException`-Fehler zurück, wenn der Benutzername oder das Passwort falsch ist. Weitere Informationen zur Implementierung der SRP-Authentifizierung finden Sie unter. [Melden Sie sich mit dauerhaften Passwörtern und sicherer Payload an](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-srp)  
[Sie können eine generische Antwort mit Benutzername und Kennwortauthentifizierung simulieren, wenn Sie verifizierungsbasierte Aliasattribute verwenden und der unveränderliche Benutzername nicht als UUID formatiert ist.](cognito-terms.md#terms-uuid)

**Lambda-Trigger für benutzerdefinierte Authentifizierungsanforderungen**  
Amazon Cognito ruft die [benutzerdefinierte Authentifizierungsherausforderung auf, die Lambda auslöst](user-pool-lambda-challenge.md), wenn Benutzer versuchen, sich mit dem `CUSTOM_AUTH` Authentifizierungsablauf anzumelden, ihr Benutzername jedoch nicht gefunden wird. Das Eingabeereignis enthält einen booleschen Parameter, der `UserNotFound` mit dem Wert für jeden nicht existierenden Benutzer benannt ist. `true` Dieser Parameter erscheint in den Anforderungsereignissen, die Ihr Benutzerpool an die Lambda-Funktionen Create, Define und Verify Auth Challenge sendet, die die benutzerdefinierte Authentifizierungsarchitektur bilden. Wenn Sie diesen Indikator in der Logik Ihrer Lambda-Funktion untersuchen, können Sie benutzerdefinierte Authentifizierungsherausforderungen für einen Benutzer simulieren, der nicht existiert.

**Lambda-Auslöser für die Vorab-Authentifizierung**  
Amazon Cognito ruft den [Vorauthentifizierungs-Trigger](user-pool-lambda-pre-authentication.md) auf, wenn Benutzer versuchen, sich anzumelden, ihr Benutzername jedoch nicht gefunden wird. Das Eingabeereignis enthält einen `UserNotFound` Parameter mit dem Wert `true` für jeden nicht existierenden Benutzer.

In der folgenden Liste werden die Auswirkungen von `PreventUserExistenceErrors` auf die Erstellung von Benutzerkonten beschrieben.Einzelheiten zur Offenlegung der Existenz von Benutzern in Abläufen zur Benutzererstellung

**SignUp**  
Die `SignUp` Operation kehrt immer zurück`UsernameExistsException`, wenn ein Benutzername bereits vergeben ist. Wenn Sie nicht möchten, dass Amazon Cognito bei der Registrierung von Benutzern in Ihrer App einen Fehler `UsernameExistsException` für E-Mail-Adressen und Telefonnummern zurückgibt, verwenden Sie verifizierungsbasierte Aliasattribute. Weitere Informationen zu Aliassen finden Sie unter [Anpassen von Anmeldeattributen](user-pool-settings-attributes.md#user-pool-settings-aliases).  
Ein Beispiel dafür, wie Amazon Cognito die Verwendung von API-Anforderungen `SignUp` zur Erkennung von Benutzern in Ihrem Benutzerpool verhindern kann, finden Sie unter [Vermeiden von Fehlern `UsernameExistsException` in Bezug auf E-Mail-Adressen und Telefonnummern bei der Registrierung](#cognito-user-pool-managing-errors-prevent-userexistence-errors).

**Importierte Benutzer**  
Wenn `PreventUserExistenceErrors` aktiviert ist, wird während der Authentifizierung importierter Benutzer ein allgemeiner `NotAuthorizedException`-Fehler zurückgegeben, der angibt, dass entweder der Benutzername oder das Kennwort falsch war, anstatt `PasswordResetRequiredException` zurückzugeben. Weitere Informationen finden Sie unter [Von importierten Benutzer verlangen, dass sie ihre Passwörter zurücksetzen](cognito-user-pools-using-import-tool.md#cognito-user-pools-using-import-tool-password-reset).

**Lambda-Auslöser für die Benutzermigration.**  
Amazon Cognito gibt eine simulierte Antwort für nicht vorhandene Benutzer zurück, wenn im ursprünglichen Ereigniskontext vom Lambda-Auslöser eine leere Antwort festgelegt wurde. Weitere Informationen finden Sie unter [Importieren von Benutzern mit einem Lambda-Auslöser für die Benutzermigration](cognito-user-pools-import-using-lambda.md). 

### Vermeiden von Fehlern `UsernameExistsException` in Bezug auf E-Mail-Adressen und Telefonnummern bei der Registrierung
<a name="cognito-user-pool-managing-errors-prevent-userexistence-errors"></a>

Das folgende Beispiel zeigt, wie Sie bei der Konfiguration von Aliasattributen in Ihrem Benutzerpool verhindern können, dass doppelte E-Mail-Adressen und Telefonnummern als Antwort auf die API-Anforderung `SignUp` den Fehler `UsernameExistsException` generieren. Sie müssen Ihren Benutzerpool mit einer E-Mail-Adresse oder Telefonnummer als Aliasattribut erstellt haben. Weitere Informationen finden Sie im Abschnitt *Anpassen von Anmeldeattributen* unter [Attribute für den Benutzerpool](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases).

1. Jie meldet sich mit einem neuen Benutzernamen an und gibt auch die E-Mail-Adresse `jie@example.com` an. Amazon Cognito sendet einen Code an seine E-Mail-Adresse.

   **Beispiel für einen AWS CLI Befehl**

   ```
   aws cognito-idp sign-up --client-id 1234567890abcdef0 --username jie --password PASSWORD --user-attributes Name="email",Value="jie@example.com"
   ```

   **Beispielantwort**

   ```
   {
       "UserConfirmed": false, 
       "UserSub": "<subId>", 
       "CodeDeliveryDetails": {
           "AttributeName": "email", 
           "Destination": "j****@e****", 
           "DeliveryMedium": "EMAIL"
       }
   }
   ```

1. Jie gibt den Code an, der ihm zur Bestätigung der E-Mail-Adresse zugesendet wurde. Damit ist seine Registrierung als Benutzer abgeschlossen.

   **Beispiel für einen AWS CLI Befehl**

   ```
   aws cognito-idp confirm-sign-up --client-id 1234567890abcdef0 --username=jie --confirmation-code xxxxxx
   ```

1. Shirley registriert ein neues Benutzerkonto und gibt die E-Mail-Adresse `jie@example.com` an. Amazon Cognito gibt keinen Fehler `UsernameExistsException` zurück und sendet einen Bestätigungscode an Jies E-Mail-Adresse.

   **Beispiel für einen AWS CLI Befehl**

   ```
   aws cognito-idp sign-up --client-id 1234567890abcdef0 --username shirley --password PASSWORD --user-attributes Name="email",Value="jie@example.com"
   ```

   **Beispielantwort**

   ```
   {
       "UserConfirmed": false, 
       "UserSub": "<new subId>", 
       "CodeDeliveryDetails": {
           "AttributeName": "email", 
           "Destination": "j****@e****", 
           "DeliveryMedium": "EMAIL"
       }
   }
   ```

1. In einem anderen Szenario ist Shirley Eigentümerin von `jie@example.com`. Shirley ruft den Code ab, den Amazon Cognito an Jies E-Mail-Adresse gesendet hat, und versucht, das Konto zu bestätigen.

   **Beispiel für einen AWS CLI Befehl**

   ```
   aws cognito-idp confirm-sign-up --client-id 1234567890abcdef0 --username=shirley --confirmation-code xxxxxx
   ```

   **Beispielantwort**

   ```
   An error occurred (AliasExistsException) when calling the ConfirmSignUp operation: An account with the email already exists.
   ```

Amazon Cognito gibt keinen Fehler auf Shirleys Anforderung `aws cognito-idp sign-up` zurück, obwohl `jie@example.com` einem vorhandenen Benutzer zugewiesen ist. Shirley muss nachweisen, dass die E-Mail-Adresse ihr gehört, bevor Amazon Cognito eine Fehlerantwort zurückgibt. In einem Benutzerpool mit Aliasattributen verhindert dieses Verhalten die Verwendung der öffentlichen `SignUp`-API, um zu überprüfen, ob ein Benutzer mit einer bestimmten E-Mail-Adresse oder Telefonnummer existiert.

Dieses Verhalten unterscheidet sich von der Antwort, die Amazon Cognito auf eine `SignUp`-Anforderung mit einem vorhandenen Benutzernamen zurückgibt, wie im folgenden Beispiel gezeigt wird. Shirley erfährt zwar aus dieser Antwort, dass ein Benutzer mit dem Benutzernamen `jie` bereits vorhanden ist, sie erfährt jedoch nichts über die mit dem Benutzer verknüpften E-Mail-Adressen oder Telefonnummern.

**CLI-Beispielbefehl**

```
aws cognito-idp sign-up --client-id 1example23456789 --username jie --password PASSWORD
      --user-attributes Name="email",Value="shirley@example.com"
```

**Beispielantwort**

```
An error occurred (UsernameExistsException) when calling the SignUp operation: User already exists
```

## Operationen zum Zurücksetzen des Passworts
<a name="cognito-user-pool-managing-errors-password-reset"></a>

Amazon Cognito gibt die folgenden Antworten auf Vorgänge zum Zurücksetzen von Benutzerpasswörtern zurück, wenn Sie Fehler bei vorhandenen Benutzern verhindern.

**ForgotPassword**  
Wenn ein Benutzer nicht gefunden wird, deaktiviert ist oder keinen verifizierten Übermittlungsmechanismus zum Wiederherstellen seines Kennworts hat, gibt Amazon Cognito `CodeDeliveryDetails` mit einem simulierten Bereitstellungsmedium für einen Benutzer zurück. Das simulierte Bereitstellungsmedium wird durch das Eingabe-Benutzernamensformat und die Verifizierungseinstellungen des Benutzerpools bestimmt.

**ConfirmForgotPassword**  
Amazon Cognito gibt den `CodeMismatchException`-Fehler für Benutzer zurück, die nicht vorhanden oder deaktiviert sind. Wenn bei der Verwendung von `ForgotPassword` kein Code angefordert wird, gibt Amazon Cognito den `ExpiredCodeException`-Fehler zurück.

## Bestätigungsoperationen
<a name="cognito-user-pool-managing-errors-confirmation"></a>

Amazon Cognito gibt die folgenden Antworten auf Vorgänge zum Bestätigen und Verifizieren von Benutzern zurück, wenn Sie Fehler bei vorhandenen Benutzern verhindern.

**ResendConfirmationCode**  
Amazon Cognito gibt `CodeDeliveryDetails` für einen deaktivierten oder einen nicht vorhandenen Benutzer zurück. Amazon Cognito sendet einen Bestätigungscode an die E-Mail- oder Telefonnummer des bestehenden Benutzers.

**ConfirmSignUp**  
 `ExpiredCodeException` gibt zurück, ob ein Code abgelaufen ist. Amazon Cognito gibt `NotAuthorizedException` zurück, wenn ein Benutzer nicht autorisiert ist. Wenn der Code nicht den Erwartungen des Servers entspricht, gibt Amazon Cognito `CodeMismatchException` zurück. 