

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.

# Verwalten von Benutzern in Ihrem Benutzerpool
<a name="managing-users"></a>

Nachdem Sie einen Benutzerpool erstellt haben, können Sie Benutzerkonten erstellen, bestätigen und verwalten. Mit Amazon-Cognito-Benutzerpool-Gruppen können Sie Ihre Benutzer und ihren Zugriff auf Ressourcen durch die Zuweisung von IAM-Rollen zu Gruppen verwalten.

Die Verwaltung von Benutzern in Ihrem Amazon Cognito Cognito-Benutzerpool umfasst eine Vielzahl von Konfigurationsoptionen und Verwaltungsaufgaben. Benutzerpools können auf Millionen von Benutzern skaliert werden. Ein Benutzerverzeichnis dieser Größenordnung erfordert gleichermaßen skalierbare und wiederholbare Verwaltungstools. Möglicherweise möchten Sie viele Benutzerprofile erstellen, inaktive Benutzer verwalten, Governance- und Compliance-Berichte erstellen oder Self-Service-Tools einrichten, bei denen Benutzer die meiste Arbeit erledigen. Nachdem Sie einen Benutzerpool erstellt haben, können Sie steuern, wie Benutzer sich registrieren und ihre Konten bestätigen, einschließlich der Anforderung, dass E-Mail oder Telefonnummer verifiziert werden müssen. Administratoren können Benutzerkonten auch direkt erstellen und die Willkommensnachrichten und Kennwortanforderungen anpassen.

Benutzerpools verfügen über Benutzergruppen, in denen Sie den Zugriff auf Ressourcen auf der Grundlage der Gruppenmitgliedschaft eines Benutzers verwalten können. Sie können diesen Gruppen IAM-Rollen zuweisen, um den Zugriff AWS-Services mit Identitätspools zu verwalten. Die Gruppenmitgliedschaft der Benutzer ist sowohl in ID- als auch in Zugriffstoken enthalten. Mit diesen Informationen können Sie zur Laufzeit in Ihrer Anwendung oder mit einer Richtlinien-Engine wie Amazon Verified Permissions Entscheidungen zur Zugriffskontrolle treffen.

Benutzerpools haben oft viele Benutzer. Sie werden häufig nach Benutzerkonten suchen und diese aktualisieren müssen. Die Amazon Cognito Cognito-Konsole und die API unterstützen die Abfrage von Benutzern anhand von Standardattributen wie Benutzername, E-Mail und Telefonnummer. Administratoren können auch Passwörter zurücksetzen, Konten deaktivieren und den Verlauf von Benutzerereignissen einsehen.

Für die Migration vorhandener Benutzerdaten bietet Amazon Cognito Optionen zum Importieren von Benutzern aus einer CSV-Datei und zur Verwendung eines [Lambda-Triggers](user-pool-lambda-migrate-user.md), um Benutzer bei der ersten Anmeldung automatisch zu migrieren. Diese Optionen unterstützen Benutzerübergänge von anderen Benutzerverzeichnissen zu Ihrem Benutzerpool.

Sie können die Benutzerverwaltungsfunktionen in Benutzerpools verwenden, um eine genaue Kontrolle über den Benutzerlebenszyklus und die Authentifizierungserfahrung zu haben. Die Kombination aus Self-Service-Registrierung, vom Administrator erstellten Konten, Gruppen und Migrationstools macht Amazon Cognito Cognito-Benutzerpools zu einem flexiblen Benutzerverzeichnis.

**Topics**
+ [Konfigurieren von Richtlinien für die Benutzererstellung](user-pool-settings-admin-create-user-policy.md)
+ [Registrieren und Bestätigen von Benutzerkonten](signing-up-users-in-your-app.md)
+ [Erstellen von Benutzerkonten als Administrator](how-to-create-user-accounts.md)
+ [Hinzufügen von Gruppen zu einem Benutzerpool](cognito-user-pools-user-groups.md)
+ [Verwalten von und Suchen nach Benutzerkonten](how-to-manage-user-accounts.md)
+ [Passwörter, Kontowiederherstellung und Passwortrichtlinien](managing-users-passwords.md)
+ [Importieren von Benutzern in einen Benutzerpool](cognito-user-pools-import-users.md)
+ [Mit Benutzerattributen arbeiten](user-pool-settings-attributes.md)

# Konfigurieren von Richtlinien für die Benutzererstellung
<a name="user-pool-settings-admin-create-user-policy"></a>

Ihr Benutzerpool kann Benutzern gestatten, sich zu registrieren, oder Sie können sie als Administrator erstellen. Sie können auch kontrollieren, in welchem Umfang der Verifizierungs- und Bestätigungsprozess nach der Registrierung in den Händen Ihrer Benutzer liegt. Beispielsweise möchten Sie eventuell Anmeldungen auf der Grundlage eines externen Validierungsprozesses überprüfen und akzeptieren. Diese Konfiguration bzw. die *Richtlinie für die Benutzererstellung durch Administratoren* legt auch die Zeit fest, die vergehen muss, bevor ein Benutzer sein Benutzerkonto nicht mehr bestätigen kann.

Amazon Cognito kann als Customer Identity and Access Management (CIAM)-Plattform für Ihre Software die Anforderungen Ihrer öffentlichen Kunden erfüllen. Ein Benutzerpool, der Registrierungen akzeptiert und über einen App-Client mit oder ohne verwaltetes Login verfügt, erstellt ein Benutzerprofil für jeden Benutzer im Internet, der Ihre öffentlich auffindbare App-Client-ID kennt und eine Registrierung anfordert. Ein registriertes Benutzerprofil kann Zugriffs- und Identitätstoken erhalten und auf Ressourcen zugreifen, die Sie für Ihre App autorisiert haben. Bevor Sie die Registrierung in Ihrem Benutzerpool aktivieren, überprüfen Sie Ihre Optionen und stellen Sie sicher, dass die Konfiguration Ihren Sicherheitsstandards entspricht. Stellen Sie die Option **Selbstregistrierung aktivieren** und `AllowAdminCreateUserOnly` ein, wie in den folgenden Verfahren beschrieben; gehen Sie dabei vorsichtig vor.

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

Das **Anmeldemenü** Ihres Benutzerpools enthält einige Einstellungen für die Registrierung und administrative Erstellung von Benutzern in Ihrem Benutzerpool.

**So konfigurieren Sie die Anmeldeerfahrung**

1. Wählen Sie unter **Von Cognito unterstützte Überprüfung und Bestätigung** aus, ob Sie **Cognito erlauben, automatisch Nachrichten zur Überprüfung und Bestätigung zu senden**. Wenn diese Einstellung aktiviert ist, sendet Amazon Cognito eine E-Mail- oder SMS-Nachricht an neue Benutzer mit einem Code, den sie Ihrem Benutzerpool vorlegen müssen. Dadurch wird bestätigt, dass sie Eigentümer der E-Mail-Adresse oder Telefonnummer sind, das entsprechende Attribut wird als verifiziert festgelegt und das Benutzerkonto für die Anmeldung bestätigt. Die von Ihnen ausgewählten **Attribute zur Überprüfung** bestimmen die Zustellungsmethoden und Ziele der Bestätigungsnachrichten.

