View a markdown version of this page

Importieren von Benutzern aus einer CSV-Datei in Benutzerpools - Amazon Cognito

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.

Importieren von Benutzern aus einer CSV-Datei in Benutzerpools

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.

Standardmäßig legt der Importvorgang Werte für alle Benutzerattribute mit Ausnahme des Kennworts fest. 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 wurden.

Alternativ können Sie Benutzer mit ihren vorhandenen Passwort-Hashes importieren. Wenn Sie bei der Erstellung des Importauftrags einen Passwort-Hashing-Algorithmus angeben und Passwort-Hashes in Ihre CSV-Datei aufnehmen, importiert Amazon Cognito die Benutzer mit ihren vorhandenen Passwörtern. Diese Benutzer werden mit einem CONFIRMED Status erstellt und können sich sofort anmelden, ohne ihre Passwörter zurückzusetzen. Weitere Informationen finden Sie unter Benutzer mit Passwort-Hashes importieren.

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-Einmalpasswö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 einer AdminSetUserPasswordAPI-Anfrage festlegen, die den Permanent Parameter auf true festlegt. Der CSV-Import trägt nicht zu den in Rechnung gestellten monatlichen aktiven Benutzern (MAUs) in Ihrem Benutzerpool bei. Bei Vorgängen zum Zurücksetzen von Passwörtern werden jedoch MAUs generiert. Um die Kosten zu minimieren, 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 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
  1. Erstellen Sie eine Amazon CloudWatch Logs-Rolle in der AWS Identity and Access Management (IAM-) Konsole.

  2. Erstellen Sie die Benutzerimport-CSV-Datei.

  3. Erstellen Sie den Benutzerimportauftrag und führen Sie ihn aus. Geben Sie optional einen Passwort-Hash-Algorithmus an, um Benutzer mit ihren vorhandenen Passwort-Hashes zu importieren.

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

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

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

  7. Wenn Sie keine Kennwort-Hashes importiert haben, fordern Sie die importierten Benutzer auf, ihre Passwörter zurückzusetzen.

Weitere -Quellen

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.

