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.
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 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.
Sie können die Passwörter Ihrer Benutzer auch mit einem festlegen AdminSetUserPasswordAPI-Anfrage, die den Permanent
Parameter auf setzttrue
. 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
-
Erstellen Sie eine Amazon CloudWatch Logs-Rolle in der AWS Identity and Access Management (IAM-) Konsole.
-
Erstellen Sie die Benutzerimport-CSV-Datei.
-
Erstellen Sie den Benutzerimportauftrag und führen Sie ihn aus.
-
Laden Sie die Benutzerimport-CSV-Datei hoch.
-
Starten Sie den Benutzerimportauftrag und führen Sie ihn aus.
-
Wird verwendet CloudWatch , um das Ereignisprotokoll zu überprüfen.
-
Verlangen Sie von den importierten Benutzer, dass sie ihre Passwörter zurücksetzen.
Weitere -Quellen
-
Referenzarchitektur für den Export von Cognito-Benutzerprofilen
zum Exportieren von Benutzerkonten zwischen Benutzerpools
Themen
Die IAM-Rolle „ CloudWatch Logs“ erstellen
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)
Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter. https://console.aws.amazon.com/iam/
-
Erstellen Sie eine neue IAM-Rolle für eine. AWS-Service Detaillierte Anweisungen finden Sie unter Erstellen einer Rolle für einen AWS-Service im Benutzerhandbuch zu AWS Identity and Access Management .
-
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.
-
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 beispielsweiseus-east-1
durch die AWS-Region Ihres Benutzerpools.ACCOUNT
Ersetzen Sie es zum Beispiel durch Ihre AWS-Konto ID111122223333
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:
REGION
:ACCOUNT
:log-group:/aws/cognito/*" ] } ] }
-
-
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.
-
Wählen Sie die Registerkarte Trust relationships (Vertrauensstellungen).
-
Wählen Sie Vertrauensrichtlinie bearbeiten aus.
-
Fügen Sie die folgende Richtlinienanweisung in das Feld Edit trust policy (Vertrauensrichtlinie bearbeiten) ein und ersetzen Sie dabei den vorhandenen Text:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cognito-idp.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Wählen Sie Richtlinie aktualisieren.
-
Beachten Sie die Rollen-ARN. Sie geben den ARN ein, wenn Sie den Importauftrag erstellen.
Erstellen der CSV-Datei für den Benutzerimport
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 entsprechen.
Herunterladen des CSV-Datei-Headers (Konsole)
Gehen Sie wie folgt vor, um die CSV-Header-Datei herunterzuladen.
So laden Sie den CSV-Datei-Header herunter
-
Melden Sie sich bei der Amazon-Cognito-Konsole
an. Möglicherweise werden Sie zur Eingabe Ihrer AWS Anmeldeinformationen aufgefordert. -
Wählen Sie User Pools (Benutzerpools) aus.
-
Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus.
-
Wählen Sie das Menü Benutzer.
-
Wählen Sie im Abschnitt Import users (Benutzer importieren) die Option Create an import job (Importauftrag erstellen) aus.
-
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)
Um eine Liste der richtigen Header zu erhalten, führen Sie den folgenden CLI-Befehl aus. Dabei USER_POOL_ID
handelt es sich um die Benutzerpool-ID für den Benutzerpool, in den Sie Benutzer importieren möchten:
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
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.
-
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
-
cognito:mfa_enabled
-
email_verified oder phone_number_verified
-
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_verified oder phone_number_verified. 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_number als automatisch überprüftes Attribut aufweist, muss der Wert phone_number_verified
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.
-
-
email (wenn email_verified
true
ist) -
phone_number (wenn phone_number_verified
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 (\) 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, falls vorhanden, müssen das folgende Format
mm/dd/yyyy
haben. Das bedeutet, dass z. B. das Geburtsdatum 1. Februar 1985 als02/01/1985
kodiert werden muss. -
Das Feld cognito:mfa_enabled ist ein Pflichtfeld. Wenn Sie festgelegt haben, dass die Multi-Factor Authentication (MFA) in Ihrem Benutzerpool erforderlich ist, muss das Feld für alle Benutzer
true
sein. Wenn Sie MFA als deaktiviert festgelegt haben, muss dieses Feld für alle Benutzerfalse
sein. Wenn Sie MFA als optional festgelegt haben, kann dieses Feld entwedertrue
oderfalse
sein, aber es darf nicht leer sein. -
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_at 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
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.
Importieren von Benutzern aus einer CSV-Datei (Konsole)
Im folgenden Verfahren wird beschrieben, wie Sie Benutzer aus der CSV-Datei importieren.
So importieren Sie Benutzer aus der CSV-Datei (Konsole)
-
Melden Sie sich bei der Amazon-Cognito-Konsole
an. Möglicherweise werden Sie zur Eingabe Ihrer AWS Anmeldeinformationen aufgefordert. -
Wählen Sie User Pools (Benutzerpools) aus.
-
Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus.
-
Wählen Sie das Menü Benutzer.
-
Wählen Sie im Abschnitt Import users (Benutzer importieren) die Option Create an import job (Importauftrag erstellen) aus.
-
Geben Sie auf der Seite Create import job (Importauftrag erstellen) unter Job name einen Auftragsnamen ein.
-
Wählen Sie dann Create a new IAM role (Neue IAM-Rolle erstellen) oder Use an existing IAM role (Vorhandene IAM-Rolle verwenden) aus.
-
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.
-
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 beschriebenen Berechtigungen und Vertrauensrichtlinien verfügen.
-
-
Wählen Sie unter CSV hochladen die Option Datei auswählen und hängen Sie die CSV-Datei an, die Sie vorbereitet haben.
-
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.
-
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 StartUserImportJobAPI-Anfrage von einem AWS SDK aus einreichen.
-
Ü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)
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
Nachdem Sie Ihre CSV-Datei erstellt haben, erstellen Sie einen Benutzerimportauftrag, indem Sie den folgenden CLI-Befehl ausführen. Dabei JOB_NAME
stehen der Name, den Sie für den Job wählen, USER_POOL_ID
die Benutzerpool-ID für den Benutzerpool, dem die neuen Benutzer hinzugefügt werden, und ROLE_ARN
der Rollen-ARN, in dem Sie erhalten habenDie IAM-Rolle „ CloudWatch Logs“ erstellen:
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_SIGNED_URL
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.
Beispiel 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
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
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
Um eine Beschreibung Ihres Benutzerimport-Jobs zu erhalten, verwenden Sie den folgenden Befehl. Dabei USER_POOL_ID
steht Ihre Benutzerpool-ID und JOB_ID
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
"
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_SIGNED_URL
ist dies die URL, zu der Sie die CSV-Datei hochgeladen haben. Das ROLE_ARN
ist der ARN der CloudWatch Logs-Rolle, den Sie bei der Erstellung der Rolle erhalten haben.
Auflisten Ihrer Benutzer-Importaufträge
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
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_TOKEN
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
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.
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
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
"
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
Sie können die Ergebnisse Ihres Importauftrags in der CloudWatch Amazon-Konsole einsehen.
Anzeigen der Ergebnisse
In den folgenden Schritten wird beschrieben, wie Sie die Benutzerpool-Importergebnisse anzeigen.
So zeigen Sie die Ergebnisse des Benutzerpoolimports an
Melden Sie sich bei der an AWS Management Console und öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/
. -
Wählen Sie Logs.
-
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
-
Wählen Sie das Protokoll für den Benutzer-Importauftrag, den Sie gerade ausgeführt haben. Der Protokollname hat die Form
JOB_ID
/JOB_NAME
. 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
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
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.
-
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 einphone_number
Attribut importieren. Wenn beides der Fall ist, importieren Sie einen Wert für eines der Attribute. -
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
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
-
Versuchen Sie sich in Ihrer App unbemerkt als der aktuelle Benutzer anzumelden, wobei
InitiateAuth
ein zufallsgeneriertes Passwort angibt. -
Amazon Cognito gibt eine
NotAuthorizedException
zurück, wennPreventUserExistenceErrors
aktiviert ist. Gibt andernfallsPasswordResetRequiredException
zurück. -
Ihre App stellt eine API-Anforderung
ForgotPassword
und setzt das Passwort des Benutzers zurück.-
Die App übermittelt den Benutzernamen in einer
ForgotPassword
-API-Anforderung. -
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
undphone_number_verified
in Ihrer CSV-Datei angegeben haben. In der Antwort auf die AnforderungForgotPassword
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.
-
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.
-
Der Benutzer gibt den Code und das neue Passwort in der App ein.
-
Die App übermittelt den Code und das neue Passwort in einer API-Anforderung
ConfirmForgotPassword
. -
Ihre App leitet Ihren Benutzer zur Anmeldung weiter.
-