1. Die **Überprüfung von Attributänderungen** ist nicht wichtig, wenn Sie Benutzer erstellen, sondern bezieht sich auf die Überprüfung von Attributen. Sie können Benutzern, die ihre [Anmeldeattribute](user-pool-settings-attributes.md#user-pool-settings-aliases.title) geändert, aber noch nicht verifiziert haben, gestatten, sich weiterhin entweder mit ihrem neuen oder ihrem ursprünglichen Attributwert anzumelden. Weitere Informationen finden Sie unter [Verifizieren, wenn Benutzer ihre E-Mail-Adresse oder Telefonnummer ändern](signing-up-users-in-your-app.md#verifying-when-users-change-their-email-or-phone-number).

1. Unter **Erforderliche Attribute** werden die Attribute angezeigt, für die ein Wert angegeben werden muss, bevor sich ein Benutzer registrieren kann oder Sie einen Benutzer erstellen können. Sie können die erforderlichen Attribute nur festlegen, wenn Sie einen Benutzerpool erstellen.

1. **Benutzerdefinierte Attribute** sind wichtig für den Benutzererstellungs- und Anmeldeprozess, da Sie einen Wert für *unveränderliche* benutzerdefinierte Attribute nur dann festlegen können, wenn Sie zuvor einen Benutzer erstellt haben. Weitere Informationen zu benutzerdefinierten Attributen finden Sie unter [Custom attributes (Benutzerdefinierte Attribute)](user-pool-settings-attributes.md#user-pool-settings-custom-attributes).

1. Wählen Sie unter **Selbstregistrierung** die Option **Selbstregistrierung aktivieren** aus, wenn Sie möchten, dass Benutzer mit der [nicht authentifizierten](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html#user-pool-apis-auth-unauth) `SignUp`-API ein neues Konto erstellen können. Wenn Sie die Selbstregistrierung deaktivieren, können Sie neue Benutzer nur als Administrator, in der Amazon Cognito Cognito-Konsole oder mit [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html)API-Anfragen erstellen. **In einem Benutzerpool, in dem die Selbstregistrierung inaktiv ist, kehren [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)API-Anfragen zurück `NotAuthorizedException` und bei verwalteter Anmeldung wird kein Anmeldelink angezeigt.**

Für Benutzerpools, in denen Sie Benutzer als Administrator erstellen möchten, können Sie die Dauer ihrer temporären Passwörter in der Einstellung im Menü **Authentifizierungsmethoden** unter **Von Administratoren festgelegte temporäre Passwörter laufen ab in** konfigurieren.

Ein weiteres wichtiges Element bei der Erstellung von Benutzern als Administrator ist die Einladungsnachricht. Wenn Sie einen neuen Benutzer erstellen, sendet Amazon Cognito diesem eine Nachricht mit einem Link zu Ihrer App, damit er sich zum ersten Mal anmelden kann. Passen Sie diese Nachrichtenvorlage im Menü **Authentifizierungsmethoden** unter **Nachrichtenvorlagen an**.

Sie können [vertrauliche App-Clients](user-pool-settings-client-apps.md#user-pool-settings-client-app-client-types.title), in der Regel Webanwendungen, mit einem geheimen Client-Secret konfigurieren, das eine Anmeldung ohne das geheime App-Client-Secret verhindert. Aus Sicherheitsgründen sollten Sie App-Client-Secrets nicht auf öffentlichen App-Clients, die in der Regel mobile Apps sind, verteilen. Sie können App-Clients mit Client-Geheimnissen im **App-Client-Menü** der Amazon Cognito Cognito-Konsole erstellen.

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

Sie können die Parameter für die Erstellung von Benutzern in einem Benutzerpool programmgesteuert 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 festlegen.

Das [AdminCreateUserConfig](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AdminCreateUserConfig)Element legt Werte für die folgenden Eigenschaften eines Benutzerpools fest.

1. Aktivieren der Self-Service-Anmeldung

1. Die Einladungsnachricht, die Sie an neue vom Administrator erstellte Benutzer senden

Wird das folgende Beispiel zu einem vollständigen API-Anfragetext hinzugefügt, wird ein Benutzerpool mit inaktiver Self-Service-Registrierung und einer einfachen Einladungs-E-Mail eingerichtet.

```
"AdminCreateUserConfig": { 
      "AllowAdminCreateUserOnly": true,
      "InviteMessageTemplate": { 
         "EmailMessage": "Your username is {username} and temporary password is {####}.",
         "EmailSubject": "Welcome to ExampleApp",
         "SMSMessage": "Your username is {username} and temporary password is {####}."
      }
   }
```

Die folgenden zusätzlichen Parameter einer [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)API-Anfrage regeln die Erstellung neuer Benutzer.

[AutoVerifiedAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-AutoVerifiedAttributes)  
Die Attribute, E-Mail-Adressen oder Telefonnummern, an die Sie [automatisch eine Nachricht senden](user-pool-settings-email-phone-verification.md#user-pool-settings-email-phone-verification.title) möchten, wenn Sie einen neuen Benutzer registrieren.

[Richtlinien](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Policies)  
Die [Passwortrichtlinie](managing-users-passwords.md#user-pool-settings-policies.title) für den Benutzerpool.

[Schema](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Schema)  
Die [benutzerdefinierten Attribute](user-pool-settings-attributes.md#user-pool-settings-custom-attributes.title) des Benutzerpools. Diese sind wichtig für den Benutzererstellungs- und Anmeldeprozess, da Sie einen Wert für *unveränderliche* benutzerdefinierte Attribute nur dann festlegen können, wenn Sie zuvor einen Benutzer erstellt haben.  
Dieser Parameter legt auch die erforderlichen Attribute für Ihren Benutzerpool fest. Wird der folgende Text in das `Schema`-Element eines vollständigen API-Anforderungstexts eingefügt, wird das `email`-Attribut nach Bedarf festgelegt.  

```
{
            "Name": "email",
            "Required": true
}
```

------

# Registrieren und Bestätigen von Benutzerkonten
<a name="signing-up-users-in-your-app"></a>

Benutzerkonten können auf eine der folgenden Weisen einem Benutzerpool hinzugefügt werden:
+ Der Benutzer meldet sich in der Client-App Ihres Benutzerpools an. Dies kann eine mobile oder webbasierte App sein.
+ Sie können das Benutzerkonto in Ihren Benutzerpool importieren. Weitere Informationen finden Sie unter [Importieren von Benutzern aus einer CSV-Datei in Benutzerpools](cognito-user-pools-using-import-tool.md).
+ Sie können das Benutzerkonto in Ihrem Create a User Pool und den Benutzer einladen, sich anzumelden. Weitere Informationen finden Sie unter [Erstellen von Benutzerkonten als Administrator](how-to-create-user-accounts.md).

Benutzer, die sich selbst registrieren, müssen bestätigt werden, bevor sie sich anmelden können. Importierte und erstellte Benutzer sind bereits bestätigt, aber sie müssen ihr eigenes Passwort erstellen, wenn sie sich das erste Mal anmelden. In den folgenden Abschnitten werden der Bestätigungsprozess und die Verifizierung per E-Mail und Telefon erläutert.

**Passwörter bei der Anmeldung**  
Amazon Cognito verlangt Passwörter von allen Benutzern, wenn sie sich registrieren, außer unter den folgenden Bedingungen. Wenn *alle* diese Bedingungen erfüllt sind, können Sie Passwörter bei Anmeldevorgängen weglassen.

1. Die [passwortlose Anmeldung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) ist in Ihrem Benutzerpool und App-Client aktiv.

1. Ihre Anwendung wurde mit Authentifizierungsmodulen in einem SDK maßgeschneidert. AWS Für die verwaltete Anmeldung und die gehostete Benutzeroberfläche sind immer Passwörter erforderlich.

1. Benutzer geben Attributwerte für die kennwortlosen Anmeldemethoden — Einmalpasswörter für E-Mail oder SMS-Nachrichten () — an, die Sie zulassen. OTPs Wenn Sie beispielsweise die Anmeldung mit E-Mail und Telefon-OTP zulassen, können Benutzer entweder eine Telefonnummer oder eine E-Mail-Adresse angeben. Wenn Sie jedoch nur die Anmeldung mit E-Mail zulassen, müssen sie eine E-Mail-Adresse angeben.

1. Ihr Benutzerpool [überprüft automatisch](#allowing-users-to-sign-up-and-confirm-themselves) die Attribute, die Benutzer bei der kennwortlosen Anmeldung verwenden können.

1. [Für jede [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)Anfrage gibt der Benutzer keinen Wert für den Password-Parameter an.](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html#CognitoUserPools-SignUp-request-Password)

## Überblick über die Benutzerkonto-Bestätigung
<a name="signup-confirmation-verification-overview"></a>

Das folgende Diagramm illustriert den Bestätigungsprozess:

![\[Wenn Benutzer ihren Bestätigungscode eingeben, verifizieren sie automatisch ihre E-Mail-Adresse oder Telefonnummer.\]](http://docs.aws.amazon.com/de_de/cognito/latest/developerguide/images/amazon-cognito-sign-in-confirm-user.png)


Ein Benutzerkonto kann einen der folgenden Status aufweisen:

**Registriert (Unbestätigt)**  
Der Benutzer hat sich erfolgreich registriert, kann sich aber nicht anmelden, bis das Benutzerkonto bestätigt wird. Der Benutzer aktiviert ist, aber in diesem Status nicht bestätigt.  
Neue Benutzer, die sich selbst registrieren, starten in diesem Status.

**Bestätigt**  
Das Benutzerkonto ist bestätigt, und der Benutzer kann sich anmelden. Wenn ein Benutzer einen Code eingibt oder einem E-Mail-Link folgt, um sein Benutzerkonto zu bestätigen, wird die E-Mail-Adresse oder Telefonnummer automatisch verifiziert. Der Code oder Link ist 24 Stunden gültig.  
Wenn das Benutzerkonto vom Administrator oder einem Lambda-Auslöser vor der Anmeldung bestätigt wurde, ist möglicherweise keine verifizierte E-Mail-Adresse oder Telefonnummer mit dem Konto verknüpft.

**Zurücksetzen des Passworts erforderlich**  
Das Benutzerkonto ist bestätigt, aber der Benutzer muss einen Code anfordern und sein Passwort zurücksetzen, bevor er sich anmelden kann.  
Benutzerkonten, die von einem Administrator oder Entwickler importiert werden, starten in diesem Status.

**Ändern des Passworts erzwingen**  
Das Benutzerkonto ist bestätigt, und der Benutzer kann sich mit einem temporären Passwort anmelden, aber bei der ersten Anmeldung muss der Benutzer zunächst das Passwort ändern.  
Benutzerkonten, die von einem Administrator oder Entwickler erstellt werden, starten in diesem Status.

**Disabled**  
Bevor Sie ein Benutzerkonto löschen können, müssen Sie den Anmeldezugriff für diesen Benutzer deaktivieren.

**Weitere -Quellen**
+ [Erkennung und Behebung inaktiver Benutzerkonten mit Amazon Cognito](https://aws.amazon.com/blogs/security/detecting-and-remediating-inactive-user-accounts-with-amazon-cognito/)

## Überprüfen von Kontaktinformationen bei der Anmeldung
<a name="allowing-users-to-sign-up-and-confirm-themselves"></a>

Wenn sich neue Benutzer in Ihrer App anmelden, möchten Sie wahrscheinlich, dass sie mindestens eine Kontaktmethode angeben. Mit den Kontaktinformationen des Benutzers haben Sie zum Beispiel folgende Möglichkeiten:
+ Senden Sie ein temporäres Passwort, wenn ein Benutzer sein Passwort zurücksetzt.
+ Benachrichtigen der Benutzer, wenn deren persönliche oder finanziellen Daten aktualisiert werden
+ Senden von Werbemitteilungen, beispielsweise zu Sonderangeboten oder Rabatten
+ Senden von Kontoübersichten oder Zahlungserinnerungen

Für solche Anwendungsfälle müssen Sie Ihre Nachrichten unbedingt an ein Ziel senden, das überprüft wurde. Andernfalls senden Sie Ihre Nachrichten möglicherweise an eine ungültige E-Mail-Adresse oder falsch eingegebene Telefonnummer. Im schlimmsten Fall könnten Sie sogar sensible Daten an böswillige Angreifer übermitteln, die sich als Ihre Benutzer ausgeben.

Um sicherzustellen, dass Sie Nachrichten nur an die richtigen Personen senden, konfigurieren Sie den Amazon-Cognito-Benutzerpool so, dass die Benutzer Folgendes angeben müssen, wenn sie sich anmelden:

1. Eine E-Mail-Adresse oder Telefonnummer.

1. Einen Verifizierungscode, den Amazon Cognito an diese E-Mail-Adresse oder Telefonnummer sendet. Wenn 24 Stunden vergangen sind und der Code oder Link Ihres Benutzers nicht mehr gültig ist, rufen Sie den [ResendConfirmationCode](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ResendConfirmationCode.html)API-Vorgang auf, um einen neuen Code oder Link zu generieren und zu senden.

Durch die Angabe des Verifizierungscodes weist ein Benutzer nach, dass er über Zugriff auf das Postfach oder Telefon verfügt, welches den Code erhalten hat. Nachdem der Benutzer den Code angegeben hat, aktualisiert Amazon Cognito die Informationen über den Benutzer im Benutzerpool wie folgt:
+ Der Status des Benutzers wird auf festgelegt `CONFIRMED`.
+ Die Attribute des Benutzers werden aktualisiert, um anzugeben, dass die E-Mail-Adresse oder Telefonnummer bestätigt wurde.

Sie können diese Informationen in der Amazon-Cognito-Konsole anzeigen. Oder Sie können die `AdminGetUser` API-Operation, den `admin-get-user` Befehl mit dem AWS CLI oder eine entsprechende Aktion in einer der AWS SDKs.

Wenn ein Benutzer über eine überprüfte Kontaktmethode verfügt, sendet Amazon Cognito dem Benutzer automatisch eine Nachricht, wenn der Benutzer die Zurücksetzung des Passworts anfordert.

### Andere Aktionen, die Benutzerattribute bestätigen und verifizieren
<a name="allowing-users-to-sign-up-and-confirm-themselves-other-actions"></a>

Die folgende Benutzeraktivität überprüft Benutzerattribute. Sie müssen diese Attribute nicht für die automatische Überprüfung festlegen: Die aufgelisteten Aktionen kennzeichnen sie in allen Fällen als verifiziert.

**E-Mail-Adresse**  

1. Die [passwortlose Authentifizierung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) mit einem E-Mail-Einmalpasswort (OTP) wurde erfolgreich abgeschlossen.

1. Erfolgreicher Abschluss der [Multi-Faktor-Authentifizierung (MFA)](user-pool-settings-mfa.md) mit einem E-Mail-OTP.

**Phone number (Telefonnummer)**  

1. Erfolgreicher Abschluss der [passwortlosen Authentifizierung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) mit einem SMS-OTP.

1. Erfolgreicher Abschluss von [MFA](user-pool-settings-mfa.md) mit einem SMS-OTP.

### Benutzerpool für eine obligatorische Verifizierung der E-Mail-Adresse oder Telefonnummer konfigurieren
<a name="verification-configure"></a>

Wenn Sie die E-Mail-Adressen und Telefonnummern Ihrer Benutzer überprüfen, stellen Sie sicher, dass Sie Ihre Benutzer kontaktieren können. Gehen Sie wie folgt vor AWS-Managementkonsole , um Ihren Benutzerpool so zu konfigurieren, dass Ihre Benutzer ihre E-Mail-Adressen oder Telefonnummern bestätigen müssen.

**Anmerkung**  
Wenn Sie noch keinen Benutzerpool in Ihrem Konto eingerichtet haben, finden Sie weitere Informationen unter [Erste Schritte mit Benutzerpools](getting-started-user-pools.md).

**So konfigurieren Sie den Benutzerpool**

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

1. Wählen Sie im Navigationsbereich **User Pools** (Benutzerpools) aus. 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 **Anmeldemenü** und suchen Sie nach **Attributverifizierung und Benutzerkontobestätigung**. Wählen Sie **Bearbeiten** aus.

1. Wählen Sie unter **Von Cognito unterstützte Überprüfung und Bestätigung** aus, ob Sie **Cognito erlauben, automatisch Nachrichten zur Überprüfung und Bestätigung zu senden**. Wenn diese Einstellung aktiviert ist, sendet Amazon Cognito Nachrichten an die von Ihnen ausgewählten Benutzerkontaktattribute, wenn sich ein Benutzer anmeldet oder wenn Sie ein Benutzerprofil erstellen. Um Attribute zu überprüfen und Benutzerprofile für die Anmeldung zu bestätigen, sendet Amazon Cognito einen Code oder Link in Nachrichten an Benutzer. Die Benutzer müssen dann den Code in Ihre Benutzeroberfläche eingeben, damit Ihre App sie in einer `ConfirmSignUp`- oder `AdminConfirmSignUp`-API-Anfrage bestätigen kann.
**Anmerkung**  
Sie können **Cognito-assisted verification and confirmation** (Cognito-unterstütze Verifizierung und Bestätigung) auch deaktivieren und die authentifizierten API-Aktionen oder Lambda-Auslöser verwenden, um Attribute zu verifizieren und Benutzer zu bestätigen.  
Bei dieser Auswahl sendet Amazon Cognito keine Verifizierungscodes, wenn Benutzer sich anmelden. Aktivieren Sie diese Option, wenn Sie einen benutzerdefinierten Authentifizierungsablauf verwenden, der mindestens eine Kontaktmethode verifiziert, ohne Verifizierungscodes von Amazon Cognito zu nutzen. Sie könnten beispielsweise einen Lambda-Auslöser vor der Anmeldung verwenden, der automatisch E-Mail-Adressen verifiziert, die einer bestimmten Domäne angehören.  
Wenn Sie die Kontaktinformationen Ihrer Benutzer nicht verifizieren, können die Benutzer die App möglicherweise nicht verwenden. Beachten Sie, dass die Benutzer die folgenden Aktionen nur mit verifizierten Kontaktinformationen ausführen können:  
**Passwörter zurücksetzen** – Wenn ein Benutzer eine Option in Ihrer Anwendung auswählt, die die API-Aktion `ForgotPassword` abruft, sendet Amazon Cognito ein temporäres Passwort an die E-Mail-Adresse oder Telefonnummer des Benutzers. Amazon Cognito sendet dieses Kennwort nur, wenn der Benutzer über mindestens eine verifizierte Kontaktmethode verfügt.
**Anmeldung mit einer E-Mail-Adresse oder Telefonnummer als Alias** – Wenn Sie den Benutzerpool so konfigurieren, dass diese Alias zulässig sind, kann ein Benutzer sich nur mit einem Alias anmelden, wenn der Alias verifiziert wurde. Weitere Informationen finden Sie unter [Anpassen von Anmeldeattributen](user-pool-settings-attributes.md#user-pool-settings-aliases).

1. Wählen Sie Ihre **zu überprüfenden Attribute** aus:  
**SMS-Nachricht senden, Telefonnummer verifizieren**  
Amazon Cognito sendet einen Verifizierungscode in einer SMS-Nachricht, wenn der Benutzer sich anmeldet. Treffen Sie diese Auswahl, wenn Sie mit Ihren Benutzern normalerweise per SMS kommunizieren. Verifizierte Telefonnummern verwenden Sie beispielsweise zum Senden von Lieferbenachrichtigungen, Terminbestätigungen oder Warnungen. Benutzertelefonnummern sind das verifizierte Attribut, wenn Konten bestätigt werden. Sie müssen zusätzliche Maßnahmen ergreifen, um die E-Mail-Adressen der Benutzer zu überprüfen und mit ihnen zu kommunizieren.  
**E-Mail-Nachricht senden, E-Mail-Adresse überprüfen**  
Amazon Cognito sendet einen Verifizierungscode per E-Mail, wenn der Benutzer sich anmeldet. Wählen Sie diese Option aus, wenn Sie mit Ihren Benutzern in der Regel über E-Mail kommunizieren. Sie benötigen verifizierte E-Mail-Adressen zum Beispiel, wenn Sie Abrechnungen, Bestellübersichten oder Sonderangebote senden. Benutzertelefonnummern sind das verifizierte Attribut, wenn Konten bestätigt werden. Sie müssen zusätzliche Maßnahmen ergreifen, um die Telefonnummern der Benutzer zu überprüfen und mit ihnen zu kommunizieren.  
**SMS-Nachricht senden, wenn die Telefonnummer verfügbar ist, andernfalls E-Mail-Nachricht senden**  
Wählen Sie diese Option aus, wenn es nicht erforderlich ist, dass alle Benutzer über dieselbe verifizierte Kontaktmethode verfügen. In diesem Fall könnte die Anmeldeseite in Ihrer App die Benutzer dazu auffordern, nur ihre bevorzugte Kontaktmethode zu verifizieren. Beim Übermitteln eines Verifizierungscodes sendet Amazon Cognito den Code an die Kontaktmethode, die in der `SignUp`-Anforderung von Ihrer App bereitgestellt wird. Wenn ein Benutzer eine E-Mail-Adresse und eine Telefonnummer angibt und die App beide Kontaktmethoden in der `SignUp`-Anforderung übermittelt, sendet Amazon Cognito nur einen Verifizierungscode an die Telefonnummer.  
Wählen Sie diese Option aus, um festzulegen, dass die Benutzer sowohl eine E-Mail-Adresse als auch eine Telefonnummer verifizieren müssen. Amazon Cognito verifiziert eine Kontaktmethode, wenn sich der Benutzer anmeldet. Die App verifiziert die andere Kontaktmethode, nachdem sich der Benutzer angemeldet hat. Weitere Informationen finden Sie unter [Wenn die Benutzer sowohl E-Mail-Adressen als auch Telefonnummern bestätigen müssen](#verification-email-plus-phone).

1. Wählen Sie **Save Changes (Änderungen speichern)**.

### Authentifizierungsablauf mit Verifizierung per E-Mail oder Telefon
<a name="verification-flow"></a>

Wenn der Benutzerpool erfordert, dass die Benutzer ihre Kontaktinformationen verifizieren, muss Ihre Anwendung den folgenden Ablauf unterstützen, wenn sich ein Benutzer anmeldet:

1. Ein Benutzer registriert sich in Ihrer App, indem er einen Benutzernamen, eine Telefonnummer, eine and/or E-Mail-Adresse und möglicherweise andere Attribute eingibt.

1. Die Amazon-Cognito-Service erhält die Registrierungs-Anforderung von der App. Nachdem verifiziert wurde, dass die Anforderung alle für die Registrierung erforderlichen Attribute enthält, schließt der Service die Registrierung ab und sendet einen Bestätigungscode an die Telefonnummer (per SMS) oder E-Mail-Adresse des Benutzers. Der Code ist 24 Stunden gültig.

1. Der Service gibt der App zurück, dass die Registrierung abgeschlossen ist und die Bestätigung des Benutzerkontos noch ansteht. Die Antwort enthält Informationen darüber, wohin der Bestätigungscode gesendet wurde. An diesem Punkt ist das Benutzerkonto in einem unbestätigten Status, und die E-Mail-Adresse und Telefonnummer des Benutzers sind noch nicht verifiziert.

1. Die App kann jetzt den Benutzer dazu auffordern, den Bestätigungscode einzugeben. Der Benutzer muss den Code nicht sofort eingeben. Er kann sich jedoch erst anmelden, nachdem er den Bestätigungscode eingegeben hat.

1. Der Benutzer gibt den Bestätigungscode in die App ein.

1. Die App ruft [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html) auf und sendet den Code an den Amazon-Cognito-Service, welcher den Code verifiziert. Wenn der Code korrekt ist, wird das Konto des Benutzers bestätigt. Nach erfolgreicher Bestätigung des Benutzerkontos markiert der Amazon-Cognito-Service automatisch das zur Bestätigung verwendete Attribut (E-Mail-Adresse oder Telefonnummer) als verifiziert. Sofern der Wert dieses Attributs nicht geändert wird, muss der Benutzer es nicht erneut verifizieren.

1. An diesem Punkt ist das Benutzerkonto in einem bestätigten Status, und der Benutzer kann sich anmelden.

### Wenn die Benutzer sowohl E-Mail-Adressen als auch Telefonnummern bestätigen müssen
<a name="verification-email-plus-phone"></a>

Amazon Cognito verifiziert nur eine Kontaktmethode, wenn sich ein Benutzer anmeldet. In Fällen, in denen Amazon Cognito zwischen der Verifizierung einer E-Mail-Adresse oder Telefonnummer wählen muss, verifiziert der Service die Telefonnummer, indem er einen Verifizierungscode per SMS-Nachricht sendet. Wenn Sie beispielsweise den Benutzerpool so konfigurieren, dass Benutzern die Verifizierung über die E-Mail-Adresse oder Telefonnummer gestattet ist und wenn Ihre App beide Attribute bei der Anmeldung übermittelt, verifiziert Amazon Cognito nur die Telefonnummer. Nachdem ein Benutzer seine Telefonnummer verifiziert hat, setzt Amazon Cognito den Status des Benutzers auf `CONFIRMED` und der Benutzer darf sich bei der App anmelden.

Nachdem der Benutzer angemeldet ist, kann die App optional die Verifizierung der während der Anmeldung nicht verifizierten Kontaktmethode bereitstellen. Zur Überprüfung dieser zweiten Methode ruft die App die `VerifyUserAttribute`-API-Aktion auf. Beachten Sie, dass diese Aktion einen `AccessToken`-Parameter erfordert und Amazon Cognito nur authentifizierten Benutzern Zugriff auf Token bietet. Aus diesem Grund können Sie die zweite Kontaktmethode erst verifizieren, nachdem der Benutzer sich angemeldet hat.

Wenn es erforderlich ist, dass die Benutzer sowohl E-Mail-Adressen als auch Telefonnummern verifizieren, führen Sie die folgenden Schritte aus:

1. Konfigurieren Sie den Benutzerpool so, dass Benutzern die Verifizierung über die E-Mail-Adresse oder Telefonnummern gestattet ist.

1. Fordern Sie im Anmeldungsfluss für die App, dass die Benutzer eine E-Mail-Adresse und eine Telefonnummer angeben müssen. Rufen Sie die [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)-API-Aktion auf und stellen Sie die E-Mail-Adresse und Telefonnummer für den `UserAttributes`-Parameter bereit. An diesem Punkt sendet Amazon Cognito einen Verifizierungscode an das Telefon des Benutzers.

1. Zeigen Sie in der App-Oberfläche eine Bestätigungsseite an, auf der der Benutzer den Verifizierungscode eingibt. Bestätigen Sie den Benutzer durch Aufrufen der [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html)-API-Aktion. An diesem Punkt ist der Status des Benutzers `CONFIRMED`. Die Telefonnummer des Benutzers wurde verifiziert, jedoch nicht die E-Mail-Adresse.

1. Zeigen Sie die Anmeldeseite an und authentifizieren Sie den Benutzer durch Aufrufen der [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)-API-Aktion. Nachdem der Benutzer authentifiziert wurde, gibt Amazon Cognito ein Zugriffstoken an die App zurück.

1. Rufen Sie die [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUserAttributeVerificationCode.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUserAttributeVerificationCode.html)-API-Aktion auf. Geben Sie in der Anforderung die folgenden Parameter an:
   + `AccessToken` – Das von Amazon Cognito bei der Anmeldung des Benutzers zurückgegebene Zugriffstoken.
   + `AttributeName` – Legen Sie `"email"` als Attributwert fest.

   Amazon Cognito sendet einen Verifizierungscode an die E-Mail-Adresse des Benutzers.

1. Zeigen Sie eine Bestätigungsseite an, auf der der Benutzer den Verifizierungscode eingibt. Wenn der Benutzer den Code übermittelt, rufen Sie die [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifyUserAttribute.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifyUserAttribute.html)-API-Aktion auf. Geben Sie in der Anforderung die folgenden Parameter an:
   + `AccessToken` – Das von Amazon Cognito bei der Anmeldung des Benutzers zurückgegebene Zugriffstoken.
   + `AttributeName` – Legen Sie `"email"` als Attributwert fest.
   + `Code` – Der Verifizierungscode, den der Benutzer eingegeben hat.

   Die E-Mail-Adresse wurde jetzt verifiziert.

## Benutzern erlauben, sich in der Anwendung anzumelden, sie aber als Benutzerpool-Administrator bestätigen
<a name="signing-up-users-in-your-app-and-confirming-them-as-admin"></a>

Möglicherweise möchten Sie nicht, dass Ihr Benutzerpool automatisch Bestätigungsnachrichten an Ihren Benutzerpool sendet, möchten aber dennoch jedem ermöglichen, sich für ein Konto anzumelden. Dieses Modell bietet beispielsweise Spielraum für die manuelle Überprüfung neuer Anmeldeanfragen sowie für die Batch-Validierung und Bearbeitung von Anmeldungen. Sie können neue Benutzerkonten in der Amazon Cognito Cognito-Konsole oder mit dem IAM-authentifizierten API-Vorgang bestätigen. [AdminConfirmSignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminConfirmSignUp.html) Sie können Benutzerkonten als Administrator bestätigen, unabhängig davon, ob Ihr Benutzerpool Bestätigungsnachrichten sendet oder nicht.

Mit dieser Technik können Sie die Self-Service-Registrierung eines Benutzers nur bestätigen. Um einen Benutzer zu bestätigen, den Sie als Administrator erstellen, erstellen Sie eine [AdminSetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html)API-Anfrage mit der Einstellung auf. `Permanent` `True`

1. Ein Benutzer registriert sich in Ihrer App, indem er einen Benutzernamen, eine Telefonnummer, eine and/or E-Mail-Adresse und möglicherweise andere Attribute eingibt.

1. Die Amazon-Cognito-Service erhält die Registrierungs-Anforderung von der App. Nachdem Sie verifiziert haben, dass die Anforderung alle für die Anmeldung benötigten Attribute enthält, schließt der Service den Anmeldevorgang ab und gibt an die App zurück, dass die Anmeldung abgeschlossen ist, aber noch nicht bestätigt wurde. An diesem Punkt befindet sich das Benutzerkonto in einem unbestätigten Status. Der Benutzer kann nicht anmelden, bis das Konto bestätigt ist.

1. Bestätigen Sie das Konto des Benutzers. Sie müssen sich bei der API-Anfrage anmelden AWS-Managementkonsole oder Ihre API-Anfrage mit AWS Anmeldeinformationen unterschreiben, um das Konto zu bestätigen. 

   1. Um einen Benutzer in der Amazon Cognito Cognito-Konsole zu bestätigen, navigieren Sie zum Menü **Benutzer**, wählen Sie den Benutzer aus, den Sie bestätigen möchten, und wählen Sie im Menü **Aktionen** die Option **Bestätigen** aus.

   1. Um einen Benutzer in der AWS API oder CLI zu bestätigen, erstellen Sie eine [AdminConfirmSignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminConfirmSignUp.html)API-Anfrage oder [admin-confirm-sign-up](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-confirm-sign-up.html)in der AWS CLI.

1. An diesem Punkt ist das Benutzerkonto in einem bestätigten Status, und der Benutzer kann sich anmelden.

## Berechnen von Werten für geheime Hashes
<a name="cognito-user-pools-computing-secret-hash"></a>

Es ist eine bewährte Methode, Ihrem vertraulichen App-Client einen geheimen Client-Schlüssel zuzuweisen. Wenn Sie Ihrem App-Client einen geheimen Client-Schlüssel zuweisen, müssen API-Anforderungen Ihrer Amazon-Cognito-Benutzerpools einen Hash enthalten, der den geheimen Client-Schlüssel im Anforderungstext enthält. Um zu überprüfen, ob Sie den geheimen Client-Schlüssel für die API-Operationen in den folgenden Listen kennen, verketten Sie den geheimen Client-Schlüssel mit Ihrer App-Client-ID und dem Benutzernamen Ihres Benutzers und codieren Sie dann diese Zeichenfolge mit Base64.

Wenn Ihre App Benutzer bei einem Client anmeldet, der über einen geheimen Hash verfügt, können Sie den Wert eines beliebigen Benutzerpool-Anmeldeattributs als Benutzernamenselement des geheimen Hashs verwenden. Wenn Ihre App im Rahmen eines Authentifizierungsvorgangs mit `REFRESH_TOKEN_AUTH` neue Token anfordert, hängt der Wert des Benutzernamenselements von Ihren Anmeldeattributen ab. Wenn Ihr Benutzerpool nicht `username` als Anmeldeattribut hat, legen Sie den Wert für den geheimen Hash-Benutzernamen fest, der sich aus dem `sub`-Anspruch des Benutzers aus seinem Zugriffs- oder ID-Token ergibt. Wenn es sich bei `username` um ein Anmeldeattribut handelt, legen Sie den Wert für den geheimen Hash-Benutzernamen aus dem `username`-Anspruch fest.

Die folgenden Amazon Cognito Cognito-Benutzerpools APIs akzeptieren einen geheimen Client-Hashwert in einem Parameter. `SecretHash`
+ [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html)
+ [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmSignUp.html)
+ [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html)
+ [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ResendConfirmationCode.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ResendConfirmationCode.html)
+ [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)

Darüber hinaus APIs akzeptieren die folgenden Benutzer einen geheimen Client-Hashwert in einem `SECRET_HASH` Parameter, entweder in Authentifizierungsparametern oder in einer Challenge-Antwort.


| API-Operation | Übergeordneter Parameter für SECRET\$1HASH | 
| --- |--- |
| InitiateAuth | AuthParameters | 
| AdminInitiateAuth | AuthParameters | 
| RespondToAuthChallenge | ChallengeResponses | 
| AdminRespondToAuthChallenge | ChallengeResponses | 

Der Wert für den geheimen Hash ist ein Base 64-codierter Keyed-Hash Message Authentication Code (HMAC), der anhand des geheimen Schlüssels eines Benutzerpool-Clients und Benutzernamens plus der Client-ID in der Nachricht berechnet wird. Die folgende Pseudocode zeigt, wie dieser Wert berechnet wird. In diesem Pseudocode `HMAC_SHA256` steht er für eine `+` Verkettung, für eine Funktion, die mithilfe von Hmac einen HMAC-Wert erzeugt, und für eine FunktionSHA256, die eine Base-64-kodierte Version der `Base64` Hashausgabe erzeugt.

```
Base64 ( HMAC_SHA256 ( "Client Secret Key", "Username" + "Client Id" ) )
```

Eine ausführliche Übersicht über die Berechnung und Verwendung des `SecretHash` Parameters finden Sie unter [Wie behebe ich die Fehler „Unable to verify secret hash for client“ in meiner Amazon Cognito Cognito-Benutzerpools-API](https://aws.amazon.com/premiumsupport/knowledge-center/cognito-unable-to-verify-secret-hash/)<client-id>? im AWS Knowledge Center.

Sie können die folgenden Codebeispiele in Ihrem serverseitigen Anwendungscode verwenden.

------
#### [ Shell ]

```
echo -n "[username][app client ID]" | openssl dgst -sha256 -hmac [app client secret] -binary | openssl enc -base64
```

------
#### [ Java ]

```
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
 
public static String calculateSecretHash(String userPoolClientId, String userPoolClientSecret, String userName) {
    final String HMAC_SHA256_ALGORITHM = "HmacSHA256";
    
    SecretKeySpec signingKey = new SecretKeySpec(
            userPoolClientSecret.getBytes(StandardCharsets.UTF_8),
            HMAC_SHA256_ALGORITHM);
    try {
        Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM);
        mac.init(signingKey);
        mac.update(userName.getBytes(StandardCharsets.UTF_8));
        byte[] rawHmac = mac.doFinal(userPoolClientId.getBytes(StandardCharsets.UTF_8));
        return Base64.getEncoder().encodeToString(rawHmac);
    } catch (Exception e) {
        throw new RuntimeException("Error while calculating ");
    }
}
```

------
#### [ Python ]

```
import sys
import hmac, hashlib, base64 
username = sys.argv[1] 
app_client_id = sys.argv[2] 
key = sys.argv[3] 
message = bytes(sys.argv[1]+sys.argv[2],'utf-8') 
key = bytes(sys.argv[3],'utf-8') 
secret_hash = base64.b64encode(hmac.new(key, message, digestmod=hashlib.sha256).digest()).decode() 
print("SECRET HASH:",secret_hash)
```

------

## Bestätigen von Benutzerkonten ohne Verifizieren der E-Mail-Adresse oder Telefonnummer
<a name="confirming-user-without-verification-of-email-or-phone-number"></a>

Der Lambda-Auslöser vor der Registrierung kann verwendet werden, um Benutzerkonten bei der Registrierung automatisch zu bestätigen, ohne dass ein Bestätigungscode oder eine Verifizierung der E-Mail-Adresse oder Telefonnummer erforderlich ist. Benutzer, die auf diese Weise bestätigt werden, können sich sofort anmelden, ohne dass Sie einen Code benötigen.

Sie können über diesen Auslöser auch eine E-Mail-Adresse oder Telefonnummer als verifiziert markieren. 

**Anmerkung**  
Dieser Ansatz ist praktisch, um Benutzern bei den ersten Schritten zu helfen, doch wir empfehlen die automatische Verifizierung von mindestens E-Mail-Adresse oder Telefonnummer. Andernfalls kann der Benutzer nicht wiederhergestellt werden, wenn er sein Passwort vergisst.

Wenn Sie es nicht erfordern, dass der Benutzer bei der Registrierung einen Bestätigungscode erhält und eingibt und Sie E-Mail-Adresse und Telefonnummer nicht im Lambda-Auslöser vor der Registrierung automatisch verifizieren, riskieren Sie, dass Sie keine verifizierte E-Mail-Adresse oder Telefonnummer für das Benutzerkonto haben. Der Benutzer kann die E-Mail-Adresse oder Telefonnummer zu einem späteren Zeitpunkt verifizieren. Wenn der Benutzer jedoch sein Passwort vergisst und keine verifizierte E-Mail-Adresse oder Telefonnummer hat, wird der Benutzer aus dem Konto gesperrt, da der Ablauf für „Passwort vergessen“ eine verifizierte E-Mail-Adresse oder Telefonnummer erfordert, um einen Verifizierungscode an den Benutzer zu senden.

## Verifizieren, wenn Benutzer ihre E-Mail-Adresse oder Telefonnummer ändern
<a name="verifying-when-users-change-their-email-or-phone-number"></a>

In Benutzerpools, die Sie mit mehreren Anmeldenamen konfigurieren, können Benutzer bei der Anmeldung eine Telefonnummer oder eine E-Mail-Adresse als Benutzernamen eingeben. Wenn sie ihre E-Mail-Adresse oder Telefonnummer in Ihrer App aktualisieren, kann Amazon Cognito ihnen sofort eine Nachricht mit einem Code senden, der bestätigt, dass sie Eigentümer des neuen Attributwerts sind. Informationen zum Aktivieren des automatischen Versendens dieser Bestätigungscodes finden Sie unter. [Konfigurieren der Verifizierung per E-Mail und Telefon](user-pool-settings-email-phone-verification.md)

Benutzer, die einen Bestätigungscode erhalten, müssen diesen Code in einer [VerifyUserAttribute](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifyUserAttribute.html)Anfrage an Amazon Cognito zurücksenden. Nachdem sie den Code eingegeben haben, wird ihr Attribut als verifiziert markiert. Wenn Benutzer ihre E-Mail-Adresse oder Telefonnummer aktualisieren, sollten Sie in der Regel überprüfen, ob sie Eigentümer des neuen Werts sind, bevor sie ihn für die Anmeldung und den Empfang von Nachrichten verwenden können. Benutzerpools verfügen über eine konfigurierbare Option, mit der festgelegt wird, ob Benutzer Aktualisierungen ihrer E-Mail-Adresse oder Telefonnummer verifizieren müssen.

Bei dieser Option handelt es sich um eine Eigenschaft des Benutzerpools`AttributesRequireVerificationBeforeUpdate`. Konfigurieren Sie es in einer [CreateUserPool[UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html#CognitoUserPools-UpdateUserPool-request-UserAttributeUpdateSettings)](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-UserAttributeUpdateSettings)Oder-Anfrage oder mit der Einstellung **Ursprünglichen Attributwert aktiv lassen, wenn ein Update aussteht** im **Anmeldemenü** der Amazon Cognito Cognito-Konsole.

Wie Ihr Benutzerpool mit Aktualisierungen von E-Mail-Adressen und Telefonnummern umgeht, hängt von der Benutzernamenkonfiguration Ihres Benutzerpools ab. Benutzerpool-Benutzernamen können sich in einer Konfiguration mit *Benutzernamenattributen* befinden, bei der die Anmeldenamen E-Mail-Adresse, Telefonnummer oder beides sind. Sie können sich auch in einer *Alias-Attributkonfiguration* befinden, bei der das `username` Attribut ein Anmeldename zusammen mit E-Mail-Adresse, Telefonnummer oder bevorzugtem Benutzernamen als alternative Anmeldenamen ist. Weitere Informationen finden Sie unter [Anpassen von Anmeldeattributen](user-pool-settings-attributes.md#user-pool-settings-aliases).

 Sie können auch einen Lambda-Trigger für benutzerdefinierte Nachrichten verwenden, um die Bestätigungsnachricht anzupassen. Weitere Informationen finden Sie unter [Lambda-Auslöser für benutzerdefinierte Nachrichten](user-pool-lambda-custom-message.md). Wenn die E-Mail-Adresse oder Telefonnummer eines Benutzers nicht verifiziert ist, sollte Ihre Anwendung den Benutzer darüber informieren, dass er das Attribut überprüfen muss, und eine Schaltfläche oder einen Link bereitstellen, über den Benutzer ihren Bestätigungscode eingeben können.

In der folgenden Tabelle wird beschrieben, wie `AttributesRequireVerificationBeforeUpdate` und wie die Aliaseinstellungen das Ergebnis bestimmen, wenn Benutzer den Wert ihrer Anmeldeattribute ändern.


| Konfiguration des Benutzernamens | Verhalten, wenn Benutzer neue Attribute verifizieren müssen | Verhalten, wenn Benutzer keine neuen Attribute verifizieren müssen | 
| --- | --- | --- | 
| Benutzernamenattribute | Das ursprüngliche Attribut bleibt verifiziert, berechtigt zur Anmeldung und hat seinen ursprünglichen Wert. Wenn der Benutzer einen neuen Wert verifiziert, aktualisiert Amazon Cognito den Attributwert, markiert ihn als verifiziert und macht ihn für die Anmeldung berechtigt. | Amazon Cognito aktualisiert das Attribut auf einen neuen Wert. Ein neuer Wert ist für die Anmeldung berechtigt. Wenn der Benutzer einen neuen Wert verifiziert, markiert Amazon Cognito ihn als verifiziert. | 
| Aliasattribute | Das ursprüngliche Attribut bleibt verifiziert, berechtigt zur Anmeldung und hat den ursprünglichen Wert. Wenn der Benutzer einen neuen Wert verifiziert, aktualisiert Amazon Cognito den Attributwert, markiert ihn als verifiziert und macht ihn für die Anmeldung berechtigt. | Amazon Cognito aktualisiert das Attribut auf einen neuen Wert. Weder der ursprüngliche noch der neue Attributwert sind für die Anmeldung berechtigt. Wenn der Benutzer einen neuen Wert verifiziert, aktualisiert Amazon Cognito den Attributwert, markiert ihn als verifiziert und macht ihn für die Anmeldung berechtigt. | 

**Beispiel 1**  
Benutzer 1 meldet sich mit der E-Mail-Adresse bei Ihrer Anwendung an `user1@example.com` und hat den Benutzernamen `user1` (Alias-Attribute). Ihr Benutzerpool ist so konfiguriert, dass Aktualisierungen der Anmeldeattribute überprüft und automatisch Bestätigungsnachrichten gesendet werden. Sie bitten darum, ihre E-Mail-Adresse auf zu `user1+foo@example.com` aktualisieren. Sie erhalten eine Bestätigungs-E-Mail unter `user1+foo@example.com` und *können sich nur mit der E-Mail-Adresse erneut anmelden*`user1@example.com`. Später geben sie ihren Bestätigungscode ein und können sich nur mit der E-Mail-Adresse erneut anmelden`user1+foo@example.com`.

**Beispiel 2**  
Benutzer 2 meldet sich mit der E-Mail-Adresse bei Ihrer Anwendung an `user2@example.com` und hat einen Benutzernamen (Alias-Attribute). Ihr Benutzerpool ist so konfiguriert, dass Aktualisierungen der Anmeldeattribute *nicht* überprüft und Bestätigungsnachrichten automatisch gesendet werden. Sie bitten darum, ihre E-Mail-Adresse auf zu `user2+bar@example.com` aktualisieren. Sie erhalten eine Bestätigungs-E-Mail unter `user2+bar@example.com` und *können sich nicht erneut anmelden*. Später geben sie ihren Bestätigungscode ein und können sich nur mit der E-Mail-Adresse erneut anmelden`user2+bar@example.com`.

**Beispiel 3**  
Benutzer 3 meldet sich mit der E-Mail-Adresse bei Ihrer Anwendung an `user3@example.com` und hat keinen Benutzernamen (Benutzernamenattribute). Ihr Benutzerpool ist so konfiguriert, dass Aktualisierungen der Anmeldeattribute *nicht* überprüft und Bestätigungsnachrichten automatisch gesendet werden. Sie bitten darum, ihre E-Mail-Adresse auf zu `user3+baz@example.com` aktualisieren. Sie erhalten eine Bestätigungs-E-Mail unter`user3+baz@example.com`, *können sich aber sofort anmelden*, ohne dass zusätzliche Maßnahmen mit dem Bestätigungscode ergriffen werden müssen.

## Bestätigungs- und Verifizierungsprozesse für Benutzerkonten, die durch Administratoren und Entwickler erstellt wurden
<a name="confirmation-and-verification-of-users-whose-accounts-youve-created"></a>

Benutzerkonten, die von einem Administrator oder Entwickler erstellt werden, haben bereits den Status "Bestätigt", sodass die Benutzer keinen Bestätigungscode eingeben müssen. Die Einladungsnachricht sendet, die der Amazon-Cognito-Service an diese Benutzer sendet, schließt den Benutzernamen und ein temporäres Kennwort ein. Der Benutzer muss das Passwort ändern, bevor er sich anmelden kann. Weitere Informationen finden Sie unter [Anpassen von E-Mail- und SMS-Nachrichten](how-to-create-user-accounts.md#creating-a-new-user-customize-messages) in [Erstellen von Benutzerkonten als Administrator](how-to-create-user-accounts.md) und dem Custom Message-Auslöser in [Anpassen von Benutzerpool-Workflows mit Lambda-Auslösern](cognito-user-pools-working-with-lambda-triggers.md).

## Bestätigungs- und Verifizierungsprozesse für importierte Benutzerkonten
<a name="confirmation-and-verification-of-users-whose-accounts-youve-imported"></a>

Benutzerkonten, die mithilfe der Benutzerimportfunktion in der CLI oder der AWS-Managementkonsole API (siehe[Importieren von Benutzern aus einer CSV-Datei in Benutzerpools](cognito-user-pools-using-import-tool.md)) erstellt wurden, befinden sich bereits im Status „Bestätigt“, sodass Benutzer keinen Bestätigungscode eingeben müssen. Es wird keine Einladungsnachricht gesendet. Importierte Benutzerkonten verlangen von Benutzern jedoch, zunächst einen Code durch Aufruf der `ForgotPassword`-API anzufordern und dann ein Kennwort mit dem zugestellten Code zu erstellen, indem Sie die `ConfirmForgotPassword` API aufrufen, bevor sie sich anmelden. 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).

Die E-Mail-Adresse oder Telefonnummer des Benutzers muss als verifiziert markiert werden, wenn das Benutzerkonto importiert wird, damit beim Anmelden des Benutzers keine Verifizierung verlangt wird.

## Senden von E-Mails beim Testen der App
<a name="managing-users-accounts-email-testing"></a>

Amazon Cognito sendet E-Mail-Nachrichten an Ihre Benutzer, wenn sie ihre Konten in der Client-App für Ihren Benutzerpool erstellen und verwalten. Wenn Sie den Benutzerpool so konfigurieren, dass die E-Mail-Verifizierung erforderlich ist, sendet Amazon Cognito in folgenden Fällen eine E-Mail:
+ Ein Benutzer meldet sich an.
+ Ein Benutzer ändert seine E-Mail-Adresse.
+ Ein Benutzer führt eine Aktion aus, die die `ForgotPassword`-API-Aktion aufruft.
+ Sie erstellen ein Benutzerkonto als Administrator.

Abhängig von der Aktion, die die E-Mail initiiert, enthält die E-Mail einen Verifizierungscode oder ein temporäres Passwort. Ihre Benutzer müssen diese E-Mails empfangen und die Nachricht verstehen. Andernfalls können sie sich u. U. nicht anmelden und Ihre App verwenden.

Um sicherzustellen, dass E-Mails erfolgreich gesendet werden und die Nachricht korrekt ist, testen Sie die Aktionen in der App, die das Senden von E-Mails durch Amazon Cognito initiieren. Beispiel: Über die Anmeldeseite in der App oder mithilfe der `SignUp`-API-Aktion können Sie eine E-Mail initiieren, indem Sie sich mit einer Test-E-Mail-Adresse anmelden. Wenn Sie auf diese Weise einen Test ausführen, beachten Sie Folgendes:

**Wichtig**  
Wenn Sie eine E-Mail-Adresse verwenden, um Aktionen zu testen, die E-Mails von Amazon Cognito initiieren, verwenden Sie keine gefälschte E-Mail-Adresse (ohne Postfach). Verwenden Sie eine echte E-Mail-Adresse, die die E-Mail von Amazon Cognito empfängt, ohne dass eine *permanente Unzustellbarkeit* auftritt.  
Eine permanente Unzustellbarkeit kommt zustande, wenn Amazon Cognito die E-Mail nicht an das Postfach des Empfängers liefern kann. Wenn das Postfach nicht vorhanden ist, ist das immer der Fall.  
Amazon Cognito begrenzt die Anzahl der E-Mails, die von AWS Konten gesendet werden können, bei denen es ständig zu Hard-Bounces kommt.

Wenn Sie Aktionen testen, die E-Mails initiieren, verwenden Sie eine der folgenden E-Mail-Adressen, um permanente Unzustellbarkeiten zu vermeiden:
+ Eine Adresse für ein E-Mail-Konto, das Sie besitzen und für Tests verwenden. Wenn Sie Ihre eigene E-Mail-Adresse verwenden, erhalten Sie die E-Mail, die Amazon Cognito sendet. Mit dieser E-Mail können Sie den Verifizierungscode zum Testen der Anmeldung in Ihrer App nutzen. Wenn Sie die E-Mail-Nachricht für den Benutzerpool angepasst haben, können Sie überprüfen, ob Ihre Anpassungen korrekt dargestellt werden.
+ Die Adresse des Postfachsimulators, *success@simulator.amazonses.com*. Wenn Sie die Simulatoradresse verwenden, sendet Amazon Cognito die E-Mail erfolgreich. Sie können sie aber nicht ansehen. Diese Option ist nützlich, wenn Sie den Verifizierungscode nicht benötigen und die E-Mail-Nachricht nicht überprüfen müssen.
+ Die Adresse des Postfachsimulators, der eine beliebige Bezeichnung hinzugefügt wird, zum Beispiel *success\$1user1@simulator.amazonses.com* oder *success\$1user2@simulator.amazonses.com*. Amazon Cognito sendet diese Adressen erfolgreich per E-Mail, aber Sie können die gesendeten E-Mails nicht anzeigen. Diese Option ist nützlich, wenn Sie den Anmeldevorgang durch Hinzufügen mehrerer Testbenutzer zum Benutzerpool testen möchten und jeder Testbenutzer über eine eindeutige E-Mail-Adresse verfügt.

# Konfigurieren der Verifizierung per E-Mail und Telefon
<a name="user-pool-settings-email-phone-verification"></a>

Im Menü **Authentifizierungsmethoden können Sie Einstellungen für die E-Mail- oder Telefonverifizierung** auswählen. Weitere Informationen zur Multi-Faktor-Authentifizierung (MFA) finden Sie unter [SMS-MFA](user-pool-settings-mfa-sms-email-message.md).

Amazon Cognito verwendet Amazon SNS zum Senden von SMS-Nachrichten. Wenn Sie noch keine SMS-Nachricht von Amazon Cognito oder einem anderen AWS-Service gesendet haben, platziert Amazon SNS Ihr Konto möglicherweise in der SMS-Sandbox. Wir empfehlen Ihnen, eine Testnachricht an eine verifizierte Telefonnummer zu senden, bevor Sie Ihr Konto aus der Sandbox an die Produktion übergeben. Wenn Sie vorhaben, SMS-Nachrichten an US-Zieltelefonnummern zu senden, müssen Sie außerdem eine Ursprungs- oder Sender-ID von Amazon Pinpoint erhalten. Informationen zum Konfigurieren Ihres Amazon-Cognito-Benutzerpools für SMS-Nachrichten finden Sie unter [Einstellungen für SMS-Nachrichten für Amazon-Cognito-Benutzerpools](user-pool-sms-settings.md).

Amazon Cognito kann E-Mail-Adressen und Telefonnummern automatisch verifizieren. Für diese Verifizierung sendet Amazon Cognito einen Verifizierungscode oder einen Verifizierungslink. Bei E-Mail-Adressen kann Amazon Cognito einen Code oder einen Link in einer E-Mail-Nachricht senden. Sie können einen ****Bestätigungscode**** oder **Link** wählen, wenn Sie Ihre Vorlage für **Bestätigungsnachrichten im Menü **Nachrichtenvorlagen**** in der Amazon Cognito Cognito-Konsole bearbeiten. Weitere Informationen finden Sie unter [Anpassen von Nachrichten zur E-Mail-Verifizierung](cognito-user-pool-settings-message-customizations.md#cognito-user-pool-settings-email-verification-message-customization).

Bei Telefonnummern sendet Amazon Cognito einen Code in einer SMS-Textnachricht.

Amazon Cognito muss eine Telefonnummer oder E-Mail-Adresse verifizieren, um Benutzer zu bestätigen und ihnen bei der Wiederherstellung vergessener Passwörter zu helfen. Alternativ können Sie Benutzer automatisch mit dem Lambda-Trigger vor der Registrierung bestätigen oder den [AdminConfirmSignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminConfirmSignUp.html)API-Vorgang verwenden. Weitere Informationen finden Sie unter [Registrieren und Bestätigen von Benutzerkonten](signing-up-users-in-your-app.md).

Der Verifizierungscode oder -link ist 24 Stunden lang gültig.

Wenn Sie die Verifizierung einer E-Mail-Adresse oder Telefonnummer fordern, sendet Amazon Cognito automatisch den Verifizierungscode oder -link, wenn sich ein Benutzer anmeldet. Wenn im Benutzerpool [Benutzerdefinierter Lambda-Auslöser für SMS-Sender](user-pool-lambda-custom-sms-sender.md) oder [Benutzerdefinierter Lambda-Auslöser für E-Mail-Sender](user-pool-lambda-custom-email-sender.md) konfiguriert ist, wird diese Funktion stattdessen aufgerufen.

**Hinweise**  
SMS-Nachrichten für die Überprüfung von Telefonnummern werden von Amazon SNS separat in Rechnung gestellt. Es fallen keine Gebühren für das Senden von E-Mail-Nachrichten an. Weitere Informationen zu den Amazon-SNS-Preisen erhalten Sie unter [Weltweite SMS-Preise](https://aws.amazon.com/sns/sms-pricing/). Eine aktuelle Liste von Ländern, in denen SMS-Messaging verfügbar ist, finden Sie in den Informationen zu den [unterstützten Regionen und Ländern](https://docs.aws.amazon.com/sns/latest/dg/sms_supported-countries.html). 
Wenn Sie Aktionen in Ihrer App testen, die E-Mails von Amazon Cognito generieren, verwenden Sie eine echte E-Mail-Adresse, die Amazon Cognito ohne permanente Unzustellbarkeiten erreichen kann. Weitere Informationen finden Sie unter [Senden von E-Mails beim Testen der App](signing-up-users-in-your-app.md#managing-users-accounts-email-testing).
Der Ablauf zu einem vergessenen Passwort setzt voraus, dass die E-Mail-Adresse des Benutzers oder die Telefonnummer des Benutzers verifiziert wird.

**Wichtig**  
Wenn sich ein Benutzer sowohl mit einer Telefonnummer als auch mit einer E-Mail-Adresse anmeldet und Ihre Benutzerpooleinstellungen die Verifizierung beider Attribute vorschreiben, sendet Amazon Cognito einen Verifizierungscode per SMS-Nachricht an die Telefonnummer. Amazon Cognito hat die E-Mail-Adresse noch nicht verifiziert, daher muss Ihre App anrufen, [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html)um zu erfahren, ob eine E-Mail-Adresse noch bestätigt werden muss. Wenn eine Bestätigung erforderlich ist, muss die App anrufen, [GetUserAttributeVerificationCode](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUserAttributeVerificationCode.html)um den E-Mail-Bestätigungsprozess einzuleiten. Anschließend muss sie den Bestätigungscode telefonisch einreichen [VerifyUserAttribute](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerifyUserAttribute.html).

Sie können Ihr Ausgabenkontingent für SMS-Nachrichten für eine AWS-Konto und für einzelne Nachrichten anpassen. Die Limits gelten nur für die Kosten für das Senden von SMS-Nachrichten. Weitere Informationen finden Sie unter **Was sind Ausgabenkontingente auf Konto- und Nachrichtenebene und wie** funktionieren sie? im [Amazon SNS. FAQs](https://aws.amazon.com/sns/faqs/)

Amazon Cognito sendet SMS-Nachrichten mithilfe von Amazon SNS SNS-Ressourcen entweder in dem Land, in AWS-Region dem Sie den Benutzerpool erstellt haben, oder in einer **älteren Amazon SNS SNS-Alternativregion** aus der folgenden Tabelle. Die Ausnahme sind Amazon-Cognito-Benutzerpools in der Region Asien-Pazifik (Seoul). Diese Benutzerpools verwenden Ihre Amazon-SNS-Konfiguration in der Region Asien-Pazifik (Tokio). Weitere Informationen finden Sie unter [Wählen Sie AWS-Region für SMS-Nachrichten](user-pool-sms-settings.md#sms-choose-a-region).


| Amazon-Cognito-Region | Veraltete alternative Amazon-SNS-Region | 
| --- | --- | 
| US East (Ohio) | USA Ost (Nord-Virginia) | 
| Asia Pacific (Mumbai) | Asien-Pazifik (Singapur) | 
| Asia Pacific (Seoul) | Asien-Pazifik (Tokio) | 
| Canada (Central) | USA Ost (Nord-Virginia) | 
| Europe (Frankfurt) | Europa (Irland) | 
| Europe (London) | Europa (Irland) | 

**Beispiel:**Wenn sich Ihr Amazon-Cognito-Benutzerpool in der Region Asien-Pazifik (Mumbai) befindet und Sie Ihr Ausgabenlimit in ap-southeast-1 erhöht haben, möchten Sie möglicherweise keine separate Erhöhung in ap-southeast-1 beantragen. Stattdessen können Sie Ihre Amazon-SNS-Ressourcen in Asien-Pazifik (Singapur) verwenden. 

## Verifizieren von Aktualisierungen von E-Mail-Adressen und Telefonnummern
<a name="user-pool-settings-verifications-verify-attribute-updates"></a>

Ein E-Mail-Adress- oder Telefonnummernattribut kann sofort aktiv und nicht verifiziert werden, sobald Ihr Benutzer seinen Wert geändert hat. Amazon Cognito kann auch verlangen, dass Ihr Benutzer den neuen Wert verifiziert, bevor Amazon Cognito das Attribut aktualisiert. Wenn Sie verlangen, dass Ihre Benutzer zuerst den neuen Wert verifizieren, können diese den ursprünglichen Wert für die Anmeldung und den Empfang von Nachrichten verwenden, bis sie den neuen Wert bestätigen.

Wenn Ihre Benutzer ihre E-Mail-Adresse oder Telefonnummer als Anmeldealias in Ihrem Benutzerpool verwenden können, hängt ihr Anmeldename für ein aktualisiertes Attribut davon ab, ob Sie die Verifizierung aktualisierter Attribute verlangen. Wenn Benutzer ein aktualisiertes Attribut bestätigen müssen, kann sich ein Benutzer mit dem ursprünglichen Attributwert anmelden, bis er den neuen Wert verifiziert hat. Wenn Sie nicht verlangen, dass Benutzer ein aktualisiertes Attribut verifizieren, kann sich ein Benutzer weder mit dem neuen noch mit dem ursprünglichen Attributwert anmelden oder Nachrichten empfangen, bis er den neuen Wert bestätigt hat. 

Ihr Benutzerpool ermöglicht beispielsweise die Anmeldung mit einem E-Mail-Adressalias und verlangt, dass Benutzer ihre E-Mail-Adresse bei der Aktualisierung verifizieren. Sue, die sich als `sue@example.com` anmeldet, möchte ihre E-Mail-Adresse in `sue2@example.com` ändern, gibt aber versehentlich `ssue2@example.com` ein. Sue erhält die Verifizierungs-E-Mail nicht, daher kann sie `ssue2@example.com` nicht bestätigen. Sue meldet sich als `sue@example.com` an und sendet das Formular in Ihrer App erneut, um ihre E-Mail-Adresse in `sue2@example.com` zu ändern. Sie erhält diese E-Mail, stellt Ihrer App den Bestätigungscode zur Verfügung und beginnt, sich als `sue2@example.com` anzumelden. 

**Wenn Benutzer ein Attribut aktualisieren und Ihr Benutzerpool neue Attributwerte verifiziert**
+ Benutzer können sich mit dem ursprünglichen Attributwert anmelden, bevor sie den Code bestätigt haben, um den neuen Wert zu verifizieren.
+ Sie können sich nur mit dem neuen Attributwert anmelden, nachdem sie den Code bestätigt haben, um den neuen Wert zu verifizieren.
+ Wenn Sie `true` in einer [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)API-Anfrage `email_verified` oder `phone_number_verified` auf festlegen, können sie sich anmelden, bevor sie den Code bestätigt haben, den Amazon Cognito an sie gesendet hat.

**Wenn Benutzer ein Attribut aktualisieren und Ihr Benutzerpool neue Attributwerte nicht verifiziert**
+ Benutzer können sich nicht mit dem ursprünglichen Attributwert anmelden oder Nachrichten empfangen.
+ Sie können sich nicht mit dem neuen Attributwert anmelden oder Nachrichten nur mit einem Bestätigungscode empfangen, bevor sie den Code bestätigt haben, um den neuen Wert zu verifizieren.
+ Wenn Sie `true` in einer [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)API-Anfrage `email_verified` oder `phone_number_verified` auf festlegen, können sie sich anmelden, bevor sie den Code bestätigt haben, den Amazon Cognito an sie gesendet hat.

## Verlangen Sie eine Attributverifizierung wie folgt, wenn Benutzer ihre E-Mail-Adresse oder Telefonnummer aktualisieren


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 Anmeldedaten ein.

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 im **Anmeldemenü** unter **Attributverifizierung und Bestätigung des Benutzerkontos** die Option **Bearbeiten** aus.

1. Wählen Sie **Keep original attribute value active when an update is pending** (Ursprünglichen Attributwert aktiv lassen, wenn ein Update aussteht) aus.

1. Wählen Sie unter **Active attribute values when an update is pending** (Aktive Attributwerte, wenn ein Update aussteht) die Attribute aus, die Ihre Benutzer verifizieren müssen, bevor Amazon Cognito den Wert aktualisiert.

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

Um eine Überprüfung der Attributaktualisierung mit der Amazon Cognito Cognito-API zu verlangen, können Sie den `AttributesRequireVerificationBeforeUpdate` Parameter in einer [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)Anfrage festlegen.

## Autorisieren Sie Amazon Cognito zum Senden von SMS in Ihrem Auftrag.
<a name="user-pool-settings-verifications-iam-role-for-sms"></a>

Amazon Cognito benötigt Ihre Zustimmung, um in Ihrem Auftrag SMS-Nachrichten an Benutzer zu senden. Um diese Berechtigung zu erteilen, können Sie eine AWS Identity and Access Management (IAM-) Rolle erstellen. Wählen Sie im Menü **Authentifizierungsmethoden** der Amazon Cognito Cognito-Konsole unter SMS die Option **Bearbeiten** aus, um eine Rolle festzulegen.

# Konfiguration von MFA-, Authentifizierungs-, Überprüfungs- und Einladungsnachrichten
<a name="cognito-user-pool-settings-message-customizations"></a>

Mit Amazon Cognito können Sie die SMS- und E-Mail-Authentifizierung, Verifizierung und Benutzereinladungsnachrichten individuell anpassen, um die Sicherheit und Benutzererfahrung Ihrer Anwendung zu verbessern. Bei einigen Nachrichten können Sie zwischen codebasierter Linküberprüfung und Linküberprüfung mit nur einem Klick wählen. In diesem Thema wird erläutert, wie Sie die Authentifizierungs- und Bestätigungskommunikation in der Amazon Cognito Cognito-Konsole personalisieren können. 

Im Menü **Nachrichtenvorlagen** können Sie Folgendes anpassen:
+ Ihre E-Mail- und SMS-Nachrichtenvorlagen für Einmalpasswort (OTP) und Multi-Faktor-Authentifizierung (MFA)
+ Ihrer Nachrichten zur SMS- und E-Mail-Verifizierung
+ Der Verifizierungstyp für den E-Mail-Code oder -Link
**Anmerkung**  
Amazon Cognito sendet Links mit Ihrer linkbasierten Vorlage in den Bestätigungsnachrichten, wenn sich Benutzer registrieren oder einen Bestätigungscode erneut senden. E-Mails aus Vorgängen zur Aktualisierung von Attributen und zum Zurücksetzen von Kennwörtern verwenden die Codevorlage.
+ Ihre Nachrichten zur Einladung von Benutzern
+ Absender- und Empfänger-E-Mail-Adressen für E-Mails des Benutzerpools

**Anmerkung**  
Die Vorlagen für SMS- und E-Mail-Bestätigungsnachrichten werden nur angezeigt, wenn Sie ausgewählt haben, dass die Bestätigung von Telefonnummer und E-Mail erforderlich ist. Auch die Vorlage der SMS-MFA-Nachricht wird nur angezeigt, wenn die MFA-Einstellung als **erforderlich** oder **optional** festgelegt ist.

**Topics**
+ [Nachrichtenvorlagen](#cognito-user-pool-settings-message-templates)
+ [E-Mail- und SMS-MFA-Nachrichten anpassen](#cognito-user-pool-settings-SMS-message-customization)
+ [Anpassen von Nachrichten zur E-Mail-Verifizierung](#cognito-user-pool-settings-email-verification-message-customization)
+ [Anpassen von Nachrichten zur Einladung von Benutzern](#cognito-user-pool-settings-user-invitation-message-customization)
+ [Anpassen Ihrer E-Mail-Adresse](#cognito-user-pool-settings-email-address-customization)
+ [Autorisieren von Amazon Cognito zum Senden von Amazon-SES-E-Mails in Ihrem Auftrag (über eine benutzerdefinierte Absender-E-Mail-Adresse)](#cognito-user-pool-settings-ses-authorization-to-send-email)

## Nachrichtenvorlagen
<a name="cognito-user-pool-settings-message-templates"></a>

Sie können Nachrichtenvorlagen verwenden, um Platzhalter in Ihre Nachrichten einzufügen. Amazon Cognito ersetzt die Platzhalter durch die entsprechenden Werte. Sie können in Nachrichtenvorlagen beliebigen Typs auf *Platzhalter für universelle* Vorlagen verweisen, obwohl diese Werte nicht in allen Nachrichtentypen vorhanden sein werden.


**Universelle Platzhalter für Vorlagen**  

|  Description  |  Token  | Nachrichtentyp | 
| --- | --- | --- | 
| Verifizierungscode | \$1\$1\$1\$1\$1\$1 | Überprüfungs-, Bestätigungs- und MFA-Nachrichten | 
| Temporäres Passwort | \$1\$1\$1\$1\$1\$1 | Passwort und Einladungsnachrichten vergessen | 
| Benutzername | \$1username\$1 | Einladung und erweiterte Sicherheitsnachrichten | 

Eine der verfügbaren automatisierten Antworten mit [Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md) besteht darin, den Benutzer darüber zu informieren, dass Amazon Cognito potenziell bösartige Aktivitäten entdeckt hat. Sie können die Platzhalter in der Vorlage für die erweiterte Sicherheit für folgende Zwecke verwenden:
+ Einfügen von Details zu einem Ereignis, wie IP-Adresse, Stadt, Land, Anmeldezeitpunkt und Gerätename. Amazon Cognito Threat Protection kann diese Details analysieren.
+ Bestätigen, ob ein Klicklink gültig ist
+ Verwenden Sie die Ereignis-ID, das Feedback-Token und den Benutzernamen zum Erstellen eigener Klicklinks.

**Anmerkung**  
Sie müssen bereits über eine konfigurierte Domain für Ihren Benutzerpool verfügen, um Klicklinks zu generieren und die Platzhalter `{one-click-link-valid}` und `{one-click-link-invalid}` in erweiterten Sicherheits-E-Mail-Vorlagen verwenden zu können.

Threat Protection fügt die folgenden Platzhalter hinzu, die Sie in die Nachrichtenvorlagen einfügen können. Diese Platzhalter gelten für **Nachrichten zur adaptiven Authentifizierung**, d. h. Benachrichtigungen, die Amazon Cognito an Benutzer sendet, deren Sitzungen auf ein gewisses Risiko hin bewertet wurden. Um Nachrichtenvorlagen mit diesen Variablen zu konfigurieren, aktualisieren Sie die **Vollfunktionskonfiguration** Ihres Bedrohungsschutzes in der Amazon Cognito Cognito-Konsole oder reichen Sie Vorlagen in einer Anfrage ein [SetRiskConfiguration](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetRiskConfiguration.html).


**Platzhalter in der Vorlage für die erweiterte Sicherheit**  

|  Beschreibung  |  Token  | 
| --- | --- | 
| IP-Adresse | \$1ip-address\$1 | 
| Ort | \$1city\$1 | 
| Country (Land) | \$1country\$1 | 
| Anmeldezeit | \$1login-time\$1 | 
| Gerätename | \$1device-name\$1 | 
| Klicklink ist gültig | \$1one-click-link-valid\$1 | 
| Klicklink ist ungültig | \$1one-click-link-invalid\$1 | 
| Ereignis-ID | \$1event-id\$1 | 
| Feedback-Token | \$1feedback-token\$1 | 

## E-Mail- und SMS-MFA-Nachrichten anpassen
<a name="cognito-user-pool-settings-SMS-message-customization"></a>

Um die SMS- und E-Mail-Nachrichten für die [Multi-Faktor-Authentifizierung (MFA)](user-pool-settings-mfa.md) anzupassen, bearbeiten Sie die **MFA-Nachricht** im Menü **Nachrichtenvorlagen** in der Amazon Cognito Cognito-Benutzerpools-Konsole.

**Wichtig**  
Die benutzerdefinierte Nachricht muss den `{####}`-Platzhalter enthalten. Dieser Platzhalter wird mit dem Authentifizierungscode ersetzt, bevor die Nachricht gesendet wird.

Amazon Cognito legt eine maximale Länge für SMS-Nachrichten, einschließlich des Authentifizierungscodes, von 140 UTF-8-Zeichen fest.

### Anpassen von Nachrichten zur SMS-Verifizierung
<a name="cognito-user-pool-settings-SMS-verification-message-customization"></a>

Um die SMS-Nachricht für die Überprüfung der Telefonnummer anzupassen, bearbeiten Sie die Vorlage für die **Bestätigungsnachricht** **im Menü Nachrichtenvorlagen** Ihres Benutzerpools.

**Wichtig**  
Die benutzerdefinierte Nachricht muss den `{####}`-Platzhalter enthalten. Der Platzhalter wird mit dem Verifizierungscode ersetzt, bevor die Nachricht gesendet wird.

Die maximale Nachrichtenlänge beträgt 140 UTF-8-Zeichen, einschließlich des Verifizierungscodes.

## Anpassen von Nachrichten zur E-Mail-Verifizierung
<a name="cognito-user-pool-settings-email-verification-message-customization"></a>

Um die E-Mail-Adresse eines Benutzers in Ihrem Benutzerpool mit Amazon Cognito zu überprüfen, können Sie dem Benutzer eine E-Mail-Nachricht mit einem Link senden, den er auswählen kann, oder Sie können ihm einen Code senden, den er eingeben kann.

Um den E-Mail-Betreff und den Nachrichteninhalt für Bestätigungsnachrichten der E-Mail-Adresse anzupassen, bearbeiten Sie die Vorlage für **Bestätigungsnachrichten** im Menü **Nachrichtenvorlagen** Ihres Benutzerpools. Sie können einen **Verifizierungstyp** bzw. **Code** oder **Link** auswählen, wenn Sie Ihre Vorlage **Verifizierungsnachrichten** bearbeiten.

Wenn Sie **Code** als Verifizierungstyp ausgewählt haben, muss Ihre benutzerdefinierte Nachricht den Platzhalter `{####}` enthalten. Dieser Platzhalter wird mit dem Verifizierungscode ersetzt, wenn Sie die Nachricht senden.

Wenn Sie **Link** als Verifizierungstyp ausgewählt haben, muss Ihre benutzerdefinierte Nachricht den Platzhalter im Format `{##Verify Your Email##}` enthalten. Sie können die Textzeichenfolge zwischen den Platzhalterzeichen ändern, z. B.: `{##Click here##}`. Dieser Platzhalter wird durch einen Verifizierungslink mit dem Titel *Verifizieren Ihrer E-Mail-Adresse* ersetzt.

Der Link für eine E-Mail-Bestätigungsnachricht leitet Ihren Benutzer zu einer URL weiter, wie im folgenden Beispiel gezeigt.

```
https://<your user pool domain>/confirmUser/?client_id=abcdefg12345678&user_name=emailtest&confirmation_code=123456
```

Die maximale Nachrichtenlänge liegt bei 20 000 UTF-8-Zeichen, einschließlich des Verifizierungscodes (falls vorhanden). Sie können in dieser Nachricht HTML-Tags verwenden, um den Inhalt zu formatieren.

## Anpassen von Nachrichten zur Einladung von Benutzern
<a name="cognito-user-pool-settings-user-invitation-message-customization"></a>

Sie können die Benutzereinladungsnachricht, die Amazon Cognito an neue Benutzer per SMS oder E-Mail sendet, anpassen, indem Sie die Vorlage für **Einladungsnachrichten** im Menü **Nachrichtenvorlagen** bearbeiten.

**Wichtig**  
Die benutzerdefinierte Nachricht muss die Platzhalter `{username}` und `{####}` enthalten. Beim Versenden der Einladungsnachricht ersetzt Amazon Cognito diese Platzhalter durch den Benutzernamen und das Passwort Ihres Benutzers.

Die maximale Länge einer SMS-Nachricht, einschließlich des Verifizierungscodes, beträgt 140 UTF-8-Zeichen. Die maximale Länge einer E-Mail-Nachricht, einschließlich des Verifizierungscodes, beträgt 20 000 UTF-8-Zeichen. Sie können in den E-Mail-Nachrichten HTML-Tags verwenden, um den Inhalt zu formatieren.

## Anpassen Ihrer E-Mail-Adresse
<a name="cognito-user-pool-settings-email-address-customization"></a>

Standardmäßig stammen die E-Mail-Nachrichten, die Amazon Cognito an Benutzer in Ihren Benutzerpools sendet, von der Adresse **no-reply@verificationemail.com**. Sie können personalisierte Absender-E-Mail-Adressen und Empfänger-E-Mail-Adressen angeben, die anstelle von **no-reply@verificationemail.com** verwendet werden sollen.

**So passen Sie die E-Mail-Adressen für FROM und REPLY-TO an**

1. Navigieren Sie zur [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) und wählen Sie **User Pools** (Benutzerpools) aus.

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

1. Wählen Sie das Menü **Authentifizierungsmethoden**. Wählen Sie unter **Email** (E-Mail) die Option **Edit** (Bearbeiten) aus.

1. Wählen Sie eine **SES-Region** aus.

1. Wählen Sie eine **FROM email address** (Absender-E-Mail-Adresse) aus der Liste der E-Mail-Adressen aus, die Sie bei Amazon SES in der ausgewählten **SES Region** (SES-Region) verifiziert haben. Um eine E-Mail-Adresse von einer verifizierten Domain zu verwenden, konfigurieren Sie die E-Mail-Einstellungen in der AWS Command Line Interface oder der AWS API. Weitere Informationen finden Sie unter [Verifizieren von E-Mail-Adressen und Domänen in Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html) im *Entwicklerhandbuch für Amazon Simple Email Service*.

1. Wählen Sie einen **Konfigurationssatz** aus der Liste von Konfigurationssätzen in Ihrer ausgewählten **SES-Region** aus.

1. Geben Sie einen **Absendernamen** für Ihre E-Mail-Nachrichten im Format `John Stiles <johnstiles@example.com>` ein.

1. Um die Antwort-E-Mail-Adresse anzupassen, geben Sie eine gültige E-Mail-Adresse in das Feld **Antwort-E-Mail-Adresse** ein.

## Autorisieren von Amazon Cognito zum Senden von Amazon-SES-E-Mails in Ihrem Auftrag (über eine benutzerdefinierte Absender-E-Mail-Adresse)
<a name="cognito-user-pool-settings-ses-authorization-to-send-email"></a>

Sie können Amazon Cognito so konfigurieren, dass es E-Mails von einer benutzerdefinierten Absender-E-Mail-Adresse anstelle von seiner Standardadresse sendet. Um eine benutzerdefinierte Adresse zu verwenden, müssen Sie Amazon Cognito die Berechtigung erteilen, E-Mail-Nachrichten von einer von Amazon SES verifizierten Identität zu senden. In den meisten Fällen können Sie die Berechtigung erteilen, indem Sie eine Sendeautorisierungsrichtlinie erstellen. Weitere Informationen finden Sie unter [Using sending authorization with Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html) (Verwenden der Sendeautorisierung mit Amazon SES) im *Entwicklerhandbuch für Amazon Simple Email Service*. 

Wenn Sie einen Benutzerpool für die Verwendung von Amazon SES für E-Mail-Nachrichten konfigurieren, erstellt Amazon Cognito die `AWSServiceRoleForAmazonCognitoIdpEmailService`-Rolle in Ihrem Konto, um Zugriff auf Amazon SES zu gewähren. Es ist keine Berechtigungsrichtlinie für das Senden von Berechtigungen erforderlich, wenn die servicegebundene `AWSServiceRoleForAmazonCognitoIdpEmailService`-Rolle verwendet wird. Sie müssen nur eine Versandautorisierungsrichtlinie hinzufügen, wenn Sie sowohl die Standard-E-Mail-Funktionalität in Ihrem Benutzerpool verwenden *als auch* eine verifizierte Amazon-SES-Identität als Absenderadresse.

Weitere Informationen zur serviceverknüpften Rolle, die Amazon Cognito erstellt, finden Sie unter [Verwendung von serviceverknüpften Rollen für Amazon Cognito](using-service-linked-roles.md).

Das folgende Beispiel für eine Sendeautorisierungsrichtlinie gewährt Amazon Cognito die eingeschränkte Möglichkeit, eine von Amazon SES verifizierte Identität zu verwenden. Amazon Cognito kann nur dann E-Mail-Nachrichten senden, wenn es diese Funktion für den Benutzerpool in der `aws:SourceArn`-Bedingung als auch für das Konto in der `aws:SourceAccount`-Bedingung übernimmt. Weitere Beispiele finden Sie unter [Beispiele von Amazon-SES-Sendeautorisierungsrichtlinien](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policy-examples.html) im *Entwicklerhandbuch für Amazon Simple Email Service*.

**Anmerkung**  
In diesem Beispiel ist der Wert "Sid" eine beliebige Zeichenfolge, die die Anweisung eindeutig identifiziert. Weitere Informationen zur Richtliniensyntax finden Sie unter [Amazon-SES-Sendeautorisierungsrichtlinien](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html) im *Entwicklerhandbuch für Amazon Simple Email Service*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "stmnt1234567891234",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "email.cognito-idp.amazonaws.com"
                ]
            },
            "Action": [
                "SES:SendEmail",
                "SES:SendRawEmail"
            ],
            "Resource": "arn:aws:ses:us-east-1:111122223333:identity/support@example.com",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:cognito-idp:us-east-1:111122223333:userpool/us-east-1_EXAMPLE"
                }
            }
        }
    ]
}
```

------

Die Amazon-Cognito-Konsole fügt eine ähnliche Richtlinie für Sie hinzu, wenn Sie im Dropdown-Menü eine Amazon-SES-Identität auswählen. Wenn Sie den Benutzerpool mit der CLI oder der API konfigurieren, müssen Sie eine Richtlinie an Ihre Amazon-SES-Identität anfügen, die wie das vorherige Beispiel strukturiert ist.

# Erstellen von Benutzerkonten als Administrator
<a name="how-to-create-user-accounts"></a>

Benutzerpools sind nicht nur ein CIAM-Benutzerverzeichnis (Customer Identity and Access Management), in dem sich jeder im Internet für ein Benutzerprofil in Ihrer Anwendung registrieren kann. Sie können die Self-Service-Registrierung deaktivieren. Möglicherweise kennen Sie Ihre Kunden bereits und möchten nur Kunden zulassen, die im Voraus autorisiert wurden. Sie können Ihre Anwendung mit einem [privaten SAML 2.0- oder OIDC-Identitätsanbieter](cognito-user-pools-identity-federation.md) manuell authentifizieren, indem Sie [Benutzer importieren, Benutzer](cognito-user-pools-import-users.md) [bei der Registrierung überprüfen oder Benutzer mit administrativen API-Vorgängen](user-pool-lambda-pre-sign-up.md) erstellen. Ihr Workflow für die administrative Erstellung von Benutzern kann programmatisch sein und Benutzer nach der Registrierung in einem anderen System bereitstellen, oder er kann auf case-by-case oder Testbasis in der Amazon Cognito Cognito-Konsole erfolgen.

Wenn Sie Benutzer als Administrator erstellen, legt Amazon Cognito ein temporäres Passwort für sie fest und sendet eine Willkommens- oder Einladungsnachricht. Sie können dem Link in ihrer Einladungsnachricht folgen und sich zum ersten Mal anmelden, ein Passwort festlegen und ihr Konto bestätigen. Auf der folgenden Seite wird beschrieben, wie Sie neue Benutzer erstellen und die Willkommensnachricht konfigurieren. Weitere Informationen zur Benutzererstellung mit der Benutzerpools-API und einem AWS SDK oder CDK finden Sie unter [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html).

Nachdem Sie Ihren Benutzerpool erstellt haben, können Sie Benutzer sowohl mit der AWS-Managementkonsole Amazon Cognito API als auch mit der AWS Command Line Interface oder der Amazon Cognito API erstellen. Sie können ein Profil für einen neuen Benutzer in einem Create a User Pool und eine Willkommensnachricht mit Anmeldeinformationen an den Benutzer per SMS oder E-Mail senden.

Im Folgenden finden Sie einige Beispiele dafür, wie Administratoren Benutzer in Benutzerpools verwalten können.
+ Erstellen Sie ein neues Benutzerprofil in der Amazon Cognito Cognito-Konsole oder mit der `AdminCreateUser` API-Operation.
+ Stellen Sie username-and-password Ihrem Benutzerpool und App-Client Authentifizierungsabläufe ohne Passwort, Hauptschlüssel und benutzerdefinierte [Authentifizierungsabläufe](amazon-cognito-user-pools-authentication-flow-methods.md) zur Verfügung.
+ Legen Sie Benutzerattributwerte fest.
+ Erstellen Sie benutzerdefinierte Attribute.
+ Legen Sie den Wert unveränderlicher [benutzerdefinierter Attribute](user-pool-settings-attributes.md#user-pool-settings-custom-attributes) in API-Anfragen fest. `AdminCreateUser` Dieses Feature ist in der Amazon-Cognito-Konsole nicht verfügbar.
+ Geben Sie ein temporäres Passwort an, erstellen Sie einen Benutzer ohne Passwort oder erlauben Sie Amazon Cognito, automatisch ein Passwort zu generieren.
+ Erstellen Sie neue Benutzer und bestätigen Sie automatisch ihre Konten, verifizieren Sie ihre E-Mail-Adressen oder ihre Telefonnummern.
+ Geben Sie benutzerdefinierte SMS- und E-Mail-Einladungsnachrichten für neue Benutzer über die AWS-Managementkonsole oder Lambda-Trigger wie [benutzerdefinierte Nachricht](user-pool-lambda-custom-message.md), [benutzerdefinierter SMS-Absender](user-pool-lambda-custom-sms-sender.md) und [benutzerdefinierter E-Mail-Absender an](user-pool-lambda-custom-email-sender.md).
+ Angeben, ob Einladungs-Nachrichten per SMS, E-Mail oder beides gesendet werden.
+ Begrüßungsnachricht an einen vorhandenen Benutzer erneut senden, indem die `AdminCreateUser`-API aufgerufen und `RESEND` für den `MessageAction`-Parameter festgelegt wird.
+ [Unterdrücken](#admincreateuserwalkthrough-step-invitationmessage) Sie das Senden der Einladungsnachricht, wenn der Benutzer erstellt wird.
+ Geben Sie eine Ablaufzeit von bis zu 90 Tagen für neue Benutzerkonten an.
+ Benutzer gestatten, sich anzumelden, oder verlangen, dass neue Benutzer nur durch den Administrator hinzugefügt werden.

Administratoren können Benutzer auch mit AWS Anmeldeinformationen in einer serverseitigen Anwendung anmelden. Weitere Informationen finden Sie unter [Autorisierungsmodelle für die API- und SDK-Authentifizierung](authentication-flows-public-server-side.md).

## Abläufe bei der Benutzerauthentifizierung und Erstellung von Benutzern
<a name="how-to-create-user-accounts-flows"></a>

Für die administrative Erstellung von Benutzern gibt es Optionen, die sich je nach Konfiguration Ihres Benutzerpools unterscheiden. Die *Authentifizierungsabläufe* oder Methoden, die Benutzern für die Anmeldung und MFA zur Verfügung stehen, können die Art und Weise, wie Sie Benutzer erstellen und welche Nachrichten Sie an sie senden, ändern. Im Folgenden sind einige Authentifizierungsabläufe aufgeführt, die in Benutzerpools verfügbar sind.
+ Benutzername und Passwort
+ Hauptschlüssel
+ Melden Sie sich bei einem Drittanbieter an IdPs
+ Passwortlos mit E-Mail- und SMS-Einmalpasswörtern () OTPs
+ Multi-Faktor-Authentifizierung mit E-Mail, SMS und Authenticator-App OTPs
+ Benutzerdefinierte Authentifizierung mit Lambda-Triggern

Weitere Informationen zur Konfiguration dieser Anmeldefaktoren finden Sie unter. [Authentifizierung mit Amazon Cognito Cognito-Benutzerpools](authentication.md)

## Benutzer ohne Passwörter erstellen
<a name="how-to-create-user-accounts-thingstoknow-passwordless"></a>

Wenn Sie die kennwortlose Anmeldung für Ihren Benutzerpool aktiviert haben, können Sie Benutzer ohne Passwörter erstellen. Um einen Benutzer ohne Passwort zu erstellen, müssen Sie Attributwerte für einen verfügbaren kennwortlosen Anmeldefaktor angeben. Wenn in Ihrem Benutzerpool beispielsweise eine passwortlose E-Mail-OTP-Anmeldung verfügbar ist, können Sie einen Benutzer ohne Passwort und mit einem E-Mail-Adressattribut erstellen. Wenn die einzigen Authentifizierungsabläufe, die neuen Benutzern zur Verfügung stehen, ein Passwort erfordern, z. B. einen Hauptschlüssel oder ein Benutzername-Passwort, müssen Sie für jeden neuen Benutzer ein temporäres Passwort erstellen oder generieren.

**Um einen neuen Benutzer ohne Passwort zu erstellen**
+ Wählen Sie in der Amazon Cognito Cognito-Konsole **kein Passwort festlegen**
+ Lassen Sie den `TemporaryPassword` Parameter Ihrer API-Anfrage weg oder lassen Sie `AdminCreateUser` ihn leer

**Benutzer ohne Passwörter werden automatisch bestätigt**  
Normalerweise erhalten neue Benutzer ein temporäres Passwort und gehen in einen `FORCE_CHANGE_PASSWORD` Status über, wenn Sie sie erstellen. Wenn Sie Benutzer ohne Passwörter erstellen, gehen sie sofort in einen `CONFIRMED` Status über. Sie können Bestätigungscodes nicht erneut an diese Benutzer in dem `CONFIRMED` Bundesstaat senden.

**Einladungsnachrichten ändern sich für Benutzer ohne Passwort.**  
Standardmäßig sendet Amazon Cognito eine [Einladungsnachricht an](cognito-user-pool-settings-message-customizations.md#cognito-user-pool-settings-user-invitation-message-customization) neue Benutzer mit dem Hinweis `Your username is {userName} and your password is {####}.` Wenn Sie Benutzer ohne Passwort erstellen, lautet die Meldung `Your username is {userName}.` Passen Sie Ihre Einladungsnachricht an, um zu verdeutlichen, ob Sie Passwörter für Benutzer festlegen. Lassen Sie die `{####}` Kennwortvariable in kennwortlosen Authentifizierungsmodellen weg.

**Sie können Passwörter nicht automatisch generieren, wenn kennwortlose Faktoren verfügbar sind**  
Wenn Sie Ihren Benutzerpool so konfiguriert haben, dass er die kennwortlose Anmeldung per E-Mail oder Telefon per OTP unterstützt, können Sie nicht automatisch ein Passwort generieren. Für jeden Benutzer, der über ein Passwort verfügen wird, müssen Sie bei der Erstellung seines Profils ein temporäres Passwort festlegen.

**Kennwortlose Benutzer müssen Werte für alle erforderlichen Attribute haben**  
Wenn Sie einen Benutzer *ohne* Passwort erstellen, ist Ihre Anfrage nur erfolgreich, wenn der Benutzer Werte für alle Attribute bereitstellt, die Sie in Ihrem Benutzerpool als erforderlich markiert haben. Dies gilt für alle erforderlichen Attribute, nicht nur für die Telefonnummer und die E-Mail-Attribute, die für die OTP-Zustellung erforderlich sind.

## Benutzer erstellen, die später die erforderlichen Attributwerte angeben
<a name="how-to-create-user-accounts-thingstoknow-password-restrictions"></a>

Möglicherweise möchten Sie Attribute in Ihrem Benutzerpool vorschreiben, aber diese Attribute sammeln, nachdem Sie Benutzer administrativ erstellt haben, während der Benutzerinteraktion in Ihrer Anwendung. Administratoren können Werte für erforderliche Attribute weglassen, wenn sie Benutzer *mit temporären* Kennwörtern erstellen. Sie können erforderliche Attributwerte für kennwortlose Benutzer nicht weglassen.

Benutzer mit fehlenden Werten für erforderliche Attribute und einem temporären Passwort erhalten bei der ersten Anmeldung die Aufforderung [NEW\$1PASSWORD\$1REQUIRED](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html#CognitoUserPools-RespondToAuthChallenge-request-ChallengeResponses). Sie können dann einen Wert für die fehlenden erforderlichen Attribute im Parameter angeben. `requiredAttributes` Sie können Benutzer nur dann mit Passwörtern und ohne erforderliche Attribute erstellen, wenn alle erforderlichen Attribute [veränderbar](user-pool-settings-attributes.md#user-pool-settings-custom-attributes) sind. Benutzer können die Anmeldung mit `NEW_PASSWORD_REQUIRED` Herausforderungen und Werten für erforderliche Attribute nur abschließen, wenn die erforderlichen Attribute vom App-Client aus [beschreibbar](user-pool-settings-client-apps.md#cognito-user-pools-app-idp-settings-about) sind, mit dem sie sich anmelden.

Wenn Sie ein permanentes Passwort für einen vom Administrator erstellten Benutzer einrichten, ändert sich sein Status `CONFIRMED` und Ihr Benutzerpool fordert die Benutzer bei der ersten Anmeldung nicht zur Eingabe eines neuen Kennworts *oder* der erforderlichen Attribute auf.

## Einen neuen Benutzer erstellen in AWS-Managementkonsole
<a name="creating-a-new-user-using-the-console"></a>

Sie können die Anforderungen an das Benutzerpasswort festlegen, die an Benutzer gesendeten Einladungs- und Verifizierungsnachrichten konfigurieren und neue Benutzer mit der Amazon-Cognito-Konsole hinzufügen.

### Festlegen einer Passwortrichtlinie und Aktivieren der Selbstregistrierung
<a name="set-user-password-policy"></a>

Sie können Einstellungen für die minimale Passwortkomplexität konfigurieren und festlegen, ob sich Benutzer APIs in Ihrem Benutzerpool über public registrieren können.

**Konfigurieren einer Passwortrichtlinie**

1. Navigieren Sie zur [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) und wählen Sie **User Pools** (Benutzerpools) aus.

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

1. Wählen Sie das Menü **Authentifizierungsmethoden** und suchen Sie nach **Passwortrichtlinie**. Wählen Sie **Edit**.

1. Wählen Sie für den **Passwortrichtlinienmodus** **Custom** (Benutzerdefiniert) aus.

1. Wählen Sie eine **Mindestpasswortlänge** aus. Beschränkungen für die Passwortlänge finden Sie unter [User pools resource quotas](https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html#limits-hard) (Benutzerpool-Ressourcenkontingente).

1. Wählen Sie eine **Passwortkomplexität** aus.

1. Wählen Sie aus, wie lange das von Administratoren festgelegte Passwort gültig sein soll.

1. Wählen Sie **Save Changes**.

**Zulassen der Self-Service-Anmeldung**

1. Navigieren Sie zur [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) und wählen Sie **User Pools** (Benutzerpools) aus.

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

1. Wählen Sie das **Anmeldemenü** und suchen Sie nach **Self-Service-Anmeldung**. Wählen Sie **Edit** (Bearbeiten) aus.

1. Wählen Sie aus, ob Sie die **Selbstregistrierung aktivieren** möchten. Die Selbstregistrierung wird in der Regel bei öffentlichen App-Clients verwendet, die neue Benutzer in Ihrem Benutzerpool registrieren müssen, ohne ein geheimes Client-Geheimnis oder AWS Identity and Access Management (IAM-) API-Anmeldeinformationen zu verteilen.
**Deaktivieren der Selbstregistrierung**  
Wenn Sie die Selbstregistrierung nicht aktivieren, müssen neue Benutzer durch administrative API-Aktionen mithilfe von IAM-API-Anmeldeinformationen oder durch Anmeldung bei Verbundanbietern erstellt werden.

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

### Anpassen von E-Mail- und SMS-Nachrichten
<a name="creating-a-new-user-customize-messages"></a>

**Anpassen von Benutzernachrichten**

Sie können die Nachrichten anpassen, die Amazon Cognito an Ihre Benutzer sendet, wenn Sie sie zur Anmeldung einladen, sie sich für ein Benutzerkonto anmelden oder sich anmelden und zur Multi-Faktor-Authentifizierung (MFA) weitergeleitet werden.
**Anmerkung**  
Es wird eine **Einladungsnachricht** gesendet, wenn Sie einen Benutzer in Ihrem Benutzerpool erstellen und ihn einladen, sich anzumelden. Amazon Cognito sendet erste Anmeldeinformationen an die E-Mail-Adresse oder die Telefonnummer des Benutzers.  
Eine **Verifizierungsnachricht** wird gesendet, wenn sich ein Benutzer für ein Benutzerkonto in Ihrem Benutzerpool anmeldet. Amazon Cognito sendet einen Code an den Benutzer. Wenn der Benutzer Amazon Cognito den Code zur Verfügung stellt, überprüft er seine Kontaktinformationen und bestätigt sein Konto für die Anmeldung. Verifizierungscodes sind 24 Stunden lang gültig.  
Eine **MFA-Nachricht** wird gesendet, wenn Sie SMS MFA in Ihrem Benutzerpool aktivieren, und ein Benutzer, der SMS MFA konfiguriert hat, sich anmeldet und zu MFA weitergeleitet wird.

1. Navigieren Sie zur [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) und wählen Sie **User Pools** (Benutzerpools) aus.

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

1. Wählen Sie das Menü **Nachrichtenvorlagen** und wählen Sie **Bestätigungsnachricht**, **Einladungsnachricht** oder **MFA-Nachricht** aus und wählen Sie **Bearbeiten** aus.

1. Passen Sie die Nachrichten für den ausgewählten Nachrichtentyp an.
**Anmerkung**  
Alle Variablen in Nachrichtenvorlagen müssen beim Anpassen der Nachricht enthalten sein. Wenn die Variable, zum Beispiel **\$1\$1\$1\$1\$1\$1**, nicht enthalten ist, wird Ihr Benutzer nicht über ausreichende Informationen verfügen, um die Nachrichtenaktion abzuschließen.  
Weitere Informationen finden Sie unter [Message templates](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-templates.html) (Nachrichtenvorlagen).

1. 

   1. **Verifizierungsnachrichten**

      1. Wählen Sie einen **Verifizierungs-Typ** für **E-Mail-Nachrichten**. Eine **Codeverifizierung** sendet einen numerischen Code, den der Benutzer eingeben muss. Eine **Linkverifizierung** sendet einen Link, den der Benutzer für die Verifizierung der Kontaktinformationen anklicken kann. Der Text in der Variable für eine **Linknachricht** wird als Hyperlinktext angezeigt. Beispielsweise wird eine Nachrichtenvorlage mit der Variable \$1\$1\$1Click here\$1\$1\$1 als [Click here]() (Hier klicken) in der E-Mail-Nachricht angezeigt.

      1. Geben Sie einen **E-Mail-Betreff** für **E-Mail-Nachrichten** ein.

      1. Geben Sie eine benutzerdefinierte **E-Mail-Vorlage** für **E-Mail-Nachrichten** ein. Sie können diese Vorlage mit HTML anpassen.

      1. Geben Sie eine benutzerdefinierte **SMS-Vorlage** für **SMS-Nachrichten** ein.

      1. Wählen Sie **Save Changes**.

   1. **Einladungsnachrichten**

      1. Geben Sie einen **E-Mail-Betreff** für **E-Mail-Nachrichten** ein.

      1. Geben Sie eine benutzerdefinierte **E-Mail-Vorlage** für **E-Mail-Nachrichten** ein. Sie können diese Vorlage mit HTML anpassen.

      1. Geben Sie eine benutzerdefinierte **SMS-Vorlage** für **SMS-Nachrichten** ein.

      1. Wählen Sie **Save Changes**.

   1. **MFA-Nachrichten**

      1. Geben Sie eine benutzerdefinierte **SMS-Vorlage** für **SMS-Nachrichten** ein.

      1. Wählen Sie **Save Changes**.

### Erstellen eines Benutzers
<a name="creating-a-new-user-using-the-users-tab"></a>

**Erstellen eines Benutzers**

Sie können über die Amazon-Cognito-Konsole neue Benutzer für Ihren Benutzerpool erstellen. In der Regel können sich Benutzer anmelden, nachdem sie ein Passwort festgelegt haben. Zum Anmelden mit einer E-Mail-Adresse oder einer Telefonnummer muss ein Benutzer das `email`-Attribut verifizieren. Zum Anmelden mit einer Telefonnummer muss der Benutzer das `phone_number`-Attribut verifizieren. Um Konten als Administrator zu bestätigen, können Sie auch die API AWS CLI oder verwenden oder Benutzerprofile mit einem föderierten Identitätsanbieter erstellen. Weitere Informationen finden Sie in der [Amazon-Cognito-API-Referenz](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/).

1. Navigieren Sie zur [Amazon-Cognito-Konsole](https://console.aws.amazon.com/cognito/home) und wählen Sie **User Pools** (Benutzerpools) aus.

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

1. Wählen Sie das Menü „**Benutzer**“ und wählen Sie „**Benutzer erstellen**“.

1. In den **Anforderungen für die Anmeldung im Benutzerpool und die Sicherheit** finden Sie Anleitungen zu Passwortanforderungen, verfügbare Methoden zur Kontowiederherstellung und Aliasattribute für Ihren Benutzerpool.

1. <a name="admincreateuserwalkthrough-step-invitationmessage"></a>Wählen Sie aus, wie Sie eine **Invitation message** (Einladungsnachricht) senden möchten. Wählen Sie SMS-Nachricht, E-Mail-Nachricht oder beides aus. Um die Einladungsnachricht zu unterdrücken, wählen **Sie Keine Einladung senden**.
**Anmerkung**  
Bevor Sie Einladungsnachrichten versenden können, müssen Sie im Menü **Authentifizierungsmethoden** Ihres Benutzerpools einen Absender und einen AWS-Region mit Amazon Simple Notification Service und Amazon Simple Email Service konfigurieren. Es gelten Empfängernachrichten und Datengebühren. Amazon SES berechnet Ihnen E-Mail-Nachrichten separat und Amazon SNS berechnet Ihnen SMS-Nachrichten separat.

1. Wählen Sie einen **Username** (Benutzername) für den neuen Benutzer aus.

1. Wählen Sie aus, ob Sie mit **Create a password** (Passwort erstellen) ein Passwort erstellen oder Amazon Cognito mit **Generate a password** (Passwort generieren) ein Passwort für den Benutzer generieren lassen möchten. Die Option zum Generieren eines Passworts ist nicht verfügbar, wenn die [passwortlose Anmeldung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) im Benutzerpool verfügbar ist. Jedes temporäre Passwort muss der Passwortrichtlinie des Benutzerpools entsprechen.

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

1. Wählen Sie das Menü **Benutzer** und wählen Sie den Eintrag **Benutzername** für den Benutzer. Fügen Sie **User attributes** (Benutzerattribute) und **Group memberships** (Gruppenmitgliedschaften) hinzu und bearbeiten Sie diese. Sehen Sie sich **User event history** (Ereignisverlauf des Benutzers) an.

# Hinzufügen von Gruppen zu einem Benutzerpool
<a name="cognito-user-pools-user-groups"></a>

Durch Unterstützung für Gruppen in Amazon-Cognito-Benutzerpools können Sie Gruppen erstellen und verwalten, Benutzer zu Gruppen hinzufügen und aus ihnen entfernen. Verwenden Sie Gruppen, um Sammlungen von Benutzern zu erstellen und deren Berechtigungen zu verwalten oder verschiedene Arten von Benutzern darzustellen. Sie können einer Gruppe eine AWS Identity and Access Management (IAM-) Rolle zuweisen, um die Berechtigungen für Mitglieder einer Gruppe zu definieren.

Sie können Gruppen verwenden, um eine Auswahl von Benutzern in einem Benutzerpool zu erstellen, womit oft die Berechtigungen für diese Benutzer festgelegt werden. Beispielsweise können Sie separate Gruppen für Benutzer, die Leser, Mitwirkende und Redakteure Ihrer Website und Anwendung sind, erstellen. Über die IAM-Rolle, die einer Gruppe zugeordnet ist, können Sie auch verschiedene Berechtigungen für diese verschiedenen Gruppen festlegen, sodass nur Mitwirkende Inhalte in Amazon S3 stellen und nur Herausgeber Inhalte über eine API in Amazon API Gateway veröffentlichen können.

Amazon Cognito erstellt eine Benutzergruppe für jeden OIDC und jeden Social [Identity Provider](cognito-user-pools-identity-federation.md#cognito-user-pools-identity-federation-how-it-works) (IdP), den Sie Ihrem Benutzerpool hinzufügen. SAMl Der Name der Gruppe hat das Format`[user pool ID]_[IdP name]`, zum Beispiel oder. `us-east-1_EXAMPLE_MYSSO` `us-east-1_EXAMPLE_Google` Jedes eindeutige, automatisch generierte IdP-Benutzerprofil wird automatisch zu dieser Gruppe hinzugefügt. [Verknüpfte Benutzer](cognito-user-pools-identity-federation-consolidate-users.md) werden dieser Gruppe nicht automatisch hinzugefügt, aber Sie können ihre Profile der Gruppe in einem separaten Prozess hinzufügen.

Sie können Gruppen in einem Benutzerpool über die AWS-Managementkonsole, die und die APIs CLI erstellen und verwalten. Als Entwickler (mit AWS Anmeldeinformationen) können Sie die Gruppen für einen Benutzerpool erstellen, lesen, aktualisieren, löschen und auflisten. Sie können auch Benutzer zu Gruppen hinzufügen und aus ihnen entfernen.

Es fallen keine zusätzlichen Kosten für die Nutzung von Gruppen in einem Benutzerpool an. Weitere Informationen finden Sie unter [Amazon Cognito – Preise](https://aws.amazon.com/cognito/pricing/).

## Zuweisen von IAM-Rollen zu Gruppen
<a name="assigning-iam-roles-to-groups"></a>

Sie können Gruppen verwenden, um Berechtigungen für Ihre Ressourcen mithilfe einer IAM-Rolle zu steuern. IAM-Rollen umfassen Vertrauensrichtlinien und Berechtigungsrichtlinien. Die [Rollenvertrauensrichtlinie](https://docs.aws.amazon.com/cognito/latest/developerguide/role-trust-and-permissions.html) gibt an, wer die Rolle verwenden kann. Die [Berechtigungsrichtlinien](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies) geben die Aktionen und Ressourcen an, auf die Ihre Gruppenmitglieder zugreifen können. Wenn Sie eine IAM-Rolle erstellen, richten Sie die Rollenvertrauensrichtlinie ein, damit die Gruppenbenutzer die Rolle übernehmen können. In Rollenberechtigungsrichtlinien geben Sie die Berechtigungen an, die Ihre Gruppe besitzen soll.

Wenn Sie eine Gruppe in Amazon Cognito erstellen, geben Sie eine IAM-Rolle an, indem Sie den [ARN](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns) der Rolle angeben. Wenn sich Gruppenmitglieder mit Amazon Cognito anmelden, können sie temporäre Anmeldeinformationen aus den Identitätspools erhalten. Ihre Berechtigungen werden anhand der zugeordneten IAM-Rolle bestimmt.

Einzelne Benutzer können sich in mehreren Gruppen befinden. Als Entwickler haben Sie die folgenden Optionen zur automatischen Auswahl der IAM-Rolle, wenn sich ein Benutzer in mehreren Gruppen befindet:
+ Sie können für jede Gruppe Rangfolgenwerte zuweisen. Die Gruppe mit der besseren (niedrigeren) Priorität wird ausgewählt und ihre zugehörige IAM-Rolle wird angewendet. 
+ Ihre App kann auch aus den verfügbaren Rollen wählen, wenn sie AWS Anmeldeinformationen für einen Benutzer über einen Identitätspool anfordert, indem Sie im [GetCredentialsForIdentity](https://docs.aws.amazon.com/cognitoidentity/latest/APIReference/API_GetCredentialsForIdentity.html)`CustomRoleARN`Parameter einen Rollen-ARN angeben. Die angegebene IAM-Rolle muss einer Rolle entsprechen, die für den Benutzer verfügbar ist.

## Zuweisen von Prioritätswerten zu Gruppen
<a name="assigning-precedence-values-to-groups"></a>

Ein Benutzer kann mehreren Gruppen angehören. In den Zugriffs- und ID-Tokens eines Benutzers enthält der `cognito:groups`-Anspruch die Liste aller Gruppen, denen ein Benutzer angehört. Der `cognito:roles`-Anspruch enthält die Liste der Rollen entsprechend den Gruppen.

Da ein Benutzer mehreren Gruppen angehören kann, kann jeder Gruppe eine Priorität zugewiesen werden. Hierbei handelt es sich um eine nicht-negative Zahl, die die Priorität dieser Gruppe im Vergleich zu anderen Gruppen angibt, denen ein Benutzer im Benutzerpool angehört. Null ist die höchste Priorität. Gruppen mit niedrigen Prioritätswerten haben Vorrang vor Gruppen mit höheren Prioritäts- oder NULL-Werten. Wenn ein Benutzer zwei oder mehr Gruppen angehört, ist es die Gruppe mit dem niedrigsten Prioritätswert, deren IAM-Rolle dem `cognito:preferred_role`-Anspruch im Benutzer-ID-Token zugewiesen wird.

Zwei Gruppen können dieselbe Priorität aufweisen. Wenn dies geschieht, hat keine Gruppe Vorrang vor der anderen. Wenn zwei Gruppen mit demselben Prioritätswert den gleichen Rollen-ARN haben, wird diese Rolle im `cognito:preferred_role`-Anspruch in ID-Token für Benutzer in jeder Gruppe verwendet. Wenn die beiden Gruppen unterschiedliche Rollen haben ARNs, wird der `cognito:preferred_role` Anspruch nicht in den ID-Token der Benutzer festgelegt.

## Verwenden von Gruppen zur Steuerung von Berechtigungen mit Amazon API Gateway
<a name="using-groups-to-control-permission-with-amazon-api-gateway"></a>

Sie können Gruppen in einem Benutzerpool verwenden, um die Berechtigung mit Amazon API Gateway zu steuern. Die Gruppen, bei denen ein Benutzer Mitglied ist, sind sowohl im ID-Token als auch im Zugriffstoken von einem Benutzerpool im `cognito:groups`-Anspruch enthalten. Sie können ID- oder Zugriffstoken mit Anfragen an Amazon API Gateway senden und einen Amazon-Cognito-Benutzerpool-Autorisierer für eine REST-API verwenden. Weitere Informationen finden Sie unter [Control access to a REST API using Amazon cognito user pools as authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html) (Zugriff auf eine REST-API mit Amazon-Cognito-Benutzerpools als Autorisierer) im [Entwicklerhandbuch von API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/).

Sie können den Zugriff auf eine Amazon-API-Gateway-HTTP-API auch mit einem benutzerdefinierten JWT-Autorisierer autorisieren. Weitere Informationen finden Sie unter [Steuern des Zugriffs auf HTTP APIs mit JWT-Autorisierern](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html) im [API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/) Developer Guide.

## Einschränkungen für Gruppen
<a name="user-pool-user-groups-limitations"></a>

Benutzergruppen unterliegen den folgenden Einschränkungen:
+ Die Anzahl der Gruppen, die Sie erstellen können, ist durch die [Amazon Cognito-Servicekontingente](quotas.md) begrenzt.
+ Gruppen können nicht verschachtelt werden.
+ Sie können nicht nach Benutzern in einer Gruppe suchen.
+ Sie können nicht nach Namen nach Gruppen suchen, aber Sie können Gruppen auflisten.

## Erstellen einer neuen Gruppe in AWS-Managementkonsole
<a name="creating-a-new-group-using-the-console"></a>

Gehen Sie wie folgt vor, um eine neue Gruppe zu erstellen.

**Neue Gruppe erstellen**

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.

1. Wählen Sie das Menü **Gruppen** und dann **Gruppe erstellen** aus.

1. Geben Sie auf der Seite **Create a group** (Ressourcengruppe erstellen) für **Group name** (Gruppenname) einen Namen für Ihre Gruppe ein.

1. Sie können optional zusätzliche Informationen zu dieser Gruppe mithilfe eines der folgenden Felder angeben:
   + **Description** (Beschreibung) – Geben Sie Details darüber ein, wofür diese neue Gruppe verwendet wird.
   + **Precedence** (Priorität) – Amazon Cognito wertet alle Gruppenberechtigungen für einen bestimmten Benutzer aus und wendet sie an, basierend darauf, zu welchen Gruppen der Benutzer gehört und welche Gruppen den niedrigeren Prioritätswert haben. Die Gruppe mit der niedrigeren Priorität wird ausgewählt und ihre zugehörige IAM-Rolle wird angewendet. Weitere Informationen finden Sie unter [Zuweisen von Prioritätswerten zu Gruppen](#assigning-precedence-values-to-groups).
   + **IAM-Rolle** – Sie können Ihrer Gruppe eine IAM-Rolle zuweisen, wenn Sie Berechtigungen für Ihre Ressourcen steuern müssen. Wenn Sie einen Benutzerpool in einen Identitäten-Pool integrieren, bestimmt die Einstellung **IAM role (IAM-Rolle)**, welche Rolle im Benutzer-ID-Token zugewiesen wird, wenn der Identitäten-Pool zur Auswahl der Rolle über das Token konfiguriert ist. Weitere Informationen finden Sie unter [Zuweisen von IAM-Rollen zu Gruppen](#assigning-iam-roles-to-groups).
   + **Add users to this group** (Dieser Gruppe Benutzer hinzufügen) – Fügen Sie vorhandene Benutzer als Mitglieder dieser Gruppe hinzu, nachdem sie erstellt wurde.

1. Wählen Sie **Create** (Erstellen) aus, um dies zu bestätigen.

# Verwalten von und Suchen nach Benutzerkonten
<a name="how-to-manage-user-accounts"></a>

Benutzerpools können Millionen von Benutzern enthalten. Die Arbeit mit einem Datensatz dieser Größe ist eine Herausforderung für Administratoren. Amazon Cognito verfügt über Tools zum Suchen und Ändern von Benutzerprofilen. Die wichtigsten Methoden zum Auffinden von Benutzern sind das **Benutzermenü** der Amazon Cognito Cognito-Konsole und mit [ListUsers](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html). Von den Methoden, mit denen Informationen über Benutzer abgerufen werden, sind dies die Optionen, die sich nicht auf die Kosten auswirken, im Gegensatz zu beispielsweise. [AdminGetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html)

Dieser Abschnitt des Handbuchs enthält Informationen zum Suchen und Aktualisieren von Benutzerprofilen in einem Benutzerpool.

## Anzeigen von Benutzerattributen
<a name="manage-user-accounts-viewing-user-attributes"></a>

Gehen Sie wie folgt vor, um Benutzerattribute in der Amazon-Cognito-Konsole anzuzeigen.

**Benutzerattribute aufrufen**

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.

1. Wählen Sie das Menü **Benutzer** und wählen Sie einen Benutzer in der Liste aus.

1. Auf der Detailseite des Benutzers unter **User attributes** (Benutzerattribute) können Sie anzeigen, welche Attribute mit dem Benutzer verknüpft sind.

## Zurücksetzen des Passworts eines Benutzers.
<a name="manage-user-accounts-reset-user-password"></a>

Gehen Sie wie folgt vor, um ein Benutzerpasswort in der Amazon-Cognito-Konsole zurückzusetzen.

**Benutzerpasswort zurücksetzen**

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.

1. Wählen Sie das Menü **Benutzer** und wählen Sie einen Benutzer in der Liste aus.

1. Wählen Sie auf der Detailseite des Benutzers die Option **Actions** (Aktionen), **Reset password** (Passwort zurücksetzen) aus.

1. Überprüfen Sie im Dialog **Reset password** (Passwort zurücksetzen) die Daten und wählen Sie anschließend **Reset** (Zurücksetzen) aus.

   Die Aktion bewirkt, dass ein Bestätigungscode sofort an den Benutzer gesendet und das aktuelle Passwort des Benutzers deaktiviert wird, indem der Benutzerstatus auf `RESET_REQUIRED` gesetzt wird. Der Code **Reset password** (Passwort zurücksetzen) ist für eine Stunde gültig.

## Benutzerkonten aktivieren, deaktivieren und löschen
<a name="manage-user-accounts-enable-disable"></a>

Sie können unbenutzte Benutzerprofile löschen oder, wenn Sie den Zugriff vorübergehend verhindern möchten, sie deaktivieren. Benutzer können ihre eigenen Konten löschen, aber nur Benutzerpooladministratoren können Benutzerkonten aktivieren und deaktivieren.

**Auswirkung des Löschens**  
Benutzer können sich nicht mit gelöschten Benutzerkonten anmelden. Um wieder Zugriff darauf zu erhalten, müssen sie sich registrieren oder erneut erstellt werden.

**Auswirkung der Deaktivierung von Konten**  
Wenn Sie ein Benutzerkonto deaktivieren, macht Amazon Cognito automatisch alle authentifizierten Sitzungen ungültig, deaktiviert das Benutzerkonto für die Anmeldung und [widerruft](token-revocation.md) deren Zugriffs- und Aktualisierungstoken. Amazon Cognito gibt einen `invalid_request` Fehler mit der Meldung zurück`User is not enabled`, wenn ein Benutzer versucht, sich bei einem Konto anzumelden, das Sie deaktiviert haben. Dieses Verhalten ändert sich nicht mit Ihren [Einstellungen zur Offenlegung der Benutzerexistenz](cognito-user-pool-managing-errors.md) für den App-Client. Sie können lokale Benutzerkonten und die lokalen Profile von Verbundbenutzerkonten deaktivieren. Wenn sich Benutzer mit der verwalteten Anmeldung oder der klassischen gehosteten Benutzeroberfläche anmelden, deaktivieren Sie ihr Konto und sie versuchen dann erneut, sich mit dem Browser-Cookie anzumelden, das ihre authentifizierte Sitzung beibehält, Amazon Cognito leitet sie auf die Anmeldeseite weiter.

**Auswirkung der Aktivierung von Konten**  
Benutzer können sich sofort bei Konten anmelden, nachdem Sie sie aktiviert haben. Benutzerkonten sind standardmäßig aktiviert. Die Attribute und Passwörter der Benutzer bleiben dieselben wie vor der Deaktivierung ihres Kontos. Token, die Ihre Anwendung gesperrt hat, unabhängig davon, ob Sie das Benutzerkonto deaktiviert oder das Aktualisierungstoken separat gesperrt haben, bleiben ungültig, nachdem Sie das Benutzerkonto aktiviert haben, dem das Token gehörte.

------
#### [ Delete a user account (console) ]

**Um ein Benutzerkonto zu löschen**

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.

1. Wählen Sie das Menü **Benutzer** und wählen Sie das Optionsfeld neben dem Benutzernamen eines Benutzers in der Liste aus.

1. Wählen Sie **Löschen** aus.

1. Wählen **Sie Benutzerzugriff deaktivieren**.

1. Wählen Sie **Löschen** aus.

------
#### [ Delete a user account (API) ]

Benutzer können ihre Konten mit dem access-token-authorized [DeleteUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteUser.html)Self-Service-API-Vorgang löschen. Im Folgenden finden Sie ein Beispiel für einen `DeleteUser` Anfragetext.

```
{
   "AccessToken": "eyJra456defEXAMPLE"
}
```

Administratoren können Benutzerkonten mit dem von IAM autorisierten [AdminDeleteUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminDeleteUser.html)API-Vorgang löschen. Im Folgenden finden Sie ein Beispiel für einen `AdminDeleteUser` Anfragetext.

```
{
   "Username": "testuser",
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

------
#### [ Disable a user account (console) ]

**Um ein Benutzerkonto zu deaktivieren**

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.

1. Wählen Sie das Menü **Benutzer** und wählen Sie den Benutzernamen eines Benutzers in der Liste aus.

1. Wählen Sie auf der Seite mit den Benutzerdetails die Optionen **Aktionen**, **Benutzerzugriff deaktivieren** aus.

1. Wählen Sie in dem daraufhin erstellten Dialogfeld die Option **Deaktivieren** aus.

------
#### [ Disable a user account (API) ]

Administratoren können Benutzerkonten mit dem von IAM autorisierten [AdminDisableUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminDisableUser.html)API-Vorgang deaktivieren. Im Folgenden finden Sie ein Beispiel für einen `AdminDisableUser` Anfragetext.

```
{
   "Username": "testuser",
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

------
#### [ Enable a user account (console) ]

**Um ein Benutzerkonto 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.

1. Wählen Sie das Menü **Benutzer** und wählen Sie den Benutzernamen eines Benutzers in der Liste aus.

1. Wählen Sie auf der Seite mit den Benutzerdetails die Optionen **Aktionen**, **Benutzerzugriff aktivieren** aus.

1. Wählen Sie in dem daraufhin erstellten Dialogfeld die Option **Aktivieren** aus.

------
#### [ Enable a user account (API) ]

Administratoren können Benutzerkonten mit dem von IAM autorisierten [AdminEnableUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminEnableUser.html)API-Vorgang aktivieren. Im Folgenden finden Sie ein Beispiel für einen `AdminEnableUser` Anfragetext.

```
{
   "Username": "testuser",
   "UserPoolId": "us-west-2_EXAMPLE"
}
```

------

## Suchen nach Benutzerattributen
<a name="manage-user-accounts-searching-user-attributes"></a>

Wenn Sie bereits einen Benutzerpool erstellt haben, können Sie im Bereich **Users (Benutzer)** in der AWS-Managementkonsole danach suchen. Sie können auch die Amazon Cognito [ListUsers Cognito-API](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html) verwenden, die einen **Filter-Parameter** akzeptiert.

Sie können nach jedem der folgenden Standardattribute suchen. Benutzerdefinierte Attribute können nicht gesucht werden.
+ username (ohne Beachtung der Groß- und Kleinschreibung)
+ email
+ phone\$1number
+ Name
+ given\$1name
+ family\$1name
+ preferred\$1username
+ cognito:user\$1status (als **Status** in der Konsole bezeichnet) (ohne Beachtung der Groß- und Kleinschreibung)
+ Status (als **Enabled** in der Konsole bezeichnet) (Groß-/Kleinschreibung beachten)
+ sub

**Anmerkung**  
Sie können Benutzer auch mit einem clientseitigen Filter auflisten. Der serverseitige Filter entspricht nicht mehr als einem Attribut. Verwenden Sie für die erweiterte Suche einen clientseitigen Filter mit dem `--query`-Parameter der `list-users`-Aktion in der AWS Command Line Interface. Wenn Sie einen clientseitigen Filter verwenden, wird eine paginierte Liste mit null oder mehr Benutzern ListUsers zurückgegeben. Sie können mehrere Seiten in einer Zeile ohne Ergebnisse erhalten. Wiederholen Sie die Abfrage mit jedem Paginierungstoken, das zurückgegeben wird, bis Sie einen Null-Paginierungstoken erhalten, und überprüfen Sie dann das kombinierte Ergebnis.  
Weitere Informationen zur serverseitigen und clientseitigen Filterung finden Sie im Benutzerhandbuch unter [Filtern AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html) der Ausgabe. AWS Command Line Interface 

## Auf der Suche nach Benutzern mit dem AWS-Managementkonsole
<a name="cognito-user-pools-manage-user-accounts-searching-for-users-using-console"></a>

Wenn Sie bereits einen Benutzerpool erstellt haben, können Sie im Bereich **Users (Benutzer)** in der AWS-Managementkonsole danach suchen.

AWS-Managementkonsole Suchanfragen sind immer Präfix-Suchen („beginnt mit“).

**In der Amazon-Cognito-Konsole nach einem Benutzer suchen**

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.

1. Wählen Sie das Menü **Benutzer** und geben Sie den Benutzernamen in das Suchfeld ein. Beachten Sie, dass bei einigen Attributwerten zwischen Groß- und Kleinschreibung unterschieden wird. (Beispielsweise bei **Username** (Benutzername).

   Sie können Benutzer auch finden, indem Sie den Suchfilter anpassen, um den Umfang auf andere Benutzereigenschaften zu beschränken, z. B. **Email** (E-Mail), **Phone number** (Telefonnummer) oder **Last name** (Nachname).

## Suchen nach Benutzern mit der `ListUsers`-API
<a name="cognito-user-pools-searching-for-users-using-listusers-api"></a>

 Verwenden Sie die Amazon Cognito [ListUsers Cognito-API](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html), um in Ihrer App nach Benutzern zu suchen. Diese API verwendet die folgenden Parameter: 
+  `AttributesToGet`Ein Array von Zeichenfolgen, in dem jede Zeichenfolge der Name eines Benutzerattributs ist, der für jeden Benutzer in den Suchergebnissen zurückgegeben wird. Wenn Sie alle Attribute abrufen möchten, geben Sie keinen `AttributesToGet`-Parameter an oder fordern `AttributesToGet` mit einem Wert der Literalzeichenfolge `null` an.
+  `Filter`: Eine Filter-Zeichenfolge in der Form "`AttributeName` `Filter-Type` "`AttributeValue`"". Anführungszeichen in der Filterzeichenfolge müssen mit dem umgekehrten Schrägstrich (`\`) durch Escape-Zeichen geschützt sein. Beispiel, `"family_name = \"Reddy\""`. Wenn die Filterzeichenfolge leer ist, gibt `ListUsers` alle Benutzer im Benutzerpool zurück. 
  +  `AttributeName`: Die Namen des Attributs, nach dem gesucht werden soll. Sie können nur jeweils nach einem Attribut suchen. 
**Anmerkung**  
Sie können nur nach Standard-Attributen suchen. Benutzerdefinierte Attribute können nicht gesucht werden. Der Grund hierfür ist, dass nur die indizierten Attribute gesucht werden können, und benutzerdefinierte Attribute können nicht indexiert werden.
  +  `Filter-Type`: Für eine exakte Übereinstimmung verwenden Sie `=`, z. B. `given_name = "Jon"`. Für ein Präfix ("beginnt mit"), verwenden Sie `^=`, z. B. `given_name ^= "Jon"`. 
  +  `AttributeValue`: Die Attributwert, der für jeden Benutzer übereinstimmen muss.
+  `Limit`: Maximale Anzahl der zurückgegebenen Benutzer.
+  `PaginationToken`: Ein Token, um weitere Ergebnisse aus einer vorherigen Suche zu erhalten. Amazon Cognito lässt das Paginierungstoken nach einer Stunde ablaufen.
+  `UserPoolId`: Die Benutzerpool-ID für den Benutzerpool, in dem die Suche durchgeführt werden soll.

Alle Suche sind ohne Berücksichtigung von Groß-/Kleinschreibung. Die Suchergebnisse werden nach dem durch die `AttributeName`-Zeichenfolge benannten Attribut in aufsteigender Reihenfolge sortiert.

## Beispiele zu Verwendung der `ListUsers`-API
<a name="cognito-user-pools-searching-for-users-listusers-api-examples"></a>

Das folgende Beispiel gibt alle Benutzer zurück und enthält alle Attribute.

```
{
    "AttributesToGet": null,
    "Filter": "",
    "Limit": 10,
    "UserPoolId": "us-east-1_samplepool"
}
```

Das folgende Beispiel gibt alle Benutzer zurück, deren Telefonnummer mit"\$11312" beginnt, und enthält alle Attribute.

```
{
    "AttributesToGet": null,
    "Filter": "phone_number ^= \"+1312\"",
    "Limit": 10,
    "UserPoolId": "us-east-1_samplepool"
}
```

Das folgende Beispiel gibt die ersten 10 Benutzer zurück, deren Familienname "Reddy" ist. Für jeden Benutzer umfassen die Suchergebnisse den Rufnamen, die Telefonnummer und die E-Mail-Adresse. Wenn es mehr als 10 passender Benutzer im Benutzerpool gibt, enthält die Antwort ein Paginierungs-Token.

```
{
    "AttributesToGet": [
        "given_name", 
        "phone_number", 
        "email"
    ],
    "Filter": "family_name = \"Reddy\"",
    "Limit": 10,
    "UserPoolId": "us-east-1_samplepool"
}
```

Wenn das vorherige Beispiel ein Paginierung-Token zurückgibt, gibt das folgende Beispiel die nächsten 10 Benutzer zurück, die der gleichen Filterzeichenfolge entsprechen.

```
{
    "AttributesToGet": [
        "given_name", 
        "phone_number", 
        "email"
    ],
    "Filter": "family_name = \"Reddy\"",
    "Limit": 10,
    "PaginationToken": "pagination_token_from_previous_search",
    "UserPoolId": "us-east-1_samplepool"
}
```

# Passwörter, Kontowiederherstellung und Passwortrichtlinien
<a name="managing-users-passwords"></a>

Allen Benutzern, die sich bei einem Benutzerpool anmelden, auch [Verbundbenutzern](cognito-terms.md#terms-federateduser), sind ihren Benutzerprofilen Kennwörter zugewiesen. [Lokale Benutzer](cognito-terms.md#terms-localuser) und [verknüpfte Benutzer](cognito-terms.md#terms-linkeduser) müssen bei der Anmeldung ein Passwort angeben. Verbundbenutzer verwenden keine Benutzerpool-Passwörter, sondern melden sich mit ihrem Identity Provider (IdP) an. Sie können Benutzern gestatten, ihre eigenen Passwörter zurückzusetzen, Passwörter als Administrator zurückzusetzen oder zu ändern, und [Richtlinien für die Komplexität und den Verlauf von Kennwörtern festlegen](#user-pool-settings-policies).

Amazon Cognito speichert Benutzerkennwörter nicht im Klartext. Stattdessen speichert es einen Hash der Passwörter jedes Benutzers mit einem benutzerspezifischen Salt. Aus diesem Grund können Sie keine vorhandenen Passwörter aus den Benutzerprofilen in Ihren Benutzerpools abrufen. Es hat sich bewährt, Benutzerkennwörter im Klartext-Format nirgends zu speichern. Führen Sie Kennwortzurücksetzungen durch, wenn Benutzer ihre Passwörter vergessen haben.

## Zurücksetzen und Wiederherstellen von Passwörtern
<a name="user-pool-password-reset-and-recovery"></a>

Benutzer vergessen ihre Passwörter. Möglicherweise möchten Sie, dass sie ihr Passwort selbst zurücksetzen können, oder Sie möchten verlangen, dass ein Administrator ihr Passwort für sie zurücksetzt. Amazon Cognito Cognito-Benutzerpools bieten Optionen für beide Modelle. Dieser Teil des Handbuchs behandelt die Benutzerpool-Einstellungen und die API-Operationen für das Zurücksetzen von Passwörtern.

Der [ForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html)API-Vorgang und die verwaltete Anmeldeoption **Haben Sie Ihr Passwort vergessen?** Senden Sie Benutzern einen Code, mit dem sie, wenn sie bestätigen, dass sie den richtigen Code haben, die Möglichkeit haben, ein neues Passwort festzulegen [ConfirmForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html). Dies ist das Self-Service-Modell zur Kennwortwiederherstellung.

**Wiederherstellung nicht verifizierter Benutzer**  
Sie können Wiederherstellungsnachrichten an Benutzer senden, die ihre E-Mail-Adresse oder Telefonnummer bestätigt haben. Wenn sie keine bestätigte Wiederherstellungs-E-Mail oder Telefonnummer haben, kann ein Benutzerpooladministrator ihre E-Mail-Adresse oder Telefonnummer als verifiziert markieren. Bearbeiten Sie die **Benutzerattribute des Benutzers** in der Amazon Cognito Cognito-Konsole und aktivieren Sie das Kontrollkästchen neben **Telefonnummer als verifiziert** **markieren oder E-Mail-Adresse als verifiziert** markieren. Sie können `email_verified` oder in einer [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)Anfrage auch `phone_number_verified` auf true setzen. Neuen Benutzern sendet der [ResendConfirmationCode](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ResendConfirmationCode.html)API-Vorgang einen neuen Code an ihre E-Mail-Adresse oder Telefonnummer und sie können die Bestätigung und Verifizierung per Self-Service durchführen.

**Setzen Sie Passwörter als Administrator zurück**  
Bei den [AdminSetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html)und [AdminResetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminResetUserPassword.html)API-Vorgängen handelt es sich um vom Administrator initiierte Methoden zum Zurücksetzen von Kennwörtern. `AdminSetUserPassword`legt ein temporäres oder permanentes Passwort fest und `AdminResetUserPassword` sendet Benutzern auf dieselbe Weise einen Code zum Zurücksetzen des Passworts wie. `ForgotPassword`

### Konfigurieren Sie das Zurücksetzen und Wiederherstellen von Kennwörtern
<a name="user-pool-password-reset-and-recovery-configure"></a>

Amazon Cognito wählt Ihre Kontowiederherstellungsoptionen automatisch aus den erforderlichen Attributen und Anmeldeoptionen aus, die Sie beim Erstellen eines Benutzerpools in der Konsole auswählen. Sie können diese Standardeinstellungen ändern.

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](#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`

**Anmerkung**  
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.

Das folgende Verfahren konfiguriert die Self-Service-Kontowiederherstellung in einem Benutzerpool.

------
#### [ Configure self-service password reset (API/SDK) ]

Der `AccountRecoverySetting` Parameter ist der Benutzerpoolparameter, der die Methoden festlegt, mit denen Benutzer ihr Passwort in [ForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ForgotPassword.html)API-Anfragen wiederherstellen können oder wenn sie Passwort **vergessen?** auswählen bei der verwalteten Anmeldung. `ForgotPassword`sendet einen Wiederherstellungscode an eine verifizierte E-Mail-Adresse oder eine verifizierte Telefonnummer. Der Wiederherstellungscode ist eine Stunde lang gültig. Wenn Sie eine [AccountRecoverySetting](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AccountRecoverySettingType.html) für Ihren Benutzerpool angeben, wählt Amazon Cognito das Code-Bereitstellungsziel basierend auf der von Ihnen festgelegten Priorität aus.

Wenn Sie `AccountRecoverySetting` definieren und ein Benutzer SMS MFA konfiguriert hat, kann SMS nicht als Mechanismus für die Kontowiederherstellung verwendet werden. Die Priorität für diese Einstellung wird so festgelegt`1`, dass sie die höchste Priorität hat. Amazon Cognito sendet eine Bestätigung nur an eine der angegebenen Methoden. Im folgenden Beispiel werden E-Mail-Adressen als primäres Ziel für Kontowiederherstellungscodes `AccountRecoverySetting` festgelegt, wobei auf SMS-Nachrichten zurückgegriffen wird, wenn der Benutzer kein E-Mail-Adressattribut hat.

```
"AccountRecoverySetting": { 
   "RecoveryMechanisms": [ 
      { 
         "Name": "verified_email",
         "Priority": 1
      },
      { 
         "Name": "verified_phone_number",
         "Priority": 2
      }
   ]
}
```

Mit diesem Wert `admin_only` wird die Self-Service-Kontowiederherstellung deaktiviert, sodass Benutzer sich für das Zurücksetzen des Kennworts an ihren Administrator wenden müssen. Sie können `admin_only` nicht mit einem anderen Mechanismus für die Kontowiederherstellung verwenden. Das folgende e

```
"AccountRecoverySetting": { 
   "RecoveryMechanisms": [ 
      { 
         "Name": "admin_only",
         "Priority": 1
      }
   ]
}
```

Wenn Sie nichts angeben`AccountRecoverySetting`, sendet Amazon Cognito den Wiederherstellungscode zuerst an eine verifizierte Telefonnummer und an eine verifizierte E-Mail-Adresse, wenn Benutzer kein Telefonnummernattribut haben.

Weitere Informationen zu `AccountRecoverySetting` finden Sie unter [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) und [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html).

------
#### [ Configure self-service password reset (console) ]

Konfigurieren Sie die Optionen für die Kontowiederherstellung und das Zurücksetzen des Passworts im **Anmeldemenü** Ihres Benutzerpools.

**So richten Sie die Wiederherstellung von Benutzerkonten ein**

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 **Anmeldemenü**. **Suchen Sie nach **Wiederherstellung des Benutzerkontos** und wählen Sie Bearbeiten**

1. Um Benutzern das Zurücksetzen ihrer eigenen Passwörter zu ermöglichen, wählen Sie **Self-Service-Kontowiederherstellung aktivieren**.

1. Konfigurieren Sie die Übermittlungsmethode für die Codes zur Kennwortwiederherstellung, die Ihr Benutzerpool an Benutzer sendet. Wählen Sie unter **Zustellungsmethode für Nachrichten zur Wiederherstellung von Benutzerkonten** eine verfügbare Option aus. Es hat sich bewährt, eine Option auszuwählen, die über eine sekundäre Methode zum Senden von Nachrichten verfügt, z. B. **E-Mail, falls verfügbar, andernfalls SMS**. Mit einer sekundären Versandmethode kann Amazon Cognito Codes an Benutzer senden, sodass sie für das Zurücksetzen des Passworts ein anderes Medium als für MFA verwenden müssen.

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

------

### Verhalten bei „Passwort vergessen“
<a name="forgot-password"></a>

In einer bestimmten Stunde erlauben wir einem Benutzer zwischen 5 und 20 Versuche, im Rahmen von „Passwort vergessen“ und Aktionen einen Code zum Zurücksetzen des Passworts anzufordern oder einzugeben. confirm-forgot-password Der genaue Wert hängt von den Risikoparametern ab, die den Anforderungen zugeordnet sind. Bitte beachten Sie, dass sich dieses Verhalten ändert. 

## Hinzufügen von Benutzerpool-Passwortanforderungen
<a name="user-pool-settings-policies"></a>

Starke, komplexe Passwörter sind eine bewährte Sicherheitsmethode für Ihren Benutzerpool. Insbesondere in Anwendungen, die offen für das Internet sind, können schwache Passwörter dazu führen, dass die Anmeldeinformationen Ihrer Benutzer an Systeme weitergegeben werden, die Passwörter erraten und versuchen, auf Ihre Daten zuzugreifen. Je komplexer ein Passwort ist, desto schwieriger ist es, es zu erraten. Amazon Cognito bietet zusätzliche Tools für sicherheitsbewusste Administratoren, wie [Bedrohungsschutz](cognito-user-pool-settings-threat-protection.md#cognito-user-pool-settings-threat-protection.title) und [AWS WAF Web ACLs](user-pool-waf.md#user-pool-waf.title), aber Ihre Passwortrichtlinie ist ein zentrales Element der Sicherheit Ihres Benutzerverzeichnisses.

Passwörter für lokale Benutzer in Amazon-Cognito-Benutzerpools laufen nicht automatisch ab. Es hat sich bewährt, Uhrzeit, Datum und Metadaten für das Zurücksetzen von Benutzerkennwörtern in einem externen System zu protokollieren. Mit einem externen Protokoll zum Passwortalter kann Ihre Anwendung oder ein Lambda-Trigger das Passwortalter eines Benutzers nachschlagen und nach einem bestimmten Zeitraum einen Reset erfordern.

Sie können Ihren Benutzerpool so konfigurieren, dass eine Mindestkomplexität des Kennworts erforderlich ist, die Ihren Sicherheitsstandards entspricht. Komplexe Passwörter haben eine Mindestlänge von mindestens acht Zeichen. Sie enthalten auch eine Mischung aus Großbuchstaben, Zahlen und Sonderzeichen.

Bei den Funktionsstufen Essentials oder Plus können Sie auch eine Richtlinie für die Wiederverwendung von Passwörtern festlegen. Sie können verhindern, dass ein Benutzer sein Passwort auf ein neues Passwort zurücksetzt, das seinem aktuellen Passwort oder einem von bis zu 23 zusätzlichen vorherigen Passwörtern entspricht, also insgesamt maximal 24.

**So richten Sie eine Benutzerpool-Passwortrichtlinie ein**

1. Erstellen Sie einen Benutzerpool und navigieren Sie zum Schritt **Sicherheitsanforderungen konfigurieren**, oder greifen Sie auf einen vorhandenen Benutzerpool zu und navigieren Sie zum Menü **Authentifizierungsmethoden**.

1. Navigieren Sie zu **Passwortrichtlinie**.

1. Wählen Sie einen **Passwortrichtlinienmodus** aus. **Cognito-Standardwerte** konfiguriert Ihren Benutzerpool mit den empfohlenen Mindesteinstellungen. Sie können auch eine **benutzerdefinierte** Passwortrichtlinie wählen.

1. Stellen Sie eine **Mindestpasswortlänge** ein. Alle Benutzer müssen sich mit einem Passwort registrieren oder erstellt werden, dessen Länge größer oder gleich diesem Wert ist. Sie können diesen Mindestwert bis 99 festlegen, aber Ihre Benutzer können Passwörter mit bis zu 256 Zeichen einrichten.

1. Konfigurieren Sie die Regeln zur Passwortkomplexität unter **Passwortanforderungen**. Wählen Sie die Zeichentypen – Zahlen, Sonderzeichen, Groß- und Kleinbuchstaben – aus, von denen mindestens einer in jedem Benutzerpasswort verwendet werden muss.

   Kennwörter können mindestens eines der folgenden Zeichen enthalten. Nachdem Amazon Cognito überprüft hat, dass Passwörter die mindestens erforderlichen Zeichen enthalten, können die Passwörter Ihrer Benutzer zusätzliche Zeichen beliebigen Typs bis zur maximalen Passwortlänge enthalten.
   + [Lateinische](https://en.wikipedia.org/wiki/ISO_basic_Latin_alphabet) Groß- und Kleinbuchstaben
   + Zahlen
   + Die folgenden Sonderzeichen.

     ```
     ^ $ * . [ ] { } ( ) ? " ! @ # % & / \ , > < ' : ; | _ ~ ` = + - 
     ```
   + Nicht am Anfang oder Ende stehende Leerzeichen.

1. Legen Sie einen Wert für **Von Administratoren festgelegte temporäre Passwörter laufen ab in** fest. Nach Ablauf dieses Zeitraums kann sich ein neuer Benutzer, den Sie in der Amazon-Cognito-Konsole oder mit `AdminCreateUser` erstellt haben, nicht anmelden und kein neues Passwort festlegen. Nachdem er sich mit seinem temporären Passwort angemeldet hat, laufen seine Benutzerkonten nie ab. Um die Passwortdauer in der Amazon Cognito-Benutzerpools-API zu aktualisieren, legen Sie [TemporaryPasswordValidityDays ](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html#CognitoUserPools-Type-PasswordPolicyType-TemporaryPasswordValidityDays)in Ihrer [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 einen Wert für fest.

1. Legen Sie einen Wert für **Verwendung früherer Passwörter verhindern** fest, falls verfügbar. Um diese Funktion zu verwenden, wählen Sie in Ihrem Benutzerpool die [Featurestufe](cognito-sign-in-feature-plans.md) Essentials oder Plus aus. Der Wert dieses Parameters gibt die Anzahl der vorherigen Passwörter an, mit denen ein neues Passwort nicht übereinstimmt, wenn ein Benutzer sein Passwort zurücksetzt.

Gehen Sie wie folgt vor, um den Zugriff für ein abgelaufenes Benutzerkonto zurückzusetzen:
+ Senden Sie ein neues temporäres Passwort und setzen Sie den Ablaufzeitraum mit einer [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html)API-Anfrage zurück, die auf `MessageAction` eingestellt ist`RESEND`.
+ Löschen Sie das Benutzerprofil und erstellen Sie es neu.
+ Generieren Sie einen neuen Bestätigungscode in einer [AdminResetUserPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminResetUserPassword.html)API-Anfrage.

# Importieren von Benutzern in einen Benutzerpool
<a name="cognito-user-pools-import-users"></a>

Es gibt zwei Möglichkeiten, wie Sie Benutzer aus Ihrem vorhandenen Benutzerverzeichnis oder aus einer Benutzerdatenbank in Amazon-Cognito-Benutzerpools importieren oder migrieren können. Unter Verwendung eines Lambda-Auslösers für die Benutzermigration können Sie Benutzer migrieren, wenn sie sich zum ersten Mal mit Amazon Cognito anmelden. Mit diesem Ansatz können Benutzer ihre vorhandenen Passwörter weiterverwenden und müssen sie nach der Migration in Ihren Benutzerpool nicht zurücksetzen. Alternativ können Sie alle Benutzer auf einmal migrieren, indem Sie eine CSV-Datei mit den Benutzerprofilattributen für alle Benutzer hochladen. In den folgenden Abschnitten werden beide Ansätze beschrieben.

**Weitere -Quellen**
+ [Ansätze für die Migration von Benutzern zu Amazon Cognito Cognito-Benutzerpools](https://aws.amazon.com/blogs/security/approaches-for-migrating-users-to-amazon-cognito-user-pools/)
+ [AWS re:InForce 2023 — Migration zu Amazon Cognito](https://www.youtube.com/watch?v=OkDj9uXWwCc)

**Topics**
+ [Importieren von Benutzern mit einem Lambda-Auslöser für die Benutzermigration](cognito-user-pools-import-using-lambda.md)
+ [Importieren von Benutzern aus einer CSV-Datei in Benutzerpools](cognito-user-pools-using-import-tool.md)

# Importieren von Benutzern mit einem Lambda-Auslöser für die Benutzermigration
<a name="cognito-user-pools-import-using-lambda"></a>

Mit diesem Ansatz können Sie Benutzer nahtlos aus Ihrem vorhandenen Benutzerverzeichnis zu Benutzerpools migrieren, wenn sich ein Benutzer zum ersten Mal bei Ihrer App anmeldet oder ein Zurücksetzen des Passworts anfordert. Fügen Sie Ihrem Benutzerpool eine [Lambda-Auslöser für die Benutzermigration.](user-pool-lambda-migrate-user.md)-Funktion hinzu. Daraufhin erhält dieser Metadaten über Benutzer, die sich anzumelden versuchen, und gibt Benutzerprofilinformationen von einer externen Identitätsquelle zurück. Weitere Informationen und Beispiel-Code zu diesem Lambda-Auslöser, einschließlich der Anfrage- und Antwortparameter, finden Sie unter [Lambda-Auslöserparameter für die Benutzermigration](user-pool-lambda-migrate-user.md#cognito-user-pools-lambda-trigger-syntax-user-migration).

Bevor Sie mit der Migration von Benutzern beginnen, erstellen Sie eine Lambda-Funktion für die Benutzermigration in Ihrem AWS-Konto und legen Sie die Lambda-Funktion als Auslöser der Benutzermigration in Ihrem Benutzerpool fest. Fügen Sie Ihrer Lambda-Funktion eine Autorisierungsrichtlinie hinzu, die nur dem Prinzipal des Amazon-Cognito-Servicekontos `cognito-idp.amazonaws.com` erlaubt, die Lambda-Funktion aufzurufen, und zwar nur im Kontext Ihres eigenen Benutzerpools. Weitere Informationen finden Sie unter [Verwenden von ressourcenbasierten Richtlinien für AWS Lambda (Lambda-Funktionsrichtlinien)](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html). 

**Anmeldeprozess**

1. Der Benutzer öffnet Ihre App und meldet sich mit der Amazon Cognito-Benutzerpools-API oder über eine verwaltete Anmeldung an. Weitere Informationen darüber, wie Sie die Anmeldung mit Amazon Cognito erleichtern können APIs, finden Sie unter. [Integration der Amazon-Cognito-Authentifizierung und -Autorisierung mit Web- und mobilen Apps](cognito-integrate-apps.md)

1. Ihre App sendet den Benutzernamen und das Passwort an Amazon Cognito. Wenn Ihre App über eine benutzerdefinierte Anmelde-Benutzeroberfläche verfügt, die Sie mit einem AWS SDK erstellt haben, muss Ihre App [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)mit dem `USER_PASSWORD_AUTH` Oder-Flow verwenden. `ADMIN_USER_PASSWORD_AUTH` Wenn Ihre App einen dieser Abläufe verwendet, sendet das SDK das Passwort an den Server.
**Anmerkung**  
Bevor Sie einen Auslöser für die Benutzermigration hinzufügen, aktivieren Sie den `USER_PASSWORD_AUTH`- oder den `ADMIN_USER_PASSWORD_AUTH`-Ablauf in den Einstellungen Ihres App-Clients. Sie müssen diese Abläufe anstelle des `USER_SRP_AUTH`-Standardablaufs verwenden. Amazon Cognito muss ein Passwort an Ihre Lambda-Funktion senden, damit es die Authentifizierung Ihres Benutzers im anderen Verzeichnis überprüfen kann. Ein SRP verdeckt das Passwort Ihres Benutzers vor Ihrer Lambda-Funktion.

1. Amazon Cognito prüft, ob der übermittelte Benutzername mit einem Benutzernamen oder Alias im Benutzerpool übereinstimmt. Sie können die E-Mail-Adresse, Telefonnummer oder den bevorzugten Benutzernamen des Benutzers als Alias in Ihrem Benutzerpool festlegen. Wenn der Benutzer nicht existiert, sendet Amazon Cognito Parameter, einschließlich Benutzernamen und Passwort, an Ihre [Lambda-Auslöser für die Benutzermigration.](user-pool-lambda-migrate-user.md)-Funktion.

1. Ihre [Lambda-Auslöser für die Benutzermigration.](user-pool-lambda-migrate-user.md)-Funktion prüft oder authentifiziert den Benutzer bei Ihrem vorhandenen Benutzerverzeichnis oder Ihrer Benutzerdatenbank. Die Funktion gibt Benutzerattribute zurück, die Amazon Cognito im Benutzerprofil innerhalb des Benutzerpools speichert. Sie können einen `username`-Parameter nur zurückgeben, wenn der übermittelte Benutzername mit einem Aliasattribut übereinstimmt. Wenn Sie möchten, dass Benutzer ihre vorhandenen Passwörter weiterhin verwenden, legen Sie das Attribut `finalUserStatus` in der Lambda-Antwort auf `CONFIRMED` fest. Ihre App muss alle `"response"`-Parameter zurückgeben, die unter [Lambda-Auslöserparameter für die Benutzermigration](user-pool-lambda-migrate-user.md#cognito-user-pools-lambda-trigger-syntax-user-migration) angezeigt werden.
**Wichtig**  
Protokollieren Sie nicht das gesamte Anforderungsereignisobjekt in Ihrem Lambda-Code der Benutzermigration. Dieses Anforderungsereignisobjekt enthält das Passwort des Benutzers. Wenn Sie die Protokolle nicht bereinigen, werden Passwörter in den Protokollen angezeigt. CloudWatch 

1. Amazon Cognito erstellt das Benutzerprofil in Ihrem Benutzerpool und gibt Token an Ihren App-Client zurück.

1. Ihre App führt die Token-Aufnahme durch, akzeptiert die Benutzerauthentifizierung und fährt mit dem angeforderten Inhalt fort.

Nachdem Sie Ihre Benutzer migriert haben, verwenden Sie `USER_SRP_AUTH` für die Anmeldung. Das Secure Remote Password (SRP)-Protokoll sendet das Passwort nicht über das Netzwerk und bietet Sicherheitsvorteile gegenüber dem `USER_PASSWORD_AUTH`-Ablauf, den Sie bei der Migration verwendet haben.

Wenn während der Migration Fehler auftreten, wie beispielsweise Probleme mit dem Client-Gerät oder dem Netzwerk, erhält Ihre App Fehlermeldungen von der Benutzerpool-API von Amazon Cognito. In diesem Fall kann Amazon Cognito das Benutzerkonto in Ihrem Benutzerpool möglicherweise nicht erstellen. Der Benutzer sollte dann versuchen, sich erneut anzumelden. Wenn die Anmeldung wiederholt fehlschlägt, versuchen Sie, das Passwort des Benutzers mit dem Ablauf für ein vergessenes Passwort in Ihrer App zurückzusetzen. 

Der Ablauf für ein vergessenes Passwort ruft außerdem Ihre [Lambda-Auslöser für die Benutzermigration.](user-pool-lambda-migrate-user.md)-Funktion mit einer `UserMigration_ForgotPassword`-Ereignisquelle auf. Da der Benutzer beim Anfordern der Passwortrücksetzung kein Passwort übermittelt, nimmt Amazon Cognito kein Passwort auf für den Fall, dass es an Ihre Lambda-Funktion gesendet wird. Ihre Funktion kann den Benutzer nur in Ihrem vorhandenen Benutzerverzeichnis nachschlagen und Attribute zurückgeben, die dem Benutzerprofil in Ihrem Benutzerpool hinzugefügt werden. Nachdem Ihre Funktion den Aufruf abgeschlossen und ihre Antwort an Amazon Cognito zurückgegeben hat, sendet der Benutzerpool einen Code für die Passwortrücksetzung per E-Mail oder SMS. Fordern Sie Ihren Benutzer in Ihrer App zur Eingabe seines Bestätigungscodes und eines neuen Passworts auf und senden Sie diese Informationen dann in einer [ConfirmForgotPassword](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html)API-Anfrage an Amazon Cognito. Sie können auch die integrierten Seiten für den Ablauf „Passwort vergessen“ bei der verwalteten Anmeldung verwenden.

**Weitere Ressourcen**
+ [Ansätze für die Migration von Benutzern zu Amazon Cognito Cognito-Benutzerpools](https://aws.amazon.com/blogs/security/approaches-for-migrating-users-to-amazon-cognito-user-pools/)

# Importieren von Benutzern aus einer CSV-Datei in Benutzerpools
<a name="cognito-user-pools-using-import-tool"></a>

Wenn Sie über einen externen Identitätsspeicher verfügen und Zeit haben, Ihren Benutzerpool für neue lokale Benutzer vorzubereiten, kann ein Massenimport von Benutzern aus einer CSV-Datei (Comma-Separated Values) eine einfache und kostengünstige Option für eine Migration zu einem Amazon Cognito Cognito-Benutzerpool sein. Ein CSV-Dateiimport ist ein Vorgang, bei dem eine Vorlagendatei heruntergeladen und gefüllt wird. Anschließend wird die Datei in einem Importjob an Ihren Benutzerpool übergeben. Sie können einen CSV-Import verwenden, um schnell Testbenutzer zu erstellen. Sie können die Datei auch programmgesteuert mit API-Leseanforderungen an Ihren externen Identitätsspeicher füllen und anschließend deren Details und Attribute analysieren, um Schreibvorgänge in die Datei durchzuführen.

Der Importprozess legt Werte für alle Benutzerattribute fest, mit Ausnahme von **password**. Der Import des Passworts wird nicht unterstützt, da bewährte Methoden für die Sicherheit verlangen, dass Kennwörter nicht als Klartext verfügbar sind, und wir den Import von Hash-Werten nicht unterstützen. Das bedeutet, dass Ihre Benutzer ihre Passwörter ändern müssen, wenn er sich das erste Mal anmelden. Ihre Benutzer befinden sich in einem `RESET_REQUIRED` Zustand, wenn sie mit dieser Methode importiert werden.

Der einfachste Weg, Benutzer aus einer CSV-Datei zu importieren, besteht darin, die [passwortlose Anmeldung](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) in Ihrem Benutzerpool zu aktivieren. Mit den Attributen E-Mail-Adresse und Telefonnummer und der richtigen Benutzerpool-Konfiguration können sich Benutzer sofort nach Abschluss Ihres Importvorgangs mit E-Mail- oder SMS-Einmalkennwörtern (OTPs) anmelden. Weitere Informationen finden Sie unter [Von importierten Benutzer verlangen, dass sie ihre Passwörter zurücksetzen](#cognito-user-pools-using-import-tool-password-reset).

Sie können die Passwörter Ihrer Benutzer auch mit einer [https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html)API-Anfrage festlegen, die den `Permanent` Parameter auf festlegt`true`. Der CSV-Import trägt nicht zur Abrechnung der monatlich aktiven Nutzer (MAUs) in Ihrem Benutzerpool bei. Bei Vorgängen zum Zurücksetzen von Passwörtern wird jedoch etwas generiert. MAUs Um die Kosten zu senken, wenn Sie eine große Anzahl von Benutzern mit einem Kennwort importieren, die möglicherweise nicht sofort aktiv sind, richten Sie Ihre Anwendung so ein, dass Benutzer bei der Anmeldung und der Aufforderung zur Eingabe eines neuen Kennworts aufgefordert werden. `RESET_REQUIRED`

**Anmerkung**  
Das Erstellungsdatum für jeden Benutzer ist eine Zeit, zu der der Benutzer in den Benutzerpool importiert wurde. Erstellungsdatum ist nicht eines der importierten Attribute.

**Schritte zum Erstellen eines Benutzerimportauftrags**

1. Erstellen Sie eine Amazon CloudWatch Logs-Rolle in der AWS Identity and Access Management (IAM-) Konsole.

1. Erstellen Sie die Benutzerimport-CSV-Datei.

1. Erstellen Sie den Benutzerimportauftrag und führen Sie ihn aus.

1. Laden Sie die Benutzerimport-CSV-Datei hoch.

1. Starten Sie den Benutzerimportauftrag und führen Sie ihn aus.

1. Wird verwendet CloudWatch , um das Ereignisprotokoll zu überprüfen.

1. Verlangen Sie von den importierten Benutzer, dass sie ihre Passwörter zurücksetzen.

**Weitere -Quellen**
+ [Referenzarchitektur für den Export von Cognito-Benutzerprofilen](https://aws.amazon.com/solutions/implementations/cognito-user-profiles-export-reference-architecture/) zum Exportieren von Benutzerkonten zwischen Benutzerpools

**Topics**
+ [Die IAM-Rolle „ CloudWatch Logs“ erstellen](#cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role)
+ [Erstellen der CSV-Datei für den Benutzerimport](#cognito-user-pools-using-import-tool-csv-header)
+ [Erstellen und Ausführen des Amazon-Cognito-Benutzerpool-Importauftrags](#cognito-user-pools-creating-import-job)
+ [Die Importergebnisse des Benutzerpools in der CloudWatch Konsole anzeigen](#cognito-user-pools-using-import-tool-cloudwatch)
+ [Von importierten Benutzer verlangen, dass sie ihre Passwörter zurücksetzen](#cognito-user-pools-using-import-tool-password-reset)

## Die IAM-Rolle „ CloudWatch Logs“ erstellen
<a name="cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role"></a>

Wenn Sie die Amazon Cognito CLI oder API verwenden, müssen Sie eine CloudWatch IAM-Rolle erstellen. Das folgende Verfahren beschreibt, wie Sie eine IAM-Rolle erstellen, mit der Amazon Cognito die Ergebnisse Ihres Importauftrags in Logs schreiben kann. CloudWatch 

**Anmerkung**  
Wenn Sie einen Importauftrag in der Amazon-Cognito-Konsole erstellen, können Sie gleichzeitig die IAM-Rolle erstellen. Wenn Sie **Create a new IAM role** (Neue IAM-Rolle erstellen) auswählen, wendet Amazon Cognito automatisch die entsprechende Vertrauensrichtlinie und IAM-Richtlinie auf die Rolle an.

**So erstellen Sie die IAM-Rolle CloudWatch Logs für den Benutzerpool-Import (AWS CLI, API)**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die IAM-Konsole unter. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Erstellen Sie eine neue IAM-Rolle für eine. AWS-Service Detaillierte Anweisungen finden Sie unter [Erstellen einer Rolle für einen AWS-Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) im *Benutzerhandbuch zu AWS Identity and Access Management *.

   1. Bei der Auswahl von **Use case** (Anwendungsfall) für **Trusted entity type** (Typ der vertrauenswürdigen Entität) können Sie einen beliebigen Service wählen. Amazon Cognito ist derzeit nicht in der Liste der Anwendungsfälle für Services aufgeführt.

   1. Wählen Sie im Bildschirm **Add permissions** (Berechtigungen hinzufügen) die Option **Create policy** (Richtlinie erstellen) aus und fügen Sie die folgende Richtlinienanweisung ein. *REGION*Ersetzen Sie sie beispielsweise `us-east-1` durch die AWS-Region Ihres Benutzerpools. *ACCOUNT*Ersetzen Sie es zum Beispiel durch Ihre AWS-Konto ID`111122223333`.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "logs:CreateLogGroup",
                      "logs:CreateLogStream",
                      "logs:DescribeLogStreams",
                      "logs:PutLogEvents"
                  ],
                  "Resource": [
                      "arn:aws:logs:us-east-1:111122223333:log-group:/aws/cognito/*"
                  ]
              }
          ]
      }
      ```

------

1. Da Sie Amazon Cognito während der Erstellung der Rolle nicht als vertrauenswürdige Entität ausgewählt haben, müssen Sie die Vertrauensstellung der Rolle jetzt manuell bearbeiten. Klicken Sie im Navigationsbereich der IAM-Konsole auf **Roles** (Rollen) und wählen Sie dann die neu erstellte Rolle aus.

1. Wählen Sie die Registerkarte **Trust relationships (Vertrauensstellungen)**.

1. Wählen Sie **Vertrauensrichtlinie bearbeiten** aus.

1. Fügen Sie die folgende Richtlinienanweisung in das Feld **Edit trust policy** (Vertrauensrichtlinie bearbeiten) ein und ersetzen Sie dabei den vorhandenen Text: 

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

****  

   ```
   {
           "Version":"2012-10-17",		 	 	 
           "Statement": [
               {
                   "Effect": "Allow",
                   "Principal": {
                       "Service": "cognito-idp.amazonaws.com"
                   },
                   "Action": "sts:AssumeRole"
               }
           ]
       }
   ```

------

1. Wählen Sie **Richtlinie aktualisieren**. 

1. Beachten Sie die Rollen-ARN. Sie geben den ARN ein, wenn Sie den Importauftrag erstellen.

## Erstellen der CSV-Datei für den Benutzerimport
<a name="cognito-user-pools-using-import-tool-csv-header"></a>

Bevor Sie vorhandene Benutzer in Ihren Benutzerpool importieren können, müssen Sie eine Datei mit durch Kommas getrennten Werten (CSV-Datei) erstellen, die die zu importierenden Benutzer und ihre Attribute enthält. Aus Ihrem Benutzerpool können Sie eine Benutzerimportdatei mit Headern abrufen, die das Attributschema Ihres Benutzerpools widerspiegeln. Anschließend können Sie Benutzerinformationen einfügen, die den Formatierungsanforderungen im Abschnitt [Formatieren der CSV-Datei](#cognito-user-pools-using-import-tool-formatting-csv-file) entsprechen. 

### Herunterladen des CSV-Datei-Headers (Konsole)
<a name="cognito-user-pools-using-import-tool-downloading-csv-header-console"></a>

Gehen Sie wie folgt vor, um die CSV-Header-Datei herunterzuladen.

**So laden Sie den CSV-Datei-Header herunter**

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.

1. Wählen Sie das Menü **Benutzer**.

1. Wählen Sie im Abschnitt **Import users** (Benutzer importieren) die Option **Create an import job** (Importauftrag erstellen) aus.

1. Wählen Sie unter **Upload CSV** (CSV hochladen) den Link *template.csv* aus und laden Sie die CSV-Datei herunter.

### Herunterladen des CSV-Datei-Headers (AWS CLI)
<a name="cognito-user-pools-using-import-tool-downloading-csv-header-using-cli"></a>

Um eine Liste der richtigen Header zu erhalten, wählen Sie **im Menü Benutzer** unter **Benutzer importieren** die Option **Importjob erstellen** aus. Wählen Sie im folgenden Dialogfeld den `template.csv` Link zum Herunterladen einer Vorlagendatei mit Ihren Benutzerpool-Attributen aus.

Sie können auch den folgenden CLI-Befehl ausführen, der die Benutzerpool-ID für den Benutzerpool enthält, in *USER\$1POOL\$1ID* den Sie Benutzer importieren werden:

```
aws cognito-idp get-csv-header --user-pool-id "USER_POOL_ID"
```

Beispielantwort:

```
{
    "CSVHeader": [
        "name",
        "given_name",
        "family_name",
        "middle_name",
        "nickname",
        "preferred_username",
        "profile",
        "picture",
        "website",
        "email",
        "email_verified",
        "gender",
        "birthdate",
        "zoneinfo",
        "locale",
        "phone_number",
        "phone_number_verified",
        "address",
        "updated_at",
        "cognito:mfa_enabled",
        "cognito:username"
    ],
    "UserPoolId": "USER_POOL_ID"
}
```

### Formatieren der CSV-Datei
<a name="cognito-user-pools-using-import-tool-formatting-csv-file"></a>

 Die heruntergeladene CSV-Header-Datei für den Benutzerimport sieht wie die folgende Zeichenfolge aus. Sie enthält auch benutzerdefinierte Attribute, die Sie Ihrem Benutzerpool hinzugefügt haben.

```
cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled
```

Bearbeiten Sie Ihre CSV-Datei, sodass sie diesen Header und die Attributwerte für Ihre Benutzer enthält und gemäß den folgenden Regeln formatiert ist:

**Anmerkung**  
Weitere Informationen zu Attributwerten, wie etwas das richtige Format für Telefonnummern, finden Sie unter [Mit Benutzerattributen arbeiten](user-pool-settings-attributes.md).
+ Die erste Zeile in der Datei ist die heruntergeladene Kopfzeile mit den Benutzer-Attributnamen.
+ Die Reihenfolge der Spalten in der CSV-Datei ist unerheblich.
+ Jede Zeile nach der ersten Zeile enthält die Attributwerte für einen Benutzer.
+ Alle Spalten in der Kopfzeile müssen vorhanden sein, Sie müssen jedoch nicht in jeder Spalte Werte angeben.
+ Die folgenden Attribute sind erforderlich:
  + **cognito:username**
  + **email\$1verified** oder **phone\$1number\$1verified**
    + Mindestens eines der automatisch überprüften Attribute muss für jeden Benutzer `true` sein. Ein automatisch verifiziertes Attribut ist eine E-Mail-Adresse oder Telefonnummer, an die Amazon Cognito automatisch einen Code sendet, wenn ein neuer Benutzer Ihrem Benutzerpool beitritt.
    + Der Benutzerpool muss mindestens ein automatisch überprüftes Attribut besitzen, entweder **email\$1verified** oder **phone\$1number\$1verified**. Wenn der Benutzerpool keine automatisch überprüften Attribute enthält, wird der Importauftrag nicht gestartet.
    + Wenn der Benutzerpool nur über ein automatisch überprüftes Attribut verfügt, muss dieses Attribut für jeden Benutzer überprüft werden. Wenn der Benutzerpool beispielsweise nur **phone\$1number** als automatisch überprüftes Attribut aufweist, muss der Wert **phone\$1number\$1verified** `true` für jeden Benutzer überprüft werden.
**Anmerkung**  
Damit Benutzer ihre Passwörter zurücksetzen können, benötigen Sie eine bestätigte E-Mail-Adresse oder Telefonnummer. Amazon Cognito sendet eine Nachricht mit einem Code zum Zurücksetzen des Passworts an die in der CSV-Datei angegebene E-Mail-Adresse oder Telefonnummer. Die Nachricht wird als SMS an die Telefonnummer gesendet. Weitere Informationen finden Sie unter [Überprüfen von Kontaktinformationen bei der Anmeldung](signing-up-users-in-your-app.md#allowing-users-to-sign-up-and-confirm-themselves).
  + **email** (wenn **email\$1verified** `true` ist)
  + **phone\$1number** (wenn **phone\$1number\$1verified** `true` ist)
  + Alle Attribute, die Sie beim Erstellen des Benutzerpools als erforderlich kennzeichnen
+ Attributwerte, die Zeichenfolgen sind, sollten *nicht* in Anführungszeichen gesetzt werden.
+ Wenn ein Attributwert ein Komma enthält, müssen Sie einen Backslash (\$1) vor dem Komma eingeben. Der Grund hierfür ist, dass die Felder in einer CSV-Datei durch Kommas getrennt sind.
+ Die Inhalte der CSV-Datei sollten im UTF-8-Format ohne Markierung der Bytereihenfolge vorliegen.
+ Das Feld **cognito:username** ist ein Pflichtfeld und muss in Ihrem Benutzerpool einmalig sein. Es kann eine beliebige Unicode-Zeichenfolge sein. Es kann jedoch keine Leerzeichen oder Tab-Zeichen enthalten.
+ Die Werte für das **Geburtsdatum** müssen, sofern vorhanden, im folgenden Format vorliegen **mm/dd/yyyy**. Das bedeutet, dass z. B. das Geburtsdatum 1. Februar 1985 als **02/01/1985** kodiert werden muss.
+ Das Feld **cognito:mfa\$1enabled** muss den MFA-Anforderungen Ihres Benutzerpools entsprechen. Wenn Sie die Multi-Faktor-Authentifizierung (MFA) in Ihrem Benutzerpool als erforderlich festgelegt haben, muss dieses Feld für alle Benutzer leer sein `true` oder leer sein. Wenn Sie MFA deaktiviert haben, muss dieses Feld für alle Benutzer leer `false` oder leer sein. Ein leerer Wert setzt den MFA-aktivierten Status importierter Benutzer auf den vom Benutzerpool geforderten Status. Sie können Benutzer in einen Benutzerpool, für den MFA erforderlich ist, ohne einen gültigen MFA-Faktor importieren, unabhängig davon, ob Sie einen Wert festlegen. `cognito:mfa_enabled` Benutzer in diesem Status haben MFA aktiv, können sich aber erst anmelden, wenn sie ein E-Mail-Attribut, ein Telefonnummernattribut oder ein TOTP konfiguriert haben und diese Konfiguration ein gültiger MFA-Faktor in Ihrem Benutzerpool ist.
+ Die maximale Zeilenlänge beträgt 16 000 Zeichen.
+ Die maximale CSV-Dateigröße ist 100 MB.
+ Die maximale Anzahl von Zeilen (Benutzer) in der Datei ist 500 000. Dieser Höchstwert enthält die Kopfzeile nicht.
+ Der Feldwert **updated\$1at** ist voraussichtlich die Epochenzeit in Sekunden, z. B.: **1471453471**.
+ Alle führenden bzw. nachgestellten Leerzeichen in einem Attributwert werden getrimmt.

Die folgende Liste ist ein Beispiel für eine CSV-Importdatei für einen Benutzerpool ohne benutzerdefinierte Attribute. Ihr Benutzerpool-Schema kann sich von diesem Beispiel unterscheiden. In diesem Fall müssen Sie Testwerte in der CSV-Vorlage angeben, die Sie aus Ihrem Benutzerpool herunterladen.

```
cognito:username,name,given_name,family_name,middle_name,nickname,preferred_username,profile,picture,website,email,email_verified,gender,birthdate,zoneinfo,locale,phone_number,phone_number_verified,address,updated_at,cognito:mfa_enabled
John,,John,Doe,,,,,,,johndoe@example.com,TRUE,,02/01/1985,,,+12345550100,TRUE,123 Any Street,,FALSE
Jane,,Jane,Roe,,,,,,,janeroe@example.com,TRUE,,01/01/1985,,,+12345550199,TRUE,100 Main Street,,FALSE
```

## Erstellen und Ausführen des Amazon-Cognito-Benutzerpool-Importauftrags
<a name="cognito-user-pools-creating-import-job"></a>

In diesem Abschnitt wird beschrieben, wie Sie den Benutzerpool-Importauftrag mithilfe der Amazon Cognito Cognito-Konsole und der AWS Command Line Interface (AWS CLI) erstellen und ausführen.

**Topics**
+ [Importieren von Benutzern aus einer CSV-Datei (Konsole)](#cognito-user-pools-using-import-tool-console)
+ [Importieren von Benutzern (AWS CLI)](#cognito-user-pools-using-import-tool-cli)

### Importieren von Benutzern aus einer CSV-Datei (Konsole)
<a name="cognito-user-pools-using-import-tool-console"></a>

Im folgenden Verfahren wird beschrieben, wie Sie Benutzer aus der CSV-Datei importieren.

**So importieren Sie Benutzer aus der CSV-Datei (Konsole)**

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.

1. Wählen Sie das Menü **Benutzer**.

1. Wählen Sie im Abschnitt **Import users** (Benutzer importieren) die Option **Create an import job** (Importauftrag erstellen) aus.

1. Geben Sie auf der Seite **Create import job** (Importauftrag erstellen) unter **Job name** einen Auftragsnamen ein.

1. Wählen Sie dann **Create a new IAM role** (Neue IAM-Rolle erstellen) oder **Use an existing IAM role** (Vorhandene IAM-Rolle verwenden) aus.

   1. Wenn Sie **Create a new IAM role** (Neue IAM-Rolle erstellen) ausgewählt haben, geben Sie einen Namen für Ihre neue Rolle ein. Amazon Cognito erstellt automatisch eine Rolle mit den richtigen Berechtigungen und der richtigen Vertrauensstellung. Der IAM-Prinzipal, der den Importauftrag erstellt, muss über die Berechtigungen zum Erstellen von IAM-Rollen verfügen.

   1. Wenn Sie **Use an existing IAM role** (Vorhandene IAM-Rolle verwenden) ausgewählt haben, wählen Sie eine Rolle aus der Liste unter **IAM role selection** (Auswahl der IAM-Rolle) aus. Diese Rolle muss über die in [Die IAM-Rolle „ CloudWatch Logs“ erstellen](#cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role) beschriebenen Berechtigungen und Vertrauensrichtlinien verfügen.

1. Wählen **Sie unter CSV hochladen** die Option **Datei auswählen** und hängen Sie die CSV-Datei an, die Sie vorbereitet haben.

1. Wählen Sie **Create job** (Auftrag erstellen) aus, um Ihren Auftrag zu übermitteln, jedoch erst später zu starten. Wählen Sie **Create and start job** (Auftrag erstellen und starten) aus, um Ihren Auftrag zu übermitteln und sofort zu starten.

1. Wenn Sie Ihren Auftrag erstellt, aber noch nicht gestartet haben, können Sie ihn später starten. Wählen Sie im Menü **Benutzer** unter **Benutzer importieren** Ihren Importjob aus und wählen Sie dann **Start** aus. Sie können auch eine [StartUserImportJob](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_StartUserImportJob.html)API-Anfrage von einem AWS SDK aus einreichen.

1. Überwachen Sie den Fortschritt Ihres Benutzerimportauftrags im Menü **Benutzer** unter **Benutzer importieren**. Wenn Ihr Auftrag nicht erfolgreich ist, können Sie den **Status**-Wert auswählen. Wenn Sie weitere Informationen wünschen, wählen Sie ** CloudWatch Protokolle anzeigen aus, um weitere Informationen** zu erhalten, und überprüfen Sie alle Probleme in der CloudWatch Protokollkonsole.

### Importieren von Benutzern (AWS CLI)
<a name="cognito-user-pools-using-import-tool-cli"></a>

Die folgenden CLI-Befehle sind für den Import von Benutzern in einen Benutzerpool verfügbar:
+ `create-user-import-job`
+ `get-csv-header`
+ `describe-user-import-job`
+ `list-user-import-jobs`
+ `start-user-import-job`
+ `stop-user-import-job`

Um die Liste der Befehlszeilen-Optionen für diese Befehle zu erhalten, verwenden Sie die Befehlszeilen-Option `help`. Beispiel:

```
aws cognito-idp get-csv-header help
```

#### Erstellen eines Benutzer-Importauftrags
<a name="cognito-user-pools-using-import-tool-cli-creating-user-import-job"></a>

Nachdem Sie Ihre CSV-Datei erstellt haben, erstellen Sie einen Benutzerimportauftrag, indem Sie den folgenden CLI-Befehl ausführen. Dabei *JOB\$1NAME* stehen der Name, den Sie für den Job wählen, *USER\$1POOL\$1ID* die Benutzerpool-ID für den Benutzerpool, dem die neuen Benutzer hinzugefügt werden, und *ROLE\$1ARN* der Rollen-ARN, in dem Sie erhalten haben[Die IAM-Rolle „ CloudWatch Logs“ erstellen](#cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role): 

```
aws cognito-idp create-user-import-job --job-name "JOB_NAME" --user-pool-id "USER_POOL_ID" --cloud-watch-logs-role-arn "ROLE_ARN"
```

Der in der Antwort *PRE\$1SIGNED\$1URL* zurückgegebene Wert ist 15 Minuten gültig. Nach dieser Zeit läuft sie ab, und Sie müssen einen neuen Benutzer-Importauftrag erstellen, um eine neue URL zu erhalten.

**Example Antwort:**  

```
{
    "UserImportJob": {
        "Status": "Created",
        "SkippedUsers": 0,
        "UserPoolId": "USER_POOL_ID",
        "ImportedUsers": 0,
        "JobName": "JOB_NAME",
        "JobId": "JOB_ID",
        "PreSignedUrl": "PRE_SIGNED_URL",
        "CloudWatchLogsRoleArn": "ROLE_ARN",
        "FailedUsers": 0,
        "CreationDate": 1470957431.965
    }
}
```

#### Statuswerte für einen Benutzer-Importauftrag
<a name="cognito-user-pools-using-import-tool-cli-status-values-for-user-import-job"></a>

In den Antworten auf Ihre Benutzer-Importbefehle sehen Sie einen der folgenden `Status`-Werte:
+ `Created` – Der Auftrag wurde erstellt aber noch nicht gestartet.
+ `Pending` – Ein Übergangsstatus. Sie haben den Auftrag gestartet, aber es wurden bislang noch keine Benutzer importiert.
+ `InProgress` – Der Auftrag wurde gestartet, und Benutzer werden importiert.
+ `Stopping` – Sie haben den Auftrag angehalten, aber der Import von Benutzern wurde noch nicht angehalten.
+ `Stopped` – Sie haben den Auftrag angehalten, und es werden keine Benutzer mehr importiert.
+ `Succeeded` – Der Schritt wurde erfolgreich ausgeführt.
+ `Failed` – Der Auftrag wurde aufgrund eines Fehlers angehalten.
+ `Expired` – Sie haben einen Auftrag erstellt, ihn aber nicht innerhalb von 24-48 Stunden gestartet. Alle mit dem Auftrag verbundenen Daten wurden gelöscht, und der Auftrag kann nicht gestartet werden.

#### Hochladen der CSV-Datei
<a name="cognito-user-pools-using-import-tool-cli-uploading-csv-file"></a>

Verwenden Sie den folgenden `curl`-Befehl zum Hochladen der CSV-Datei mit Ihren Benutzerdaten auf die vorsignierte URL, die Sie aus der Antwort des `create-user-import-job`-Befehls erhalten haben.

```
curl -v -T "PATH_TO_CSV_FILE" -H "x-amz-server-side-encryption:aws:kms" "PRE_SIGNED_URL"
```

In der Ausgabe dieses Befehls suchen Sie die Zeichenfolge `"We are completely uploaded and fine"`. Diese Phrase gibt an, dass die Datei erfolgreich hochgeladen wurde. Ihre Benutzerpools behalten die Informationen in Ihren Importdateien nicht bei, nachdem Sie Ihre Importjobs ausgeführt haben. Nachdem sie abgeschlossen sind oder abgelaufen sind, löscht Amazon Cognito Ihre hochgeladene CSV-Datei.

#### Beschreiben eines Benutzer-Importauftrags
<a name="cognito-user-pools-using-import-tool-cli-describing-user-import-job"></a>

Verwenden Sie den folgenden Befehl, um eine Beschreibung Ihres Benutzerimport-Jobs zu erhalten. Dabei *USER\$1POOL\$1ID* handelt es sich um Ihre Benutzerpool-ID und *JOB\$1ID* um die Job-ID, die bei der Erstellung des Benutzerimport-Jobs zurückgegeben wurde. 

```
aws cognito-idp describe-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
```

**Example Beispielantwort:**  

```
{
    "UserImportJob": {
        "Status": "Created",
        "SkippedUsers": 0,
        "UserPoolId": "USER_POOL_ID",
        "ImportedUsers": 0,
        "JobName": "JOB_NAME",
        "JobId": "JOB_ID",
        "PreSignedUrl": "PRE_SIGNED_URL",
        "CloudWatchLogsRoleArn":"ROLE_ARN",
        "FailedUsers": 0,
        "CreationDate": 1470957431.965
    }
}
```

In der vorherigen Beispielausgabe *PRE\$1SIGNED\$1URL* ist dies die URL, zu der Sie die CSV-Datei hochgeladen haben. Das *ROLE\$1ARN* ist der ARN der CloudWatch Logs-Rolle, den Sie bei der Erstellung der Rolle erhalten haben.

#### Auflisten Ihrer Benutzer-Importaufträge
<a name="cognito-user-pools-using-import-tool-cli-listing-user-import-jobs"></a>

Zum Auflisten Ihrer Benutzer-Importaufträge verwenden Sie den folgenden Befehl:

```
aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 2
```

**Example Beispielantwort:**  

```
{
    "UserImportJobs": [
        {
            "Status": "Created",
            "SkippedUsers": 0,
            "UserPoolId": "USER_POOL_ID",
            "ImportedUsers": 0,
            "JobName": "JOB_NAME",
            "JobId": "JOB_ID",
            "PreSignedUrl":"PRE_SIGNED_URL",
            "CloudWatchLogsRoleArn":"ROLE_ARN",
            "FailedUsers": 0,
            "CreationDate": 1470957431.965
        },
        {
            "CompletionDate": 1470954227.701,
            "StartDate": 1470954226.086,
            "Status": "Failed",
            "UserPoolId": "USER_POOL_ID",
            "ImportedUsers": 0,
            "SkippedUsers": 0,
            "JobName": "JOB_NAME",
            "CompletionMessage": "Too many users have failed or been skipped during the import.",
            "JobId": "JOB_ID",
            "PreSignedUrl":"PRE_SIGNED_URL",
            "CloudWatchLogsRoleArn":"ROLE_ARN",
            "FailedUsers": 5,
            "CreationDate": 1470953929.313
        }
    ],
    "PaginationToken": "PAGINATION_TOKEN"
}
```

Aufträge werden in chronologischer Reihenfolge vom zuletzt erstellten bis zum zuerst erstellten aufgelistet. Die *PAGINATION\$1TOKEN* Zeichenfolge nach dem zweiten Job gibt an, dass für diesen Listenbefehl zusätzliche Ergebnisse vorliegen. Um die zusätzlichen Ergebnisse aufzulisten, verwenden Sie die Option `--pagination-token` wie folgt:

```
aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 10 --pagination-token "PAGINATION_TOKEN"
```

#### Starten eines Benutzer-Importauftrags
<a name="cognito-user-pools-using-import-tool-cli-starting-user-import-job"></a>

Zum Starten eines Benutzer-Importauftrags verwenden Sie den folgenden Befehl:

```
aws cognito-idp start-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
```

Nur ein Importauftrag kann jeweils aktiv sein.

**Example Beispielantwort:**  

```
{
    "UserImportJob": {
        "Status": "Pending",
        "StartDate": 1470957851.483,
        "UserPoolId": "USER_POOL_ID",
        "ImportedUsers": 0,
        "SkippedUsers": 0,
        "JobName": "JOB_NAME",
        "JobId": "JOB_ID",
        "PreSignedUrl":"PRE_SIGNED_URL",
        "CloudWatchLogsRoleArn": "ROLE_ARN",
        "FailedUsers": 0,
        "CreationDate": 1470957431.965
    }
}
```

#### Anhalten eines Benutzer-Importauftrags
<a name="cognito-user-pools-using-import-tool-cli-stopping-user-import-job"></a>

Zum Anhalten eines Benutzer-Importauftrags, während dieser ausgeführt wird, verwenden Sie den folgenden Befehl. Nachdem Sie den Auftrag angehalten haben, kann er nicht neu gestartet werden.

```
aws cognito-idp stop-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
```

**Example Beispielantwort:**  

```
{
    "UserImportJob": {
        "CompletionDate": 1470958050.571,
        "StartDate": 1470958047.797,
        "Status": "Stopped",
        "UserPoolId": "USER_POOL_ID",
        "ImportedUsers": 0,
        "SkippedUsers": 0,
        "JobName": "JOB_NAME",
        "CompletionMessage": "The Import Job was stopped by the developer.",
        "JobId": "JOB_ID",
        "PreSignedUrl":"PRE_SIGNED_URL",
        "CloudWatchLogsRoleArn": "ROLE_ARN",
        "FailedUsers": 0,
        "CreationDate": 1470957972.387
    }
}
```

## Die Importergebnisse des Benutzerpools in der CloudWatch Konsole anzeigen
<a name="cognito-user-pools-using-import-tool-cloudwatch"></a>

Sie können die Ergebnisse Ihres Importauftrags in der CloudWatch Amazon-Konsole einsehen.

**Topics**
+ [Anzeigen der Ergebnisse](#cognito-user-pools-using-import-tool-viewing-the-results)
+ [Interpretieren der Ergebnisse](#cognito-user-pools-using-import-tool-interpreting-the-results)

### Anzeigen der Ergebnisse
<a name="cognito-user-pools-using-import-tool-viewing-the-results"></a>

In den folgenden Schritten wird beschrieben, wie Sie die Benutzerpool-Importergebnisse anzeigen.

**So zeigen Sie die Ergebnisse des Benutzerpoolimports an**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudWatch Konsole unter [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Wählen Sie **Logs**.

1. Wählen Sie die Protokollgruppe für Ihre Benutzerpool-Importaufträge. Der Name der Protokollgruppe liegt in der Form vor `/aws/cognito/userpools/USER_POOL_ID/USER_POOL_NAME`.

1. Wählen Sie das Protokoll für den Benutzer-Importauftrag, den Sie gerade ausgeführt haben. Der Protokollname hat die Form*JOB\$1ID*/*JOB\$1NAME*. Die Ergebnisse im Protokoll beziehen sich auf Ihre Benutzer nach Zeilennummer. Es werden keine Benutzerdaten in das Protokoll geschrieben. Für jeden Benutzer wird eine Zeile ähnlich der folgenden angezeigt:
   + `[SUCCEEDED] Line Number 5956 - The import succeeded.`
   + `[SKIPPED] Line Number 5956 - The user already exists.`
   + `[FAILED] Line Number 5956 - The User Record does not set any of the auto verified attributes to true. (Example: email_verified to true).`

### Interpretieren der Ergebnisse
<a name="cognito-user-pools-using-import-tool-interpreting-the-results"></a>

Der Status von erfolgreich importierten Benutzern ist auf "PasswordReset" gesetzt.

In den folgenden Fällen wird der Benutzer nicht importiert, der Importauftrag wird jedoch fortgesetzt:
+ Keine automatisch überprüften Attribute werden auf gesetzt `true`.
+ Die Benutzerdaten entsprechen nicht dem Schema.
+ Der Benutzer konnte aufgrund eines internen Fehlers nicht importiert werden.

In den folgenden Fällen schlägt der Importauftrag fehl:
+ Die Amazon CloudWatch Logs-Rolle kann nicht übernommen werden, hat nicht die richtige Zugriffsrichtlinie oder wurde gelöscht.
+ Der Benutzerpool wurde gelöscht.
+ Amazon Cognito kann die CSV-Datei nicht analysieren.

## Von importierten Benutzer verlangen, dass sie ihre Passwörter zurücksetzen
<a name="cognito-user-pools-using-import-tool-password-reset"></a>

Wenn Ihr Benutzerpool nur die kennwortbasierte Anmeldung anbietet, müssen Benutzer ihre Passwörter nach dem Import zurücksetzen. *Bei der ersten Anmeldung können sie ein beliebiges Passwort eingeben.* Amazon Cognito fordert sie auf, in der API-Antwort auf die Anmeldeanfrage Ihrer Anwendung ein neues Passwort einzugeben.

Wenn Ihr Benutzerpool kennwortlose Authentifizierungsfaktoren hat, verwendet Amazon Cognito standardmäßig die für importierte Benutzer. Sie werden nicht zur Eingabe eines neuen Passworts aufgefordert und können sich sofort mit einem passwortlosen E-Mail- oder SMS-OTP anmelden. Sie können Benutzer auch auffordern, ein Passwort festzulegen, damit sie andere Anmeldemethoden wie Benutzername/Passwort und Hauptschlüssel verwenden können. Die folgenden Bedingungen gelten für die kennwortlose Anmeldung nach dem Benutzerimport.

1. Sie müssen Benutzer mit einem Attribut importieren, das einem verfügbaren kennwortlosen Anmeldefaktor entspricht. Wenn sich Benutzer mit einer E-Mail-Adresse anmelden können, müssen Sie ein Attribut importieren. `email` Wenn es sich um eine Telefonnummer handelt, müssen Sie ein `phone_number` Attribut importieren. Wenn beides der Fall ist, importieren Sie einen Wert für eines der Attribute.

1. Normalerweise importieren Benutzer in einem `RESET_REQUIRED` Zustand, in dem sie ihr Passwort zurücksetzen müssen. Wenn sie mit der Möglichkeit importiert werden, sich mit einem kennwortlosen Faktor anzumelden, setzt Amazon Cognito ihren Status auf. `CONFIRMED`

Weitere Informationen zur kennwortlosen Authentifizierung, einschließlich deren Einrichtung und Aufbau des Authentifizierungsablaufs in Ihrer Anwendung, finden Sie unter. [Authentifizierung mit Amazon Cognito Cognito-Benutzerpools](authentication.md)

Das folgende Verfahren beschreibt die Benutzererfahrung bei einem benutzerdefinierten Anmeldemechanismus mit lokalen Benutzern in einer `RESET_REQUIRED` nach dem Import einer CSV-Datei. Wenn sich Ihre Benutzer mit verwaltetem Login anmelden, weisen Sie sie an, die Option **Passwort vergessen?** auszuwählen Option, geben Sie den Code aus ihrer E-Mail oder Textnachricht ein und legen Sie ein Passwort fest.

**Von importierten Benutzer verlangen, dass sie ihre Passwörter zurücksetzen**

1. Versuchen Sie sich in Ihrer App unbemerkt als der aktuelle Benutzer anzumelden, wobei `InitiateAuth` ein zufallsgeneriertes Passwort angibt.

1. Amazon Cognito gibt eine `NotAuthorizedException` zurück, wenn `PreventUserExistenceErrors` aktiviert ist. Gibt andernfalls `PasswordResetRequiredException` zurück.

1. Ihre App stellt eine API-Anforderung `ForgotPassword` und setzt das Passwort des Benutzers zurück.

   1. Die App übermittelt den Benutzernamen in einer `ForgotPassword`-API-Anforderung.

   1. Amazon Cognito sendet einen Code an die verifizierte E-Mail-Adresse oder Telefonnummer. Das Ziel hängt von den Werten ab, die Sie für `email_verified` und `phone_number_verified` in Ihrer CSV-Datei angegeben haben. In der Antwort auf die Anforderung `ForgotPassword` ist das Ziel des Codes angegeben.
**Anmerkung**  
Ihr Benutzerpool muss für die Verifizierung von E-Mail-Adressen oder Telefonnummern konfiguriert sein. Weitere Informationen finden Sie unter [Registrieren und Bestätigen von Benutzerkonten](signing-up-users-in-your-app.md).

   1. Ihre App zeigt dem Benutzer eine Nachricht an, damit dieser den Ort überprüft, an den der Code gesendet wurde, und fordert den Benutzer auf, den Code und ein neues Passwort einzugeben.

   1. Der Benutzer gibt den Code und das neue Passwort in der App ein.

   1. Die App übermittelt den Code und das neue Passwort in einer API-Anforderung `ConfirmForgotPassword`.

   1. Ihre App leitet Ihren Benutzer zur Anmeldung weiter.

# Mit Benutzerattributen arbeiten
<a name="user-pool-settings-attributes"></a>

Attribute sind Informationen, anhand derer Sie einzelne Benutzer ermitteln können, z. B. Name, E-Mail-Adresse und Telefonnummer. Ein neuer Benutzerpool hat einen Satz standardmäßiger *Standardattribute*. Sie können Ihrer Benutzerpool-Definition im auch benutzerdefinierte Attribute hinzufügen AWS-Managementkonsole. In diesem Thema werden diese Attribute ausführlich beschrieben und Sie erhalten Tipps zum Einrichten des Benutzerpools.

Speichern Sie nicht alle Informationen von Benutzern in Attributen. Speichern Sie beispielsweise Benutzerdaten, die häufig geändert werden (wie Nutzungsstatistiken oder Spielstände) in einem separaten Datenspeicher, z. B. Amazon Cognito Sync oder Amazon DynamoDB.

Bereinigen Sie die Eingaben für Zeichenkettenwerte von Benutzerattributen, bevor Sie sie an Ihren Benutzerpool senden. Eine Methode zur Analyse der vorgeschlagenen Benutzerattributwerte ist ein Lambda-Trigger wie bei der [Anmeldung](user-pool-lambda-pre-sign-up.md).

**Anmerkung**  
In einigen Dokumentationen und Standards werden Attribute als *Member* bezeichnet.

**Topics**
+ [Standardattribute](#cognito-user-pools-standard-attributes)
+ [Benutzernamen und bevorzugter Benutzername](#user-pool-settings-usernames)
+ [Anpassen von Anmeldeattributen](#user-pool-settings-aliases)
+ [Custom attributes (Benutzerdefinierte Attribute)](#user-pool-settings-custom-attributes)
+ [Attributberechtigungen und -bereiche](#user-pool-settings-attribute-permissions-and-scopes)

## Standardattribute
<a name="cognito-user-pools-standard-attributes"></a>

Amazon Cognito weist allen Benutzern basierend auf der [OpenID-Connect-Spezifikation](http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) eine Reihe von Standardattributen zu. Standard- und benutzerdefinierte Attributwerte können standardmäßig aus einer beliebigen Zeichenfolge von bis zu 2048 Zeichen bestehen. Einige Attributwerte unterliegen jedoch Formatierungseinschränkungen. 

Die Standardattribute sind:
+ `name`
+ `family_name`
+ `given_name`
+ `middle_name`
+ `nickname`
+ `preferred_username`
+ `profile`
+ `picture`
+ `website`
+ `gender`
+ `birthdate`
+ `zoneinfo`
+ `locale`
+ `updated_at`
+ `address`
+ `email`
+ `phone_number`
+ `sub`

Mit Ausnahme von `sub` sind Standardattribute standardmäßig für alle Benutzer optional. Um ein Attribut als erforderlich festzulegen, aktivieren Sie bei der Erstellung des Benutzerpools das Kontrollkästchen **Required** (Erforderlich) neben dem Attribut. Amazon Cognito weist jedem `sub`-Benutzerattribut einen eindeutigen Benutzerkennungswert zu. Nur die Attribute **email** und **phone\$1number** können verifiziert werden.

Standardattribute haben vordefinierte Eigenschaften, die Sie im `SchemaAttributes` Parameter einer [DescribeUserPool API-Antwort](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html#API_DescribeUserPool_ResponseSyntax) anzeigen können. Sie können benutzerdefinierte Werte für diese Attributeigenschaften wie Datentyp, Veränderbarkeit und Längenbeschränkungen festlegen. Um Standardattributeigenschaften zu ändern, legen Sie ihre benutzerdefinierten Werte im [CreateUserPool Schema-Parameter](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html#CognitoUserPools-CreateUserPool-request-Schema) fest. Im Schema legen Sie auch die erforderlichen Attribute fest. Sie können die Eigenschaften von Standardattributen nicht ändern, wenn Sie Benutzerpools in der Amazon Cognito Cognito-Konsole erstellen.

**Anmerkung**  
 Wenn Sie ein Standardattribut als **erforderlich** markieren, kann ein Benutzer sich erst registrieren, wenn er einen Wert für das Attribut angibt. Um Benutzer zu erstellen und keine Werte für erforderliche Attribute anzugeben, können Administratoren die [AdminCreateUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminCreateUser.html)API verwenden. Nachdem Sie einen Benutzerpool erstellt haben, können Sie die Markierung eines Attributs als erforderlich und nicht erforderlich nicht mehr ändern.Details zu Standardattributen und Formateinschränkungen

**birthdate**  
Der Wert muss ein gültiges 10-stelliges Datum im Format sein YYYY-MM-DD.

**E-Mail**  
Benutzer und Administratoren können die Werte für E-Mail-Adressen überprüfen.  
Ein Administrator mit den entsprechenden AWS-Konto Berechtigungen kann die E-Mail-Adresse des Benutzers ändern und sie auch als verifiziert markieren. Markieren Sie eine E-Mail-Adresse mit der [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)API oder dem Befehl [admin-update-user-attributes](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-update-user-attributes.html) AWS Command Line Interface (AWS CLI) als verifiziert. Mit diesem Befehl kann der Administrator das `email_verified`-Attribut in `true` ändern. **Sie können einen Benutzer auch im Benutzermenü der Amazon Cognito Cognito-Konsole bearbeiten, um eine E-Mail-Adresse als verifiziert zu markieren.**  
Der Wert muss eine [gültige E-Mail-Adresszeichenfolge](https://datatracker.ietf.org/doc/html/rfc3696#section-3) sein, die dem Standard-E-Mail-Format mit dem @-Symbol und der Domäne folgt und bis zu 2048 Zeichen lang sein kann.

**phone\$1number**  
Ein Benutzer muss eine Telefonnummer angeben, wenn die SMS-Multi-Faktor-Authentifizierung (MFA) aktiv ist. Weitere Informationen finden Sie unter [Hinzufügen der MFA zu einem Benutzerpool](user-pool-settings-mfa.md).  
Benutzer und Administratoren können Telefonnummernwerte überprüfen.  
Ein Administrator mit den entsprechenden AWS-Konto Berechtigungen kann die Telefonnummer des Benutzers ändern und sie auch als verifiziert markieren. Markieren Sie eine Telefonnummer mit der [AdminUpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html)API oder dem [admin-update-user-attributes](https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-update-user-attributes.html) AWS CLI Befehl als verifiziert. Mit diesem Befehl kann der Administrator das `phone_number_verified`-Attribut in `true` ändern. **Sie können einen Benutzer auch im Benutzermenü der Amazon Cognito Cognito-Konsole bearbeiten, um eine Telefonnummer als verifiziert zu markieren.**  
Bei Telefonnummern müssen die folgenden Formatierungsregeln beachtet werden: Eine Telefonnummer muss mit einem Pluszeichen (**\$1**) beginnen, auf das direkt der Ländercode folgt. Eine Telefonnummer kann nur das Pluszeichen **\$1** und Ziffern enthalten. Entfernen Sie alle anderen Zeichen, z. B. Klammern, Leerzeichen und Bindestriche (**-**) aus einer Telefonnummer, bevor Sie den Wert an den Service übermitteln. Eine Telefonnummer in den Vereinigten Staaten muss beispielsweise das folgende Format haben: **\$114325551212**.

**preferred\$1username**  
Sie können `preferred_username` als erforderlich oder als Alias auswählen, aber nicht beides. Wenn es sich um einen Alias `preferred_username` handelt, können Sie eine Anfrage an den [UpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html)API-Vorgang stellen und den Attributwert hinzufügen, nachdem Sie den Benutzer bestätigt haben.

**sub**  
Indexieren und durchsuchen Sie Ihre Benutzer basierend auf dem `sub`-Attribut. Das `sub`-Attribut ist eine eindeutige Benutzerkennung in jedem Benutzerpool. Benutzer können Attribute wie `phone_number` und `email` ändern. Das `sub`-Attribut hat einen festen Wert. Weitere Informationen zur Suche nach Benutzern finden Sie unter [Verwalten von und Suchen nach Benutzerkonten](how-to-manage-user-accounts.md).

### Erforderliche Attribute anzeigen
<a name="how-to-edit-standard-attributes"></a>

Gehen Sie wie folgt vor, um die erforderlichen Attribute für einen bestimmten Benutzerpool anzuzeigen.

**Anmerkung**  
Sie können erforderliche Attribute nicht mehr ändern, nachdem Sie einen Benutzerpool erstellt haben.

**Erforderliche Attribute anzeigen**

1. Gehen Sie zu [Amazon Cognito](https://console.aws.amazon.com/cognito/home) in der AWS-Managementkonsole. Wenn Sie von der Konsole 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.

1. Wählen Sie das **Anmelde-Menü**.

1. Zeigen Sie die erforderlichen Attribute Ihres Benutzerpools im Abschnitt **Required attributes** (Erforderliche Attribute) an.

## Benutzernamen und bevorzugter Benutzername
<a name="user-pool-settings-usernames"></a>

Der Wert `username` ist ein separates Attribut und nicht mit dem Attribut `name` identisch. Jeder Benutzer hat ein `username`-Attribut. Amazon Cognito generiert automatisch einen Benutzernamen für Verbundbenutzer. Sie müssen ein `username`-Attribut angeben, um einen lokalen Benutzer im Amazon-Cognito-Verzeichnis zu erstellen. Nachdem Sie einen Benutzer erstellt haben, können Sie den Wert des `username`-Attributs nicht mehr ändern.

Entwickler können das `preferred_username`-Attribut verwenden, um Benutzern Benutzernamen zuzuteilen, die diese ändern können. Weitere Informationen finden Sie unter [Anpassen von Anmeldeattributen](#user-pool-settings-aliases).

Wenn für Ihre Anwendung kein Benutzername erforderlich ist, müssen Sie Benutzer nicht zur Angabe eines Benutzernamens auffordern. Ihre App kann im Hintergrund einen eindeutigen Benutzernamen für Benutzer erstellen. Dies kann sich als nützlich erweisen, wenn Sie beispielsweise möchten, dass sich Benutzer mit einer E-Mail-Adresse und einem Passwort registrieren und anmelden. Weitere Informationen finden Sie unter [Anpassen von Anmeldeattributen](#user-pool-settings-aliases).

Der `username` muss innerhalb eines Benutzerpools eindeutig sein. Ein `username` kann wiederverwendet werden, aber erst, nachdem er gelöscht wurde und nicht mehr in Gebrauch ist. Informationen zu den Zeichenkettenbeschränkungen für die `username` Attribute finden Sie in der Eigenschaft *username* einer [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html#CognitoUserPools-SignUp-request-Username)API-Anfrage.

## Anpassen von Anmeldeattributen
<a name="user-pool-settings-aliases"></a>

Beim Erstellen eines Benutzerpools können Sie *Benutzernamenattribute* einrichten, wenn Sie möchten, dass sich Ihre Benutzer mit einer E-Mail-Adresse oder Telefonnummer als Benutzername registrieren können. Alternativ können Sie *Aliasattribute* einrichten, um Ihren Benutzern die Wahl zu lassen: Sie können mehrere Attribute angeben, wenn sie sich registrieren, und sich dann mit einem Benutzernamen, einem bevorzugten Benutzernamen, einer E-Mail-Adresse oder einer Telefonnummer anmelden.

**Wichtig**  
Nachdem Sie einen Benutzerpool erstellt haben, können Sie diese Einstellung nicht mehr ändern.

### So wählen Sie zwischen Aliasattributen und Benutzernamenattributen
<a name="user-pool-settings-aliases-settings"></a>


| Ihre Anforderung | Aliasattribute | Benutzernamenattribute | 
| --- |--- |--- |
| Benutzer haben mehrere Anmeldeattribute | Ja¹ | Nein² | 
| Benutzer müssen ihre E-Mail-Adresse oder Telefonnummer verifizieren, bevor sie sich damit anmelden können | Ja | Nein | 
| Melden Sie Benutzer mit doppelten E-Mail-Adressen oder Telefonnummern an und vermeiden Sie UsernameExistsException Fehler³ | Ja | Nein | 
| Kann denselben Attributwert für E-Mail-Adresse oder Telefonnummer mehreren Benutzern zuweisen | Ja⁴ | Nein | 

¹ Verfügbare Anmeldeattribute sind der Benutzername, die E-Mail-Adresse, die Telefonnummer und der bevorzugte Benutzername.

² Es ist eine Anmeldung mit der E-Mail-Adresse oder der Telefonnummer möglich.

³ Ihr Benutzerpool generiert keine `UsernameExistsException`-Fehler, wenn sich Benutzer mit möglicherweise doppelten E-Mail-Adressen oder Telefonnummern, aber ohne Benutzernamen registrieren. Dieses Verhalten ist unabhängig von der Option **Fehler bei vorhandenen Benutzernamen verhindern**, die für Anmelde-, aber nicht für Registrierungsvorgänge gilt.

³ Nur der letzte Benutzer, der das Attribut verifiziert hat, kann sich damit anmelden.

#### Option 1: Mehrere Anmeldeattribute (Aliasattribute)
<a name="user-pool-settings-aliases-settings-option-1"></a>

Ein Attribut ist ein *Alias*, wenn Benutzer einen Benutzernamen haben, sich aber auch mit diesem Attribut anmelden können. Richten Sie Aliase ein, wenn Sie Ihren Benutzern die Möglichkeit geben möchten, zwischen ihrem Benutzernamen und anderen Attributwerten im Feld für den Benutzernamen Ihres Anmeldeformulars zu wählen. Das `username` Attribut ist ein fester Wert, den Benutzer nicht ändern können. Wenn Sie ein Attribut als Alias markieren, können Benutzer anstelle des Benutzernamens dieses Attribut zur Anmeldung verwenden. Die Attribute E-Mail-Adresse, Telefonnummer und bevorzugter Benutzername können als Aliasnamen markiert werden. Wenn Sie beispielsweise die E-Mail-Adresse und die Telefonnummer als Aliasnamen für einen Benutzerpool auswählen, können sich Benutzer in diesem Benutzerpool mit ihrem Benutzernamen, ihrer E-Mail-Adresse oder ihrer Telefonnummer sowie ihrem Passwort anmelden.

Wählen Sie zum Auswählen von Aliasattributen **User name** (Benutzername) und mindestens eine zusätzliche Anmeldeoption aus, wenn Sie den Benutzerpool erstellen.

**Anmerkung**  
Wenn Sie Ihren Benutzerpool ohne Berücksichtigung der Groß- und Kleinschreibung konfigurieren, kann ein Benutzer entweder Klein- oder Großbuchstaben verwenden, um sich mit seinem Alias zu registrieren oder anzumelden. Weitere Informationen finden Sie [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)in der *Amazon Cognito Cognito-API-Referenz für Benutzerpools*.

Wenn Sie die E-Mail-Adresse als Alias auswählen, akzeptiert Amazon Cognito keinen Benutzernamen, der mit einem gültigen E-Mail-Adressformat übereinstimmt. Ebenso wenig akzeptiert Amazon Cognito einen Benutzernamen für diesen Benutzerpool, der einem gültigen Telefonnummernformat entspricht, wenn Sie eine Telefonnummer als Alias auswählen.

**Anmerkung**  
Aliaswerte müssen in einem Benutzerpool eindeutig sein. Wenn Sie einen Alias für eine E-Mail-Adresse oder eine Telefonnummer konfigurieren, kann der von Ihnen bereitgestellte Wert nur in einem Konto den bestätigten Status aufweisen. Wenn Ihr Benutzer während der Registrierung eine E-Mail-Adresse oder Telefonnummer als Aliaswert angibt und ein anderer Benutzer diesen Aliaswert bereits verwendet hat, ist die Registrierung erfolgreich. Versucht ein Benutzer allerdings, das Konto mit dieser E-Mail-Adresse (oder Telefonnummer) zu bestätigen, und gibt den gültigen Code ein, gibt Amazon Cognito einen `AliasExistsException`-Fehler zurück. Der Fehler weist den Benutzer darauf hin, dass bereits ein Konto mit dieser E-Mail-Adresse (oder Telefonnummer) vorhanden ist. An diesem Punkt kann der Benutzer die Erstellung des neuen Kontos abbrechen und stattdessen versuchen, das Passwort für das alte Konto zurückzusetzen. Wenn der Benutzer mit der Erstellung des neuen Kontos fortfährt, muss Ihre App die `ConfirmSignUp`-API mit der Option `forceAliasCreation` aufrufen. `ConfirmSignUp` mit `forceAliasCreation` verschiebt den Alias vom vorherigen Konto in das neu erstellte Konto und markiert das Attribut im vorherigen Konto als nicht verifiziert.

Telefonnummern und E-Mail-Adressen werden für einen Benutzer erst zu aktiven Aliasnamen, nachdem Ihr Benutzer die Telefonnummern und E-Mail-Adressen verifiziert hat. Wir empfehlen, die automatische Verifizierung von E-Mail-Adressen und Telefonnummern zu aktivieren, wenn Sie diese als Aliasnamen verwenden.

Wählen Sie Aliasattribute, um den Fehler `UsernameExistsException` bei den Attributen für E-Mail-Adressen und Telefonnummern zu vermeiden, wenn sich Ihre Benutzer anmelden.

Aktivieren Sie das `preferred_username`-Attribut, damit Ihr Benutzer den Benutzernamen ändern kann, mit dem er sich anmeldet, während sich der `username`-Attributwert nicht ändert. Wenn Sie diese Benutzererfahrung unterstützen möchten, senden Sie den neuen `username`-Wert als `preferred_username` und wählen `preferred_username` als Alias aus. Anschließend können sich Benutzer mit dem neuen Wert anmelden, den sie eingegeben haben. Wenn `preferred_username` als Alias ausgewählt ist, kann Ihr Benutzer den Wert nur dann bereitstellen, wenn er ein Konto bestätigt. Er kann den Wert nicht während der Registrierung bereitstellen.

Wenn sich der Benutzer mit einem Benutzernamen anmeldet, können Sie auswählen, ob er sich mit einem oder mehreren der folgenden Aliasnamen anmelden kann.
+ Verifizierte E-Mail-Adresse
+ Verifizierte Telefonnummer
+ Bevorzugter Benutzername

Nachdem sich der Benutzer registriert hat, kann er diese Aliasnamen ändern.

**Wichtig**  
Wenn Ihr Benutzerpool die Anmeldung mit Aliasen unterstützt und Sie einen Benutzer autorisieren oder suchen möchten, identifizieren Sie Ihren Benutzer nicht anhand seiner Anmeldeattribute. Die Benutzerkennung `sub` mit festem Wert ist der einzige konsistente Bezeichner für die Identität des Benutzers.

Fügen Sie die folgenden Schritte ein, wenn Sie den Benutzerpool erstellen, damit sich Benutzer mit einem Alias anmelden können.

------
#### [ Phone number or email address (console) ]

Sie müssen E-Mail-Adresse und Telefonnummer als Alias-Attribute festlegen, wenn Sie einen Benutzerpool erstellen.

**So erstellen Sie einen Benutzerpool mit Benutzernamen-Aliasnamen in der Amazon Cognito Cognito-Konsole**

1. Wechseln Sie zu [Amazon Cognito](https://console.aws.amazon.com/cognito/home) in der AWS-Managementkonsole. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre Anmeldeinformationen ein. AWS 

1. Erstellen Sie mit den Schaltflächen **Erste Schritte** oder Benutzerpool **erstellen einen neuen Benutzerpool**.

1. Wählen Sie unter Anwendung **definieren die Anwendungseinstellungen** aus.

1. Aktivieren Sie unter ****Optionen für Anmeldekennungen** konfigurieren** das Kontrollkästchen neben **Benutzername** und mindestens eine der anderen Optionen, **E-Mail** und **Telefonnummer**.

1. Wählen Sie Ihre Alias-Attribute als **Erforderliche Attribute für** die Registrierung aus. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben.

1. Richten **Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL** für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet werden soll.

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

------
#### [ Phone number or email address (API/SDK) ]

Erstellen Sie mit dem [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)API-Vorgang einen neuen Benutzerpool. Konfigurieren Sie den `AliasAttributes` Parameter wie gezeigt. Sie können den `email` Eintrag entfernen, wenn Sie nur Telefonnummern-Aliase verwenden möchten, oder den `phone_number` Eintrag entfernen, wenn Sie nur E-Mail-Adress-Aliase verwenden möchten.

```
"AliasAttributes": [
   "email",
   "phone_number"
],
```

------
#### [ Preferred username (API/SDK) ]

Die Amazon Cognito Cognito-Konsole erstellt Benutzerpools ohne `preferred_username` Alias. Um Benutzerpools mit einem `preferred_username` Alias zu erstellen, richten Sie Benutzerpools mit [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)API-Anfragen in einem AWS SDK ein. Um die Erstellung von bevorzugten Benutzernamenattributen bei der Registrierung zu unterstützen, legen Sie diese `preferred_username` als erforderliches Attribut fest. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Sie *können* es in der Amazon Cognito Cognito-Konsole `preferred_username` als erforderliches Attribut festlegen, aber dadurch ist es nicht als Alias verfügbar.

**Als Alias konfigurieren**  
`preferred_username`Als Alias im `AliasAttributes` Parameter einer `CreateUserPool` Anfrage konfigurieren, wie in der Abbildung gezeigt. Entfernen Sie alle Werte, die Sie nicht als Alias-Attribute verwenden möchten, aus der Liste.

```
"AliasAttributes": [
   "email",
   "phone_number",
   "preferred_username"
],
```

**Konfigurieren Sie nach Bedarf**  
Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Konfigurieren Sie `preferred_username` die Konfiguration nach Bedarf im `SchemaAttributes` Parameter einer Anfrage. [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)

Um den bevorzugten Benutzernamen als erforderliches Attribut festzulegen, konfigurieren Sie ihn wie in der Abbildung gezeigt. Im folgenden Beispiel wird das Standardschema von so geändert`preferred_username`, dass es wie erforderlich festgelegt wird. Andere Schemaparameter wie `AttributeDataType` (standardmäßig`string`) und `StringAttributeConstraints` (standardmäßig 1—99 Zeichen lang) gehen von Standardwerten aus.

```
"Schema": [
   {
      "Name": "preferred_username",
      "Required": true
   }
]
```

------

#### Option 2: E-Mail-Adresse oder Telefonnummer als Anmeldeattribut (Benutzernamenattribute)
<a name="user-pool-settings-aliases-settings-option-2"></a>

Wenn sich der Benutzer mit einer E-Mail-Adresse oder Telefonnummer als Benutzername registriert, können Sie auswählen, ob er sich nur mit E-Mail-Adressen, nur mit Telefonnummern oder mit beidem registrieren kann. 

Um Benutzernamenattribute auszuwählen, wählen Sie beim Erstellen Ihres Benutzerpools nicht **Benutzername** als Anmeldeoption aus.

Die E-Mail-Adresse oder Telefonnummer muss eindeutig sein und darf nicht bereits von einem anderen Benutzer verwendet werden. Sie muss nicht bestätigt sein. Nachdem sich der Benutzer mit einer E-Mail-Adresse oder Telefonnummer registriert hat, kann der Benutzer mit dieser E-Mail-Adresse oder Telefonnummer kein neues Konto erstellen. Der Benutzer kann das vorhandene Konto nur wiederverwenden und das Kontopasswort bei Bedarf zurücksetzen. Der Benutzer kann jedoch die E-Mail-Adresse oder Telefonnummer in eine neue E-Mail-Adresse oder Telefonnummer ändern. Wenn die E-Mail-Adresse oder Telefonnummer noch nicht in Gebrauch ist, wird sie zum neuen Benutzernamen.

Wenn Sie sowohl E-Mail-Adresse als auch Telefonnummer als Benutzernamenattribute auswählen, können sich Benutzer mit dem einen oder anderen anmelden, auch wenn sie Werte für beide Attribute angeben. Der Benutzername für die Anmeldung basiert auf dem Wert, den Sie im `Username` Parameter von [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html#CognitoUserPools-SignUp-request-Username)übergeben.

**Anmerkung**  
Wenn sich ein Benutzer mit einer E-Mail-Adresse als Benutzername registriert, kann er den Benutzernamen zu einer anderen E-Mail-Adresse ändern, jedoch nicht zu einer Telefonnummer. Wenn sich Benutzer mit einer Telefonnummer registrieren, können sie den Benutzernamen zu einer anderen Telefonnummer ändern, jedoch nicht zu einer E-Mail-Adresse.

Führen Sie während der Erstellung des Benutzerpools die folgenden Schritte aus, um eine Registrierung und Anmeldung mit einer E-Mail-Adresse oder Telefonnummer einzurichten.

------
#### [ Username attributes (console) ]

Mit dem folgenden Verfahren wird ein Benutzerpool mit den Attributen E-Mail-Adresse oder Telefonnummer erstellt. Der Unterschied beim Verfahren für Benutzernamenattribute in der Amazon Cognito Cognito-Konsole besteht darin, dass Sie den **Benutzernamen** nicht auch als Anmeldeattribut festlegen.

**So erstellen Sie einen Benutzerpool mit Benutzernamenattributen in der Amazon Cognito Cognito-Konsole**

1. Wechseln Sie zu [Amazon Cognito](https://console.aws.amazon.com/cognito/home) in der AWS-Managementkonsole. Wenn Sie von der Konsole dazu aufgefordert werden, geben Sie Ihre AWS Anmeldeinformationen ein.

1. Erstellen Sie mit den Schaltflächen **Erste Schritte** oder Benutzerpool **erstellen einen neuen Benutzerpool**.

1. Wählen Sie unter Anwendung **definieren die Anwendungseinstellungen** aus.

1. Wählen Sie unter **Optionen für Anmeldekennungen konfigurieren** **unter Optionen für Anmeldekennungen** Ihre Benutzernamenattribute aus: **E-Mail**, **Telefonnummer oder beides.** Lassen Sie das Häkchen für den **Benutzernamen deaktiviert**.

1. Es hat sich bewährt, dass Sie Ihre Benutzernamenattribute als **Erforderliche Attribute für die Registrierung** auswählen. Im Anmeldeformular für verwaltete Logins fordert Amazon Cognito neue Benutzer auf, Werte für die erforderlichen Attribute anzugeben. Wenn Sie Ihre Benutzernamenattribute nicht wie erforderlich festlegen, fordert Amazon Cognito neue Benutzer nicht auf, Werte für sie anzugeben. In diesem Szenario müssen Sie Ihre Anwendung so konfigurieren, dass E-Mail-Adressen oder Telefonnummern für jeden Benutzer erfasst und übermittelt werden, bevor dieser sich anmelden kann.

1. Richten **Sie unter Rückgabe-URL hinzufügen eine Rückruf-URL** für die Anwendung ein, die nach der verwalteten Anmeldung weitergeleitet wird.

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

------
#### [ Username attributes (API/SDK) ]

Konfigurieren Sie den `UsernameAttributes` Parameter in einer [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)Anfrage wie gezeigt. Um die Anmeldung nur mit Benutzernamen mit E-Mail-Adresse zu ermöglichen, geben Sie in dieser Liste die Option „`email`Allein“ an. Um die Anmeldung nur mit Nutzernamen mit Telefonnummer zu ermöglichen, geben Sie „Nur“ an. `phone_number` Dieser Parameter hat Vorrang vor dem Benutzernamen als Anmeldeoption.

```
"UsernameAttributes": [ 
   "email",
   "phone_number"
],
```

------

Wenn Sie Benutzernamenattribute konfigurieren, können Sie [SignUp](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html)API-Anfragen stellen, die eine E-Mail-Adresse oder Telefonnummer im `username` Parameter übergeben. Im Folgenden wird das Verhalten der `SignUp` Code-API-Operation mit Benutzernamenattributen beschrieben.
+ Wenn die `username` Zeichenfolge beispielsweise ein gültiges E-Mail-Adressformat hat`user@example.com`, füllt der Benutzerpool das `email` Attribut des Benutzers automatisch mit dem `username` Wert aus.
+ Wenn die `username` Zeichenfolge beispielsweise ein gültiges Telefonnummernformat hat`+12065551212`, füllt der Benutzerpool das `phone_number` Attribut des Benutzers automatisch mit dem `username` Wert aus.
+ Wenn die `username`-Zeichenfolge kein gültiges E-Mail-Adress- oder Telefonnummernformat besitzt, gibt die `SignUp`-API eine Ausnahme zurück.
+ Wenn die Zeichenfolge `username` eine E-Mail-Adresse oder Telefonnummer enthält, die bereits verwendet wird, gibt die `SignUp`-API eine Ausnahme zurück.
+ Die `SignUp` API füllt das `username` Attribut mit einer [UUID](cognito-terms.md#terms-uuid) für Ihren Benutzer. Diese UUID hat den gleichen Wert wie der `sub`-Anspruch im Token für die Benutzeridentität.

Sie können eine E-Mail-Adresse oder Telefonnummer anstelle des Benutzernamens in allen APIs Fällen verwenden, mit Ausnahme des Vorgangs. [ListUsers](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListUsers.html) In `ListUsers` API-Anfragen können Sie einen Wert `Filter` von `email` oder angeben`phone_number`. Wenn Sie nach filtern`username`, müssen Sie den UUID-Benutzernamen angeben, nicht die E-Mail-Adresse oder Telefonnummer.

## Custom attributes (Benutzerdefinierte Attribute)
<a name="user-pool-settings-custom-attributes"></a>

Sie können Ihrem Benutzerpool bis zu 50 benutzerdefinierte Attribute hinzufügen. Für die benutzerdefinierten Attribute können Sie eine Mindest- und/oder Höchstlänge festlegen. Die maximale Länge eines benutzerdefinierten Attributs darf jedoch nicht mehr als 2048 Zeichen betragen. Der Name eines benutzerdefinierten Attributs muss dem Muster für reguläre Ausdrücke entsprechen, das im `Name` Parameter von beschrieben ist. [SchemaAttributeType](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SchemaAttributeType.html)

**Jedes benutzerdefinierte Attribut hat die folgenden Eigenschaften:**
+ Sie können es als eine Zeichenfolge, eine Zahl, einen booleschen Wert oder `DateTime` ein Objekt definieren. Amazon Cognito schreibt benutzerdefinierte Attributwerte nur als Strings in das ID-Token.
**Anmerkung**  
In der Amazon Cognito Cognito-Konsole können Sie nur benutzerdefinierte Attribute der Datentypen Zeichenfolge und Zahl hinzufügen. Zusätzliche Optionen wie boolesche Datentypen und `DateTime` Attributdatentypen sind nur in den `SchemaAttributes` Property of [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html)- und [UpdateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html)API-Anfragen verfügbar.
+ Sie können nicht verlangen, dass Benutzer einen Wert für das Attribut angeben.
+ Sie können es nicht mehr entfernen oder ändern, nachdem Sie es dem Benutzerpool hinzugefügt haben.
+ Die Zeichenlänge des Attributnamens liegt innerhalb des Grenzwerts, den Amazon Cognito akzeptiert. Weitere Informationen finden Sie unter [Kontingente in Amazon Cognito](quotas.md).
+ Es kann *veränderlich* oder *unveränderlich* sein. Sie können einen Wert nur in ein unveränderliches benutzerdefiniertes Attribut schreiben, wenn Sie einen Benutzer erstellen. Sie können den Wert eines veränderlichen Attributs ändern, wenn Ihr App-Client über Schreibberechtigung für das Attribut verfügt. Weitere Informationen finden Sie unter [Attributberechtigungen und -bereiche](#user-pool-settings-attribute-permissions-and-scopes).

**Anmerkung**  
Im Code und in den Regeleinstellungen für [Verwenden der rollenbasierten Zugriffskontrolle](role-based-access-control.md) ist für benutzerdefinierte Attribute zur Unterscheidung von Standardattributen das Präfix `custom:` erforderlich.

Sie können auch *Entwicklerattribute* hinzufügen, wenn Sie Benutzerpools erstellen, und zwar in der `SchemaAttributes` Eigenschaft von. [CreateUserPool](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html) Entwicklerattribute verfügen über ein `dev:`-Präfix. Sie können die Entwicklerattribute eines Benutzers nur mit AWS Anmeldeinformationen ändern. Entwicklerattribute sind eine veraltete Funktion, die Amazon Cognito durch Lese- und Schreibberechtigungen für App-Clients ersetzt hat.

Führen Sie die folgenden Schritte aus, um ein neues benutzerdefiniertes Attribut zu erstellen.

**Ein benutzerdefiniertes Attribut mithilfe der Konsole hinzufügen**

1. Gehen Sie zu [Amazon Cognito](https://console.aws.amazon.com/cognito/home) in der AWS-Managementkonsole. Wenn Sie von der Konsole 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.

1. Wählen Sie das **Anmeldemenü** und wählen Sie im Abschnitt **Benutzerdefinierte Attribute** die Option **Benutzerdefinierte Attribute hinzufügen** aus.

1. Geben Sie auf der Seite **Add custom attributes** (Benutzerdefinierte Attribute hinzufügen) die folgenden Details zu neuen Attributen ein:
   + Geben Sie einen **Name** (Namen) ein.
   + Wählen Sie als **Type** (Typ) entweder **String** (Zeichenfolge) oder **Number** (Zahl) aus.
   + Geben Sie eine/n **Min** (minimal) Zeichenfolgelänge oder -Zahlenwert ein.
   + Geben Sie eine/n **Max** (maximal) Zeichenfolgelänge oder -Zahlenwert ein.
   + Wählen Sie **Mutable** (Veränderlich) aus, wenn Sie Benutzern die Berechtigung erteilen möchten, den Wert eines benutzerdefinierten Attributs zu ändern, nachdem sie den Anfangswert festgelegt haben.

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

## Attributberechtigungen und -bereiche
<a name="user-pool-settings-attribute-permissions-and-scopes"></a>

Für jeden App-Client können Sie Lese- und Schreibberechtigungen für jedes Benutzerattribut festlegen. Auf diese Weise können Sie den Zugriff steuern, den jede App benötigt, um jedes Attribut zu lesen und zu ändern, das Sie für Ihre Benutzer speichern. Beispiel: Sie haben ein benutzerdefiniertes Attribut, das angibt, ob ein Benutzer zahlender Kunde ist oder nicht. Ihre Apps können dieses Attribut möglicherweise sehen, es aber nicht direkt ändern. Stattdessen aktualisieren Sie dieses Attribut mit einem Verwaltungstool oder einem Hintergrundprozess. Sie können Berechtigungen für Benutzerattribute über die Amazon-Cognito-Konsole, die Amazon-Cognito-API oder die AWS CLI festlegen. Standardmäßig werden alle neuen benutzerdefinierten Attribute erst verfügbar, wenn Sie Lese- und Schreibberechtigungen dafür einrichten. Wenn Sie einen neuen App-Client erstellen, gewähren Sie Ihrer App standardmäßig Lese- und Schreibberechtigungen für alle Standard- und benutzerdefinierten Attribute. Wenn Sie Ihre App nur auf die Menge an Informationen beschränken möchten, die sie benötigt, weisen Sie Attributen in Ihrer App-Client-Konfiguration bestimmte Berechtigungen zu.

Es hat sich bewährt, Lese- und Schreibberechtigungen für Attribute anzugeben, wenn Sie einen App-Client erstellen. Gewähren Sie Ihrem App-Client Zugriff auf die Mindestanzahl an Benutzerattributen, die Sie für den Betrieb Ihrer Anwendung benötigen.

**Anmerkung**  
[DescribeUserPoolClient](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPoolClient.html)gibt nur Werte für `ReadAttributes` und zurück`WriteAttributes`, wenn Sie andere App-Client-Berechtigungen als die Standardberechtigungen konfigurieren.

**So aktualisieren Sie Attributberechtigungen (AWS-Managementkonsole)**

1. Gehen Sie zu [Amazon Cognito](https://console.aws.amazon.com/cognito/home) in der AWS-Managementkonsole. Wenn Sie von der Konsole 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.

1. Wählen Sie das Menü **App-Clients** und wählen Sie einen App-Client aus der Liste aus.

1. Wählen Sie auf der Registerkarte **Attributberechtigungen** die Option **Bearbeiten** aus.

1. Konfigurieren Sie auf der Seite **Edit attribute read and write permissions** (Lese- und Schreibberechtigungen für Attribute bearbeiten) Ihre Lese- und Schreibberechtigungen und wählen Sie anschließend **Save changes** (Änderungen speichern) aus.

Wiederholen Sie diese Schritte für jeden App-Client, der das benutzerdefinierte Attribut verwendet.

Für jeden App-Client können Sie Attribute als lesbar oder schreibbar markieren. Dies gilt sowohl für Standard- als auch für benutzerdefinierte Attribute. Ihre App kann den Wert von Attributen abrufen, die Sie als lesbar markieren, und den Wert von Attributen festlegen oder ändern, die Sie als schreibbar markieren. Wenn Ihre App versucht, einen Wert für ein Attribut festzulegen, zu dessen Schreiben sie nicht berechtigt ist, kehrt Amazon Cognito zurück`NotAuthorizedException`. [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html)Anfragen enthalten ein Zugriffstoken mit einem App-Client-Anspruch; Amazon Cognito gibt nur Werte für Attribute zurück, die Ihr App-Client lesen kann. Das ID-Token Ihres Benutzers aus einer App enthält nur Ansprüche, die den lesbaren Attributen entsprechen. Alle App-Clients können für den Benutzerpool erforderliche Attribute schreiben. Sie können den Wert eines Attributs in einer API-Anforderung für Amazon-Cognito-Benutzerpools nur festlegen, wenn Sie auch einen Wert für alle erforderlichen Attribute angeben, die noch keinen Wert haben.

Benutzerdefinierte Attribute verfügen über unterschiedliche Funktionen für Lese- und Schreibberechtigungen. Sie können sie für den Benutzerpool als veränderbar oder unveränderlich erstellen und sie für jeden App-Client einzeln als Lese- oder Schreibattribute festlegen.

Ein unveränderliches benutzerdefiniertes Attribut kann einmal während der Benutzererstellung aktualisiert werden. Sie können ein unveränderliches Attribut mit den folgenden Methoden auffüllen.
+ `SignUp`: Ein Benutzer meldet sich mit einem App-Client an, der Schreibzugriff auf ein unveränderliches benutzerdefiniertes Attribut hat. Es wird ein Wert für dieses Attribut angegeben.
+ Anmeldung mit einem Drittanbieter-IdP: Ein Benutzer meldet sich bei einem App-Client an, der Schreibzugriff auf ein unveränderliches benutzerdefiniertes Attribut hat. Ihre Benutzerpoolkonfiguration für den IdP enthält eine Regel, mit der ein bereitgestellter Antrag einem unveränderlichen Attribut zugeordnet wird. Dies ist möglich, aber nicht praktikabel, da sich der Benutzer nur einmal anmelden kann. Bei Anmeldeversuchen nach dem ersten Versuch lehnt Amazon Cognito den Versuch aufgrund der Zuordnungsregel zu einem jetzt nicht beschreibbaren Attribut ab.
+ `AdminCreateUser`: Sie geben einen Wert für ein unveränderliches Attribut an.

### Attributberechtigungen mit Geltungsbereichen
<a name="user-pool-settings-attribute-scope-based-permissions"></a>

In Benutzerpools, die Sie mit einem AWS SDK oder CDK, der REST-API oder dem konfigurieren, können Sie den AWS CLI Lese- oder Schreibzugriff des App-Clients mit dem OIDC-Bereich konfigurieren. `oidc:profile` Das `oidc:profile` gewährt Lese- oder Schreibzugriff auf die folgenden Standardattribute:
+ `name`
+ `family_name`
+ `given_name`
+ `middle_name`
+ `nickname`
+ `preferred_username`
+ `profile`
+ `picture`
+ `website`
+ `gender`
+ `birthdate`
+ `zoneinfo`
+ `locale`

Diese Liste besteht aus den OIDC-Standardattributen abzüglich `email``phone_number`,`sub`, und`address`, wie in [Abschnitt 2.4 der OIDC-Spezifikation](https://openid.net/specs/openid-connect-basic-1_0.html#Scopes) definiert. Informationen zu den Bereichen, die Sie Ihren App-Clients zuweisen können, finden Sie unter [Bereiche, M2M und Ressourcenserver](cognito-user-pools-define-resource-servers.md).

Um Ihren App-Client so zu konfigurieren, dass er in die Attribute im `oidc:profile` Bereich schreibt, legen Sie in einer [WriteAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html#CognitoUserPools-CreateUserPoolClient-request-WriteAttributes)oder `oidc:profile` API-Anfrage den Wert auf sowie alle anderen Attribute fest, deren Änderung Sie durch Ihre Anwendung zulassen möchten. [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) Um ebenfalls Lesezugriff auf diese Attribute zu gewähren, erhöhen Sie `oidc:profile` den Wert von [ReadAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html#CognitoUserPools-CreateUserPoolClient-request-ReadAttributes).

Sie können Attributberechtigungen und -bereiche nach dem Erstellen des Benutzerpools ändern.