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.
Benutzer aus einer CSV Datei in Benutzerpools importieren
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 Datei mit kommagetrennten Werten (CSV) 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 und die Datei anschließend in einem Importjob an Ihren Benutzerpool übergeben wird. 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.
Sie können die Passwörter Ihrer Benutzer mit einem festlegen AdminSetUserPasswordAPIAnfrage, die den Permanent
Parameter auf setzttrue
. CSVDer Import trägt nicht zu den monatlich in Rechnung gestellten aktiven Benutzern (MAUs) in Ihrem Benutzerpool bei. Bei Vorgängen zum Zurücksetzen von Kennwörtern wird jedoch etwas generiert. MAUs Um die Kosten zu senken, wenn Sie eine große Anzahl von Benutzern importieren, die möglicherweise nicht sofort aktiv sind, richten Sie Ihre Anwendung so ein, dass Benutzer bei der Anmeldung und beim Empfang 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 Konsole AWS Identity and Access Management (IAM).
-
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 Rolle „ CloudWatch IAMLogs“ erstellen
Wenn Sie Amazon Cognito CLI oder verwendenAPI, müssen Sie eine CloudWatch IAM Rolle erstellen. Das folgende Verfahren beschreibt, wie Sie eine IAM Rolle erstellen, die Amazon Cognito verwenden kann, um die Ergebnisse Ihres Importauftrags in CloudWatch Logs zu schreiben.
Anmerkung
Wenn Sie einen Importauftrag in der Amazon Cognito Cognito-Konsole erstellen, können Sie die IAM Rolle gleichzeitig erstellen. Wenn Sie sich dafür entscheiden, eine neue IAM Rolle zu erstellen, wendet Amazon Cognito automatisch die entsprechende IAM Vertrauensrichtlinie und Richtlinie auf die Rolle an.
Um die IAM Rolle „ CloudWatch Logs“ für den Benutzerpool-Import zu erstellen (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. Ersetzen
REGION
Zum Beispiel mit dem AWS-Region Ihres Benutzerpoolsus-east-1
. ErsetzenACCOUNT
Zum Beispiel mit Ihrer 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. Wählen Sie im Navigationsbereich der IAM Konsole Rollen und dann die neue Rolle aus, die Sie erstellt haben.
-
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.
-
Notieren Sie sich die RolleARN. Sie geben die anARN, wenn Sie Ihren Importjob erstellen.
Erstellen der CSV Benutzerimportdatei
Bevor Sie Ihre vorhandenen Benutzer in Ihren Benutzerpool importieren können, müssen Sie eine Datei mit kommagetrennten Werten (CSV) erstellen, die die Benutzer, die Sie importieren möchten, und deren 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.
Der CSV Datei-Header wird heruntergeladen (Konsole)
Gehen Sie wie folgt vor, um die CSV Header-Datei herunterzuladen.
Um den CSV Datei-Header herunterzuladen
-
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 die Registerkarte Users.
-
Wählen Sie im Abschnitt Import users (Benutzer importieren) die Option Create an import job (Importauftrag erstellen) aus.
-
Wählen Sie unter Upload CSV den Link template.csv aus und laden Sie die CSV Datei herunter.
Der CSV Datei-Header wird heruntergeladen (AWS CLI)
Um eine Liste der richtigen Header zu erhalten, führen Sie den folgenden CLI Befehl aus, wobei USER_POOL_ID
ist die Benutzerpool-ID für den Benutzerpool, in 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
Die heruntergeladene CSV Benutzer-Import-Header-Datei 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 so, dass 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 spielt keine Rolle.
-
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. Wenn die Nachricht an die Telefonnummer gesendet wird, wird sie per SMS Nachricht 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. Das liegt daran, dass die Felder in einer CSV Datei durch Kommas getrennt sind.
-
Der CSV Dateiinhalt sollte im Format UTF -8 ohne Markierung für die 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, falls vorhanden, das folgende Format haben
mm/dd/yyyy
. Das bedeutet zum Beispiel, dass ein Geburtsdatum vom 1. Februar 1985 kodiert werden muss als02/01/1985
. -
Das Feld cognito:mfa_enabled ist ein Pflichtfeld. Wenn Sie in Ihrem Benutzerpool festgelegt haben, dass die Multi-Faktor-Authentifizierung (MFA) erforderlich ist, muss dieses Feld
true
für alle Benutzer gelten. Wenn Sie es MFA auf „Aus“ gesetzt haben, muss dieses Feldfalse
für alle Benutzer gelten. Wenn Sie die Option optional ausgewählt haben, kann dieses Feld entwedertrue
oder seinfalse
, es darf jedoch nicht leer sein. MFA -
Die maximale Zeilenlänge beträgt 16 000 Zeichen.
-
Die maximale CSV Dateigröße beträgt 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.
Benutzer aus einer CSV Datei (Konsole) importieren
Das folgende Verfahren beschreibt, wie Sie die Benutzer aus der CSV Datei importieren.
Um Benutzer aus der CSV Datei (Konsole) zu importieren
-
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 die Registerkarte Users.
-
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, ob Sie eine neue IAM Rolle erstellen oder eine vorhandene IAM Rolle verwenden möchten.
-
Wenn Sie 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 Principal, der den Importjob erstellt, muss über Berechtigungen zum Erstellen von IAM Rollen verfügen.
-
Wenn Sie Bestehende IAM Rolle verwenden ausgewählt haben, wählen Sie eine Rolle aus der Liste unter IAMRollenauswahl aus. Diese Rolle muss über die in Die Rolle „ CloudWatch IAMLogs“ erstellen beschriebenen Berechtigungen und Vertrauensrichtlinien verfügen.
-
-
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 auf der Registerkarte Users (Benutzer) unter Import users (Benutzer importieren) Ihren Importauftrag aus und wählen Sie dann Start (Starten) aus. Sie können auch eine StartUserImportJobAPIAnfrage von einem einreichen AWS SDK.
-
Überwachen Sie den Fortschritt Ihres Benutzerimportauftrags auf der Registerkarte Users (Benutzer) unter Import users (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, wobei JOB_NAME
ist der Name, den Sie für den Job wählen, USER_POOL_ID
ist die Benutzerpool-ID für den Benutzerpool, zu dem die neuen Benutzer hinzugefügt werden, und ROLE_ARN
ist die Rolle, die ARN Sie erhalten haben inDie Rolle „ CloudWatch IAMLogs“ 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
"
Das Tool PRE_SIGNED_URL
Die in der Antwort zurückgegebene Antwort ist 15 Minuten gültig. Nach Ablauf dieser Zeit läuft er ab und Sie müssen einen neuen Benutzerimportauftrag erstellen, um einen neuen zu erhaltenURL.
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 } }
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.
Die CSV Datei wird hochgeladen
Verwenden Sie den folgenden curl
Befehl, um die CSV Datei mit Ihren Benutzerdaten in die vorsignierte Datei hochzuladenURL, die Sie durch die Antwort auf den Befehl erhalten haben. create-user-import-job
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.
Beschreiben eines Benutzer-Importauftrags
Um eine Beschreibung Ihres Benutzerimport-Jobs zu erhalten, verwenden Sie den folgenden Befehl, wobei USER_POOL_ID
ist Ihre Benutzerpool-ID und JOB_ID
ist die Job-ID, die zurückgegeben wurde, als Sie den Benutzerimportjob erstellt haben.
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 dasURL, in das Sie die CSV Datei hochgeladen haben. Das Tool ROLE_ARN
ist die CloudWatch Logs-RolleARN, die 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. Das Tool PAGINATION_TOKEN
Die 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 das folgende Format
JOB_ID
/JOB_NAME
. Die Ergebnisse im Protokoll beziehen sich auf Ihre Benutzer nach der 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
Bei erfolgreich importierten Benutzern ist der Status 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
Jeder importierte Benutzer, der sich zum ersten Mal anmeldet und ein Passwort eingibt, wird aufgefordert, ein neues Passwort einzugeben. Das folgende Verfahren beschreibt die Benutzererfahrung in einer benutzerdefinierten App mit lokalen Benutzern, nachdem Sie eine CSV Datei importiert haben. Wenn sich Ihre Benutzer bei der gehosteten Benutzeroberfläche anmelden, fordert sie Amazon Cognito bei der ersten Anmeldung auf, ein neues Passwort festzulegen.
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
ForgotPassword
API Anfrage und setzt das Benutzerkennwort zurück.-
Die App übermittelt den Benutzernamen in einer
ForgotPassword
API Anfrage. -
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 sendet den Code und das neue Passwort in einer
ConfirmForgotPassword
API Anfrage. -
Ihre App leitet Ihren Benutzer zur Anmeldung weiter.
-