Création du fichier csv d'importation d'utilisateurs - Amazon Cognito

Création du fichier csv d'importation d'utilisateurs

Avant que vous ne puissiez importer les utilisateurs existants dans votre groupe d'utilisateurs, vous devez créer un fichier .csv qui fait office d'entrée. Pour ce faire, téléchargez les informations d'en-tête du fichier .csv d'importation d'utilisateurs, puis modifiez le fichier de manière à respecter les exigences de mise en forme présentées dans Mise en forme du fichier csv.

Téléchargement de l'en-tête du fichier csv (Console)

  1. Accédez à la console Amazon Cognito, choisissez Gérer les groupes d'utilisateurs, puis sélectionnez le groupe d'utilisateurs dans lequel vous souhaitez importer les utilisateurs.

  2. Sélectionnez l'onglet Utilisateurs.

  3. Choisissez Import users (Importer des utilisateurs).

  4. Choisissez Télécharger un en-tête CSV pour obtenir un fichier .csv contenant la ligne d'en-tête que vous devez inclure dans votre fichier .csv.

Téléchargement de l'en-tête du fichier csv (AWS CLI)

Pour obtenir la liste des en-têtes corrects, exécutez la commande de CLI, où USER_POOL_ID est l'identifiant du groupe d'utilisateurs vers lequel vous allez importer les utilisateurs :

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

Exemple de réponse:

{ "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" }

Mise en forme du fichier csv

L'en-tête du fichier .csv téléchargé d'importation des utilisateurs se présente comme suit :

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

Vous devrez modifier votre fichier .csv de telle sorte qu'il contienne cet en-tête et les valeurs d'attribut de vos utilisateurs et qu'il soit mis en forme selon les règles suivantes.

Note

Pour plus d'informations sur les valeurs d'attributs, par exemple, un format approprié pour les numéros de téléphone, consultez Attributs de groupe d'utilisateurs.

  • La première ligne du fichier est la ligne d'en-tête téléchargée qui contient les noms des attributs utilisateur.

  • L'ordre des colonnes dans le fichier .csv n'importe pas.

  • Chaque ligne après la première ligne contient les valeurs d'attribut d'un utilisateur.

  • Toutes les colonnes de l'en-tête doivent être présentes, mais vous n'avez pas besoin de fournir des valeurs dans chaque colonne.

  • Les attributs suivants sont obligatoires :

    • cognito:username

    • cognito:mfa_enabled

    • email_verified ou phone_number_verified

    • email (si email_verified a la valeur true)

    • phone_number (si phone_number_verified a la valeur true)

    • Tous les attributs que vous avez marqués comme obligatoires lorsque vous avez créé le pool d'utilisateurs

  • Le groupe d'utilisateurs doit avoir au moins un attribut à vérification automatique, que ce soit email_verified ou phone_number_verified. Au moins l'un des attributs à vérification automatique doit avoir la valeur true pour chaque utilisateur. Si le pool d'utilisateurs n'a pas d'attributs à vérification automatique, la tâche d'importation ne démarre pas. Si le pool d'utilisateurs n'a qu'un seul attribut à vérification automatique, cet attribut doit être vérifié pour chaque utilisateur. Par exemple, si le groupe d'utilisateurs n'a que phone_number comme attribut à vérification automatique, la valeur de phone_number_verified doit être true pour chaque utilisateur.

    Note

    Pour que les utilisateurs réinitialisent leur mot de passe, ils doivent avoir un e-mail ou numéro de téléphone vérifiés. Amazon Cognito envoie un message contenant un code de réinitialisation du mot de passe à l'adresse e-mail ou au numéro de téléphone spécifiés dans le fichier .csv. Si le message est envoyé au numéro de téléphone, il est envoyé par SMS.

  • Les valeurs d'attribut qui sont des chaînes ne doivent pas être entre guillemets.

  • Si une valeur d'attribut contient une virgule, vous devez placer une barre oblique inverse (\) devant la virgule. La raison en est que les champs d'un fichier .csv sont séparés par des virgules.

  • Le contenu du fichier .csv doit être au format UTF-8 sans marque d'ordre d'octet.

  • Le champ cognito:username est obligatoire et doit être unique au sein de votre groupe d'utilisateurs. Ce peut être n'importe quelle chaîne Unicode. Cependant, elle ne peut pas comporter d'espaces ou de tabulations.

  • La valeur birthdate, si elle est présente, doit être au format mm/jj/aaaa. Cela signifie, par exemple, que la date du 1er février 1985 doit être codée sous la forme 02/01/1985.

  • Le champ cognito:mfa_enabled est obligatoire. Si vous avez défini l'authentification multi-facteur (MFA, Multi-Factor Authentication) comme obligatoire dans votre pool d'utilisateurs, ce champ doit avoir la valeur true pour tous les utilisateurs. Si vous avez désactivé l'authentification MFA, ce champ doit avoir la valeur false pour tous les utilisateurs. Si vous avez défini l'authentification MFA comme facultative, ce champ peut être true ou false, mais ne peut pas être vide.

  • La longueur maximale de la ligne est de 16 000 caractères.

  • La taille maximale du fichier .csv est de 100 Mo.

  • Le nombre maximal de lignes (utilisateurs) du fichier est de 500 000. La ligne d'en-tête n'est pas comprise dans ce nombre maximal.

  • La valeur du champ updated_at doit être une heure Posix exprimée en secondes, par exemple : 1471453471.

  • Les espaces de début ou de fin d'une valeur d'attribut seront supprimés.

Voici un exemple de fichier .csv complet d'importation d'utilisateurs :

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