

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.

# 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).