Um die IAM-Rolle CloudWatch Logs für den Benutzerpool-Import zu erstellen (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/.

  2. 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 .

    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.

    2. 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. REGIONErsetzen Sie sie beispielsweise us-east-1 durch die AWS-Region Ihres Benutzerpools. ACCOUNTErsetzen Sie es beispielsweise durch Ihre AWS-Konto ID111122223333.

      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/*" ] } ] }
  3. 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.

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

  5. Wählen Sie Vertrauensrichtlinie bearbeiten aus.

  6. 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" } ] }
  7. Wählen Sie Richtlinie aktualisieren.

  8. 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
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Möglicherweise werden Sie zur Eingabe Ihrer AWS Anmeldeinformationen aufgefordert.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus.

  4. Wählen Sie das Menü Benutzer.

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

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

Der Header der CSV-Datei wird heruntergeladen (AWS CLI)

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_POOL_ID 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-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

    • 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.

  • Der Inhalt der CSV-Datei sollte ein UTF-8 Format ohne Bytereihenfolgenmarkierung haben.

  • 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_enabled 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 MFA-enabled den Status importierter Benutzer auf den vom Benutzerpool geforderten Status. Sie können Benutzer in einen MFA-required Benutzerpool ohne gültigen MFA-Faktor importieren, unabhängig davon, ob Sie einen cognito:mfa_enabled Wert festlegen. 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_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)
  1. Melden Sie sich bei der Amazon-Cognito-Konsole an. Möglicherweise werden Sie zur Eingabe Ihrer AWS Anmeldeinformationen aufgefordert.

  2. Wählen Sie User Pools (Benutzerpools) aus.

  3. Wählen Sie einen vorhandenen Benutzerpool aus der Liste aus.

  4. Wählen Sie das Menü Benutzer.

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

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

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

    2. 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.

  8. Wählen Sie unter CSV hochladen die Option Datei auswählen und hängen Sie die vorbereitete CSV-Datei an.

  9. 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.

  10. 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.

  11. Ü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.

Benutzer importieren (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"
Beispiel 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
Beispiel 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.

Beispiel 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"
Beispiel 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
  1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die CloudWatch Konsole unter https://console.aws.amazon.com/cloudwatch/.

  2. Wählen Sie Logs.

  3. 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.

  4. Wählen Sie das Protokoll für den Benutzer-Importauftrag, den Sie gerade ausgeführt haben. Der Protokollname hat die FormJOB_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.

  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.

  2. 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
  1. Versuchen Sie sich in Ihrer App unbemerkt als der aktuelle Benutzer anzumelden, wobei InitiateAuth ein zufallsgeneriertes Passwort angibt.

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

  3. 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.

    2. 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.

    3. 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.

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

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

    6. Ihre App leitet Ihren Benutzer zur Anmeldung weiter.

Benutzer mit Passwort-Hashes importieren

Wenn Sie Benutzer von einem vorhandenen Authentifizierungssystem zu Amazon Cognito migrieren, können Sie ihre Passwort-Hashes zusammen mit ihren Benutzerattributen importieren. Ihre Benutzer können sich dann sofort mit ihren vorhandenen Passwörtern anmelden, ohne dass das Passwort zurückgesetzt werden muss. Nachdem sich Benutzer zum ersten Mal angemeldet haben, migriert Amazon Cognito ihre Anmeldeinformationen transparent in das native Amazon Cognito Cognito-Authentifizierungssystem.

Wichtig

Der Passwort-Hash-Import ist derzeit nicht für alle Benutzerpools verfügbar. Der Passwort-Hash-Import erfordert die moderne Amazon Cognito Cognito-Infrastruktur mit erweiterten Funktionen und Skalierbarkeit. Einige Benutzerpools befinden sich noch in einer früheren Infrastruktur und AWS werden sie auf die neue Infrastruktur aktualisieren, wodurch diese Funktion freigeschaltet wird. In der Amazon Cognito Cognito-Konsole zeigen berechtigte Benutzerpools beim Erstellen von Importaufträgen die Option für den Passwort-Hashing-Algorithmus an, und nicht berechtigte Pools zeigen diese Option nicht an. Weitere Informationen finden Sie im Sicherheitsblog unter Amazon Cognito erschließt erweiterte Funktionen mit Infrastruktur der AWS nächsten Generation.

So funktioniert der Passwort-Hash-Import

Mit dem Passwort-Hash-Import können Sie Benutzer migrieren und gleichzeitig ihre Möglichkeit behalten, sich mit ihren vorhandenen Passwörtern anzumelden. Der Importvorgang funktioniert wie folgt:

  1. Sie erstellen einen Importjob und geben den Passwort-Hash-Algorithmus an, den Ihr Quellsystem zur Erstellung der Passwort-Hashes verwendet hat.

  2. Sie fügen die password_hash Spalte mit dem Passwort-Hashwert jedes Benutzers in Ihre CSV-Datei ein.

  3. Amazon Cognito importiert Benutzer mit ihren Passwort-Hashes und erstellt sie mit einem CONFIRMED Status. Benutzer können sich sofort anmelden.

  4. Wenn sich ein Benutzer zum ersten Mal anmeldet, überprüft Amazon Cognito sein Passwort anhand des importierten Hash. Nach erfolgreicher Überprüfung migriert Amazon Cognito die Anmeldeinformationen des Benutzers in das native Authentifizierungssystem.

  5. Alle nachfolgenden Anmeldungen verwenden das native Amazon Cognito Cognito-Authentifizierungssystem.

Wichtig

Alle Passwort-Hashes in einem einzigen Importauftrag müssen denselben Algorithmus verwenden. Sie geben den Algorithmus auf Auftragsebene an, wenn Sie den Importauftrag erstellen.

Anmerkung

Bis ein Benutzer seine erste Anmeldung abgeschlossen hat und Amazon Cognito seine Anmeldeinformationen migriert, können Sie die Secure Remote Password (SRP) -Authentifizierung für diesen Benutzer nicht verwenden. Verwenden Sie USER_PASSWORD_AUTH oder ADMIN_USER_PASSWORD_AUTH Flows für Benutzer mit importierten Passwort-Hashes, die sich noch nicht angemeldet haben.

Unterstützte Algorithmen zum Hashing von Passwörtern

Amazon Cognito unterstützt die folgenden Passwort-Hashing-Algorithmen für den Import:

BCRYPT

Die adaptive Hash-Funktion von bcrypt. Amazon Cognito extrahiert alle erforderlichen Parameter (Salz, Kostenfaktor) aus der Hash-Zeichenfolge.

Format: $2<a/b/x/y>$[cost]$[22-char salt][31-char hash]

Beispiel: $2b$10$CtA.Rcu/szzn9U00wpUjOuN3vrgJRZycv4aOzcP3GzqzO8UDPEFq6

Maximaler Kostenfaktor: 10

SCRYPT

Die auf Kennwörtern basierende Scrypt-Funktion zur Schlüsselableitung. Amazon Cognito extrahiert alle erforderlichen Parameter aus der Hash-Zeichenfolge.

Format: N$r$p$hexSalt$hexHash

Beispiel: 65536$8$1$304dbaef7c5e828dc19c98f0600d18fe$4f69c498c12cd102d057356facf8d77e8d42407090491ea32c5b038f5a18c099

Maximale Parameter: N (CPU/memory Kosten) = 65536, r (Blockgröße) = 8, p (Parallelität) = 1

ARGON2ID

Der Argon2ID-Passwort-Hash-Algorithmus. Amazon Cognito extrahiert alle erforderlichen Parameter aus der Hash-Zeichenfolge.

Format: $argon2id$v=N$m=M,t=T,p=P$salt$hash

Beispiel: $argon2id$v=19$m=19456,t=2,p=1$ko/G5o1ms+ML08P95sQ8DA$AkVbvWSOqz7Hs3qthhWKxicOWnGLN+MBmpwc3emi5VA

Maximale Parameter: m (Speicher in KiB) = 19456, t (Iterationen) = 2, p (Parallelität) = 1

PBKDF2_SHA256

Password-Based Schlüsselableitungsfunktion 2 mit. SHA-256 Amazon Cognito extrahiert alle erforderlichen Parameter aus der Hash-Zeichenfolge.

Format: $pbkdf2-sha256$iterations$salt$hash

Beispiel: $pbkdf2-sha256$600000$1XZlmwLQ2hhM3JYuCPiArQ$Pfheg9Zi/v5lXU4yyLA0WFUYEd/rlaVbzrM9oMD6IrA

Maximale Iterationen: 600000

Anmerkung

Alle unterstützten Algorithmen sind selbstbeschreibend, was bedeutet, dass Amazon Cognito alle erforderlichen Parameter (wie Salz, Kostenfaktor und Iterationen) direkt aus der Hash-Zeichenfolge extrahieren kann. Sie müssen nur den Namen des Algorithmus angeben, wenn Sie den Importauftrag erstellen.

Wenn Ihr Passwort-Hash Parameterwerte enthält, die die oben aufgeführten Höchstgrenzen überschreiten, schlägt der Import für diesen Benutzer fehl. Überprüfen Sie vor dem Import die Passwort-Hashing-Konfiguration Ihres Quellsystems, um die Kompatibilität sicherzustellen.

Hinzufügen von Passwort-Hashes zu Ihrer CSV-Datei

Wenn Sie die CSV-Vorlage für den Benutzerimport herunterladen, enthält die Vorlage eine password_hash Spalte. Füllen Sie diese Spalte mit den Kennwort-Hashwerten für Benutzer, die Sie importieren möchten, mit ihren vorhandenen Passwörtern aus.

CSV-Formatierungsregeln für den Passwort-Hash-Import
  • Die password_hash Spalte ist erforderlich, wenn Ihr Importjob einen Passwort-Hash-Algorithmus spezifiziert. Wenn Sie den Wert für einen bestimmten Benutzer leer lassen, importiert Amazon Cognito diesen Benutzer ohne Passwort und setzt den Benutzer auf den RESET_REQUIRED Status.

  • Wenn Ihr Importauftrag einen Passwort-Hash-Algorithmus spezifiziert, Ihre CSV-Datei jedoch keine password_hash Spalte enthält, schlägt der Job fehl.

  • Wenn ein Passwort-Hashwert falsch formatiert ist oder nicht dem erwarteten Format für den angegebenen Algorithmus entspricht, schlägt der Import für diesen Benutzer fehl. Amazon Cognito erstellt den Benutzer nicht und zeichnet den Fehler in Ihren Amazon CloudWatch Logs-Protokollen auf.

  • Bei Kennwort-Hashwerten wird zwischen Groß- und Kleinschreibung unterschieden. Stellen Sie sicher, dass sie genau dem Format entsprechen, das der Algorithmus erwartet.

Beispiel Beispiel-CSV mit Passwort-Hashes

Das folgende Beispiel zeigt eine CSV-Datei, die Benutzer mit Bcrypt-Passwort-Hashes importiert:

cognito:username,email,email_verified,phone_number,phone_number_verified,password_hash alejandro_rosalez,alejandro_rosalez@example.com,TRUE,+12345550100,TRUE,$2b$10$CtA.Rcu/szzn9U00wpUjOuN3vrgJRZycv4aOzcP3GzqzO8UDPEFq6 mary_major,mary_major@example.com,TRUE,+12345550199,TRUE,$2b$10$CtA.Rcu/szzn9U00wpUjOuN3vrgJRZycv4aOzcP3GzqzO8UDPEFq6

Einen Importjob mit Passwort-Hashes erstellen (AWS CLI)

Um Benutzer mit Passwort-Hashes zu importieren, müssen Sie bei der Erstellung des Importjobs den Passwort-Hashing-Algorithmus angeben. Alle Benutzer im Importauftrag müssen denselben Algorithmus verwenden.

Verwenden Sie den folgenden AWS Command Line Interface Befehl, um einen Importjob mit Passwort-Hashes zu erstellen. Der --password-hashing-algorithm Parameter gibt den Algorithmus an, der zum Erstellen der Passwort-Hashes in Ihrer CSV-Datei verwendet wird.

aws cognito-idp create-user-import-job \ --job-name "JOB_NAME" \ --user-pool-id "USER_POOL_ID" \ --cloud-watch-logs-role-arn "ROLE_ARN" \ --password-hashing-algorithm BCRYPT

BCRYPTErsetzen Sie ihn durch einen der unterstützten Algorithmen:BCRYPT, SCRYPTARGON2ID, oderPBKDF2_SHA256.

Beispiel 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", "PasswordHashingAlgorithm": "BCRYPT", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

Die Antwort enthält das PasswordHashingAlgorithm Feld, das den von Ihnen angegebenen Algorithmus bestätigt. Laden Sie Ihre CSV-Datei auf die vorsignierte URL hoch und starten Sie den Job wie unter beschriebenHochladen der CSV-Datei.

Benutzererfahrung nach dem Passwort-Hash-Import

Benutzer, die mit Passwort-Hashes importiert wurden, haben folgende Erfahrungen gemacht:

  • Sofortige Anmeldung: Benutzer können sich sofort nach dem Import mit ihren vorhandenen Passwörtern anmelden. Benutzer erhalten keine Aufforderung, ihre Passwörter zurückzusetzen.

  • Benutzerstatus: Amazon Cognito erstellt diese Benutzer mit einem CONFIRMED Status anstelle vonRESET_REQUIRED.

  • Transparente Migration: Wenn sich Benutzer zum ersten Mal anmelden, überprüft Amazon Cognito ihr Passwort anhand des importierten Hash. Nach erfolgreicher Überprüfung migriert Amazon Cognito ihre Anmeldeinformationen auf das native Authentifizierungssystem. Alle nachfolgenden Anmeldungen verwenden das native System.

  • Latenz bei der ersten Anmeldung: Die erste Anmeldung für Benutzer mit importierten Passwort-Hashes kann etwas länger dauern als nachfolgende Anmeldungen. Amazon Cognito muss das Passwort anhand des importierten Hash verifizieren und die Anmeldeinformationen auf das native Authentifizierungssystem migrieren.

  • Passwort zurücksetzen: Wenn ein Benutzer sein Passwort vor seiner ersten Anmeldung zurücksetzt, wird sein importierter Passwort-Hash mit dem nativen Amazon Cognito Cognito-Authentifizierungssystem durch ein neues Passwort ersetzt.

Behebung von Fehlern beim Import von Passwort-Hashs

Wenn ein Passwort-Hash-Import für einen Benutzer fehlschlägt, zeichnet Amazon Cognito den Fehler in Ihren Amazon CloudWatch Logs-Protokollen auf. Zu den häufigsten Fehlerszenarien gehören:

Fehlerhafter Hash

Der Passwort-Hash entspricht nicht dem erwarteten Format für den angegebenen Algorithmus. Stellen Sie sicher, dass das Hash-Format korrekt ist und einem der unter aufgeführten Formate entsprichtUnterstützte Algorithmen zum Hashing von Passwörtern.

Der Parameter ist außerhalb der Grenzen

Der Passwort-Hash enthält Parameterwerte (wie Kostenfaktor oder Iterationen), die die maximal zulässigen Werte überschreiten. Wählen Sie für Benutzer mit inkompatiblen Hashes eine der folgenden Optionen:

  • Importieren Sie diese Benutzer ohne Passwort-Hash, indem Sie das password_hash Feld leer lassen. Amazon Cognito setzt sie auf den RESET_REQUIRED Status und sie müssen ihre Passwörter bei der ersten Anmeldung zurücksetzen.

  • Verwenden Sie einen Lambda-Trigger für die Benutzermigration, um diese Benutzer bei der Anmeldung statt über den CSV-Import zu migrieren.

  • Bevor Sie Ihr Quellsystem außer Betrieb nehmen, sollten Sie Passwörter mit kompatiblen Parametern erneut hashen, wenn sich Benutzer bei Ihrem vorhandenen System anmelden.

Die Algorithmen stimmen nicht überein

Der Passwort-Hash wurde mit einem anderen Algorithmus als dem im Importjob angegebenen erstellt. Alle Hashes in einem einzelnen Importauftrag müssen denselben Algorithmus verwenden. Wenn Sie Benutzer mit unterschiedlichen Algorithmen haben, erstellen Sie separate Importjobs für jeden Algorithmus.

Die Spalte password_hash fehlt

Sie haben bei der Erstellung des Jobs einen Passwort-Hash-Algorithmus angegeben, aber Ihre CSV-Datei enthält die Spalte nicht. password_hash Fügen Sie die Spalte zu Ihrer CSV-Datei hinzu oder erstellen Sie einen neuen Job, ohne einen Algorithmus anzugeben.

Wenn ein Passwort-Hash-Import für einen Benutzer fehlschlägt, erstellt Amazon Cognito den Benutzer nicht. Andere Benutzer im Importauftrag werden weiterhin verarbeitet. Überprüfen Sie Ihre Amazon CloudWatch Logs-Protokolle, um herauszufinden, welche Benutzer ausgefallen sind und welche Gründe dafür verantwortlich sind.

Sicherheitsüberlegungen beim Import von Passwort-Hashs

Amazon Cognito wendet zusätzliche Sicherheitsmaßnahmen auf importierte Passwort-Hashes an:

  • Doppeltes Hashing: Amazon Cognito hasht alle importierten Passwort-Hashes mit einer zusätzlichen kryptografischen Schutzschicht vor dem Speichern erneut, unabhängig von der Stärke des ursprünglichen Algorithmus.

  • Automatische Migration: Nach erfolgreicher Erstauthentifizierung migriert Amazon Cognito die Anmeldeinformationen des Benutzers in das native Secure Remote Password (SRP) -Protokoll, das von Amazon Cognito verwendet wird. Dadurch wird sichergestellt, dass alle Benutzer irgendwann den systemeigenen Hochsicherheitsauthentifizierungsmechanismus verwenden.

  • Datenbereinigung: Nach Abschluss des Importauftrags entfernt Amazon Cognito die hochgeladene CSV-Datei mit Kennwort-Hashes aus dem temporären Speicher.

Wichtig

Behandeln Sie Ihre CSV-Datei, die Passwort-Hashes enthält, als sensible Daten. Schützen Sie sie bei der Übertragung und löschen Sie sie nach Abschluss des Imports sicher.