

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Importation d'utilisateurs dans des groupes d'utilisateurs depuis un fichier CSV
<a name="cognito-user-pools-using-import-tool"></a>

Lorsque vous disposez d'un magasin d'identités externe et que vous avez le temps de préparer votre groupe d'utilisateurs pour les nouveaux utilisateurs locaux, l'importation groupée d'utilisateurs à partir d'un fichier CSV (valeurs séparées par des virgules) peut s'avérer une option peu coûteuse et peu coûteuse pour une migration vers un groupe d'utilisateurs Amazon Cognito. Une importation de fichier CSV consiste à télécharger et à remplir un fichier modèle, puis à le transmettre à votre groupe d'utilisateurs dans le cadre d'une tâche d'importation. Vous pouvez utiliser une importation CSV pour créer rapidement des utilisateurs de test. Vous pouvez également remplir le fichier par programmation avec des requêtes d'API de lecture adressées à votre banque d'identités externe, puis analyser leurs détails et leurs attributs dans le cadre d'opérations d'écriture dans le fichier.

Le processus d'importation définit les valeurs de tous les attributs utilisateur, sauf **password (mot de passe)**. L'importation du mot de passe n'est pas prise en charge, car les bonnes pratiques de sécurité nécessitent que les mots de passe ne soient pas disponibles sous forme de texte brut, et nous ne prenons pas en charge l'importation des hachages. Cela signifie que vos utilisateurs doivent changer leur mot de passe la première fois qu'ils se connectent. Vos utilisateurs sont dans un `RESET_REQUIRED` état lorsqu'ils sont importés à l'aide de cette méthode.

La méthode la plus simple pour importer des utilisateurs depuis un fichier CSV consiste à activer la [connexion sans mot de passe](amazon-cognito-user-pools-authentication-flow-methods.md#amazon-cognito-user-pools-authentication-flow-methods-passwordless) dans votre groupe d'utilisateurs. Grâce aux attributs d'adresse e-mail et de numéro de téléphone et à la bonne configuration du pool d'utilisateurs, les utilisateurs peuvent se connecter à l'aide de mots de passe à usage unique par e-mail ou SMS (OTPs) immédiatement après la fin de votre tâche d'importation. Pour de plus amples informations, veuillez consulter [Obligation pour les utilisateurs importés de réinitialiser leur mot de passe](#cognito-user-pools-using-import-tool-password-reset).

Vous pouvez également définir les mots de passe de vos utilisateurs à l'aide d'une demande d'[https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserPassword.html)API dont le `Permanent` paramètre est défini sur`true`. L'importation au format CSV ne contribue pas au nombre d'utilisateurs actifs mensuels facturés (MAUs) de votre groupe d'utilisateurs. Cependant, des opérations de réinitialisation du mot de passe sont générées. MAUs Pour gérer les coûts lorsque vous importez un grand nombre d'utilisateurs dotés d'un mot de passe qui ne sont peut-être pas immédiatement actifs, configurez votre application pour demander aux utilisateurs un nouveau mot de passe lorsqu'ils se connectent et reçoivent le `RESET_REQUIRED` défi.

**Note**  
La date de création pour chaque utilisateur est celle où celui-ci a été importé dans le pool d'utilisateurs. La date de création n'est pas l'un des attributs importés.

**Étapes pour créer une tâche d'importation utilisateur**

1. Créez un rôle Amazon CloudWatch Logs dans la console Gestion des identités et des accès AWS (IAM).

1. Créez le fichier .csv d'importation d'utilisateurs.

1. Créez et exécutez la tâche d'importation d'utilisateurs.

1. Téléchargez le fichier .csv d'importation d'utilisateurs.

1. Démarrez et exécutez la tâche d'importation d'utilisateurs.

1.  CloudWatch À utiliser pour consulter le journal des événements.

1. Exigez des utilisateurs importés qu'ils réinitialisent leur mot de passe.

**Ressources supplémentaires**
+ [Architecture de référence d'exportation des profils utilisateur Cognito pour l'exportation](https://aws.amazon.com/solutions/implementations/cognito-user-profiles-export-reference-architecture/) de comptes d'utilisateurs entre groupes d'utilisateurs

**Topics**
+ [Création du rôle CloudWatch Logs IAM](#cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role)
+ [Création du fichier CSV d'importation d'utilisateurs](#cognito-user-pools-using-import-tool-csv-header)
+ [Création et exécution de la tâche d'importation de groupe d'utilisateurs Amazon Cognito](#cognito-user-pools-creating-import-job)
+ [Affichage des résultats de l'importation du groupe d'utilisateurs dans la CloudWatch console](#cognito-user-pools-using-import-tool-cloudwatch)
+ [Obligation pour les utilisateurs importés de réinitialiser leur mot de passe](#cognito-user-pools-using-import-tool-password-reset)

## Création du rôle CloudWatch Logs IAM
<a name="cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role"></a>

Si vous utilisez la CLI ou l'API Amazon Cognito, vous devez créer un rôle CloudWatch IAM. La procédure suivante explique comment créer un rôle IAM qu'Amazon Cognito peut utiliser pour écrire les résultats de votre tâche CloudWatch d'importation dans Logs. 

**Note**  
Lorsque vous créez une tâche d'importation dans la console Amazon Cognito, vous pouvez créer le rôle IAM en même temps. Lorsque vous choisissez **Create a new IAM role** (Créer un nouveau rôle IAM), Amazon Cognito applique automatiquement la politique d'approbation et la politique IAM adaptées au rôle.

**Pour créer le rôle CloudWatch Logs IAM pour l'importation de groupes d'utilisateurs (AWS CLI, API)**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Créez un nouveau rôle IAM pour un Service AWS. Pour obtenir des instructions détaillées, consultez [Création d'un rôle pour un Service AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#roles-creatingrole-service-console) dans le *Guide de l'utilisateur Gestion des identités et des accès AWS *.

   1. Lorsque vous sélectionnez un **cas d'utilisation** pour votre **type d'entité approuvée**, choisissez n'importe quel service. Pour l'heure, Amazon Cognito ne figure pas dans les cas d'utilisation de service.

   1. Dans l'écran **Add permissions** (Ajouter des autorisations), choisissez **Create policy** (Créer une politique) et insérez la déclaration de politique suivante. {{REGION}}Remplacez-le par celui Région AWS de votre groupe d'utilisateurs, par exemple`us-east-1`. {{ACCOUNT}}Remplacez-le par votre Compte AWS identifiant, par exemple`111122223333`.

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

****  

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

------

1. Comme vous n'avez pas choisi Amazon Cognito comme entité approuvée au moment de créer le rôle, vous devez maintenant modifier manuellement la relation d'approbation du rôle. Choisissez **Roles** (Rôles) dans le volet de navigation de la console IAM, puis choisissez le rôle que vous avez créé.

1. Choisissez l’onglet **Relations de confiance**.

1. Choisissez **Modifier la politique d’approbation**.

1. Collez la déclaration de politique suivante dans **Edit trust policy** (Modifier la politique d'approbation), en remplaçant le texte existant éventuel : 

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

****  

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

------

1. Choisissez **Mettre à jour une politique**. 

1. Notez l'ARN du rôle. Vous devrez fournir l'ARN au moment de créer votre tâche d'importation.

## Création du fichier CSV d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-csv-header"></a>

Avant de pouvoir importer des utilisateurs existants dans votre groupe d'utilisateurs, vous devez d'abord créer un fichier CSV (valeurs séparées par des virgules) contenant les utilisateurs que vous souhaitez importer ainsi que leurs attributs. À partir de votre groupe d'utilisateurs, vous pouvez extraire un fichier d'importation d'utilisateurs dont les en-têtes reflètent le schéma d'attributs de votre groupe d'utilisateurs. Vous pouvez ensuite insérer les informations utilisateur qui répondent aux exigences de mise en forme décrites dans [Mise en forme du fichier CSV](#cognito-user-pools-using-import-tool-formatting-csv-file). 

### Téléchargement de l'en-tête du fichier CSV (console)
<a name="cognito-user-pools-using-import-tool-downloading-csv-header-console"></a>

Utilisez la procédure suivante pour télécharger le fichier d'en-tête CSV.

**Pour télécharger l'en-tête du fichier CSV**

1. Accédez à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home). Il se peut que vous soyez invité à saisir vos AWS informations d'identification.

1. Choisissez **Groupes d'utilisateurs**.

1. Choisissez un groupe d'utilisateurs existant dans la liste.

1. Choisissez le menu **Utilisateurs**.

1. Dans la section **Import users** (Importer des utilisateurs), choisissez **Create an import job** (Créer une tâche d'importation).

1. Sous **Upload CSV** (Charger un fichier CSV), sélectionnez le lien *template.csv* et téléchargez le fichier CSV.

### Téléchargement de l'en-tête du fichier CSV (AWS CLI)
<a name="cognito-user-pools-using-import-tool-downloading-csv-header-using-cli"></a>

Pour obtenir la liste des en-têtes corrects, dans le **menu Utilisateurs**, sous **Importer des utilisateurs**, sélectionnez **Créer une tâche d'importation**. Dans la boîte de dialogue qui suit, sélectionnez le `template.csv` lien pour télécharger un fichier modèle contenant les attributs de votre groupe d'utilisateurs.

Vous pouvez également exécuter la commande CLI suivante, où {{USER\_POOL\_ID}} est l'identifiant du groupe d'utilisateurs dans lequel vous allez importer des 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
<a name="cognito-user-pools-using-import-tool-formatting-csv-file"></a>

 Une fois téléchargé, le fichier d'en-tête CSV d'importation d'utilisateurs ressemble à la chaîne suivante. Il comporte également les attributs personnalisés que vous avez éventuellement ajoutés à votre groupe 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
```

Modifiez votre fichier CSV de telle sorte qu'il contienne cet en-tête et les valeurs d'attribut pour 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 [Utilisation des attributs utilisateur](user-pool-settings-attributes.md).
+ 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'a pas d'importance.
+ 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**
  + **email\_verified** ou **phone\_number\_verified**
    + Au moins l'un des attributs à vérification automatique doit avoir la valeur `true` pour chaque utilisateur. Un attribut à vérification automatique est une adresse e-mail ou un numéro de téléphone auxquels Amazon Cognito envoie automatiquement un code lorsqu'un nouvel utilisateur rejoint votre groupe d'utilisateurs.
    + Le groupe d'utilisateurs doit avoir au moins un attribut à vérification automatique, que ce soit **email\_verified** ou **phone\_number\_verified**. 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 pouvoir réinitialiser leur mot de passe, les utilisateurs doivent disposer d'une adresse e-mail ou d'un numéro de téléphone vérifiés. Amazon Cognito envoie un message contenant un code de réinitialisation de 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. Pour de plus amples informations, veuillez consulter [Vérification des coordonnées à l’inscription](signing-up-users-in-your-app.md#allowing-users-to-sign-up-and-confirm-themselves).
  + **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
+ 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 au sein 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.
+ Les valeurs de **date de naissance**, si elles sont présentes, doivent être au format *{{mm/dd/yyyy}}*. 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** doit correspondre aux exigences MFA de votre groupe d'utilisateurs. Si vous avez défini l'authentification multifactorielle (MFA) comme obligatoire dans votre groupe d'utilisateurs, ce champ doit `true` être ou vide pour tous les utilisateurs. Si vous avez désactivé le MFA, ce champ doit être vide `false` ou être vide pour tous les utilisateurs. Une valeur vide définit le statut MFA des utilisateurs importés sur l'état requis par le groupe d'utilisateurs. Vous pouvez importer des utilisateurs dans un groupe d'utilisateurs requis par la MFA sans facteur MFA valide, que vous ayez défini une valeur ou non. `cognito:mfa_enabled` Dans cet état, l'authentification MFA est active mais ne peuvent pas se connecter tant qu'ils n'ont pas configuré un attribut d'e-mail, un attribut de numéro de téléphone ou un TOTP, et cette configuration est un facteur MFA valide dans votre groupe d'utilisateurs.
+ 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.

La liste suivante est un exemple de fichier d'importation CSV pour un groupe d'utilisateurs sans attributs personnalisés. Le schéma de votre groupe d'utilisateurs peut être différent par rapport à cet exemple. Dans ce cas, vous devez fournir des valeurs de test dans le modèle CSV que vous téléchargez à partir de votre groupe 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
```

## Création et exécution de la tâche d'importation de groupe d'utilisateurs Amazon Cognito
<a name="cognito-user-pools-creating-import-job"></a>

Cette section explique comment créer et exécuter la tâche d'importation du groupe d'utilisateurs à l'aide de la console Amazon Cognito et du AWS Command Line Interface ()AWS CLI.

**Topics**
+ [Importation d'utilisateurs à partir d'un fichier CSV (console)](#cognito-user-pools-using-import-tool-console)
+ [Importation d'utilisateurs (AWS CLI)](#cognito-user-pools-using-import-tool-cli)

### Importation d'utilisateurs à partir d'un fichier CSV (console)
<a name="cognito-user-pools-using-import-tool-console"></a>

La procédure suivante montre comment importer les utilisateurs à partir du fichier CSV.

**Pour importer les utilisateurs à partir du fichier CSV (console)**

1. Accédez à la [console Amazon Cognito](https://console.aws.amazon.com/cognito/home). Il se peut que vous soyez invité à saisir vos AWS informations d'identification.

1. Choisissez **Groupes d'utilisateurs**.

1. Choisissez un groupe d'utilisateurs existant dans la liste.

1. Choisissez le menu **Utilisateurs**.

1. Dans la section **Import users** (Importer des utilisateurs), choisissez **Create an import job** (Créer une tâche d'importation).

1. Sur la page **Create import job** (Créer une tâche d'importation), saisissez un **nom de tâche**.

1. Choisissez **Create a new IAM role** (Créer un nouveau rôle IAM) ou **Use an existing IAM role** (Utiliser un rôle IAM existant).

   1. Si vous avez choisi **Create a new IAM role** (Créer un nouveau rôle IAM), attribuez un nom à votre nouveau rôle. Amazon Cognito crée alors automatiquement un rôle doté des autorisations et de la relation d'approbation adéquates. Le principal IAM qui crée la tâche d'importation doit disposer des autorisations permettant de créer des rôles IAM.

   1. Si vous avez choisi **Use an existing IAM role** (Utiliser un rôle IAM existant), choisissez un rôle dans la liste située en dessous de **IAM role selection** (Sélection du rôle IAM). Ce rôle doit disposer des autorisations et de la politique d'approbation décrites dans [Création du rôle CloudWatch Logs IAM](#cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role).

1. Sous **Télécharger un fichier CSV**, **choisissez Choisir un fichier** et joignez le fichier CSV que vous avez préparé.

1. Choisissez **Create job** (Créer une tâche) pour soumettre votre tâche, mais démarrez-la plus tard. Choisissez **Create and start job** (Créer et démarrer une tâche) pour soumettre votre tâche et la démarrer immédiatement.

1. Si vous avez créé votre tâche mais que vous ne l'avez pas démarrée, vous pouvez la démarrer ultérieurement. Dans le menu **Utilisateurs**, sous **Importer des utilisateurs**, choisissez votre tâche d'importation, puis sélectionnez **Démarrer**. Vous pouvez également envoyer une demande d'[StartUserImportJob](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_StartUserImportJob.html)API à partir d'un AWS SDK.

1. Surveillez la progression de votre tâche d'importation d'utilisateurs dans le menu **Utilisateurs** sous **Importer des utilisateurs**. Si votre tâche échoue, vous pouvez sélectionner la valeur **Status** (État). Pour plus de détails, sélectionnez **Afficher les CloudWatch journaux pour plus de détails** et passez en revue les éventuels problèmes dans la console CloudWatch Logs.

### Importation d'utilisateurs (AWS CLI)
<a name="cognito-user-pools-using-import-tool-cli"></a>

Les commandes de CLI suivantes sont disponibles pour l'importation des utilisateurs dans un pool d'utilisateurs :
+ `create-user-import-job`
+ `get-csv-header`
+ `describe-user-import-job`
+ `list-user-import-jobs`
+ `start-user-import-job`
+ `stop-user-import-job`

Pour obtenir la liste des options de ligne de commande pour ces commandes, utilisez l'option de ligne de commande `help`. Par exemple :

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

#### Création d'une tâche d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-cli-creating-user-import-job"></a>

Après avoir créé votre fichier CSV, créez une tâche d'importation d'utilisateurs en exécutant la commande CLI suivante, où {{JOB\_NAME}} figurent le nom que vous choisissez pour la tâche, {{USER\_POOL\_ID}} l'ID du groupe d'utilisateurs dans lequel les nouveaux utilisateurs seront ajoutés et {{ROLE\_ARN}} l'ARN du rôle dans lequel vous avez reçu [Création du rôle CloudWatch Logs IAM](#cognito-user-pools-using-import-tool-cli-cloudwatch-iam-role) : 

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

La {{PRE\_SIGNED\_URL}} valeur renvoyée dans la réponse est valide pendant 15 minutes. Au-delà de ce délai, la valeur expire et vous devez créer une nouvelle tâche d'importation des utilisateurs pour obtenir une nouvelle URL.

**Example réponse :**  

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

#### Valeurs d'état pour une tâche d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-cli-status-values-for-user-import-job"></a>

Dans les réponses à vos commandes d'importation d'utilisateurs, vous verrez l'une des valeurs `Status` suivantes :
+ `Created` – La tâche a été créée, mais n'a pas démarré.
+ `Pending` – Un état de transition. Vous avez démarré la tâche, mais elle n'a pas encore commencé à importer les utilisateurs.
+ `InProgress` – La tâche a démarré et les utilisateurs sont en cours d'importation.
+ `Stopping` – Vous avez arrêté la tâche, mais la tâche n'a pas encore cessé d'importer les utilisateurs.
+ `Stopped` – Vous avez arrêté la tâche et la tâche a cessé d'importer les utilisateurs.
+ `Succeeded` – La tâche a été bien exécutée.
+ `Failed` – La tâche s'est arrêtée à la suite d'une erreur.
+ `Expired` – Vous avez créé une tâche, mais n'avez pas commencé la tâche au cours des 24 ou 48 heures écoulées. Toutes les données associées à la tâche ont été supprimées et la tâche ne peut pas être démarrée.

#### Chargement du fichier CSV
<a name="cognito-user-pools-using-import-tool-cli-uploading-csv-file"></a>

Utilisez la commande `curl` suivante pour charger le fichier CSV contenant vos données utilisateur sur l'URL présignée que vous avez obtenue de la réponse de la commande `create-user-import-job`.

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

Dans la sortie de cette commande, recherchez l'expression `"We are completely uploaded and fine"`. Cette expression indique que le fichier a été téléchargé avec succès. Vos groupes d'utilisateurs ne conservent pas les informations contenues dans vos fichiers d'importation une fois que vous avez exécuté vos tâches d'importation. Une fois qu'ils sont terminés ou qu'ils expirent, Amazon Cognito supprime le fichier CSV que vous avez chargé.

#### Description d'une tâche d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-cli-describing-user-import-job"></a>

Pour obtenir une description de votre tâche d'importation d'utilisateurs, utilisez la commande suivante, où se {{USER\_POOL\_ID}} trouve l'ID de votre groupe d'utilisateurs et {{JOB\_ID}} l'ID de tâche renvoyé lorsque vous avez créé la tâche d'importation d'utilisateurs. 

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

**Example Exemple de réponse :**  

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

Dans l'exemple de sortie précédent, {{PRE\_SIGNED\_URL}} il s'agit de l'URL vers laquelle vous avez chargé le fichier CSV. {{ROLE\_ARN}}Il s'agit de l'ARN du rôle CloudWatch Logs que vous avez reçu lors de la création du rôle.

#### Affichage des tâches d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-cli-listing-user-import-jobs"></a>

Pour afficher les tâches d'importation d'utilisateurs, utilisez la commande suivante :

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

**Example Exemple de réponse :**  

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

Les tâches sont affichées par ordre chronologique, depuis la dernière créée jusqu'à la première créée. La {{PAGINATION\_TOKEN}} chaîne située après la deuxième tâche indique que cette commande de liste a des résultats supplémentaires. Pour afficher les résultats supplémentaires, utilisez l'option `--pagination-token` comme suit :

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

#### Démarrage d'une tâche d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-cli-starting-user-import-job"></a>

Pour démarrer une tâche d'importation d'utilisateurs, utilisez la commande suivante :

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

Une seule tâche d'importation peut être active à la fois par compte.

**Example Exemple de réponse :**  

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

#### Arrêt d'une tâche d'importation d'utilisateurs
<a name="cognito-user-pools-using-import-tool-cli-stopping-user-import-job"></a>

Pour arrêter une tâche d'importation d'utilisateur alors qu'elle est en cours, utilisez la commande suivante. Une fois que vous avez arrêté la tâche, elle ne peut pas être redémarrée.

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

**Example Exemple de réponse :**  

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

## Affichage des résultats de l'importation du groupe d'utilisateurs dans la CloudWatch console
<a name="cognito-user-pools-using-import-tool-cloudwatch"></a>

Vous pouvez consulter les résultats de votre tâche d'importation dans la CloudWatch console Amazon.

**Topics**
+ [Affichage des résultats](#cognito-user-pools-using-import-tool-viewing-the-results)
+ [Interprétation des résultats](#cognito-user-pools-using-import-tool-interpreting-the-results)

### Affichage des résultats
<a name="cognito-user-pools-using-import-tool-viewing-the-results"></a>

Les étapes suivantes expliquent comment afficher les résultats de l'importation du pool d'utilisateurs.

**Pour afficher les résultats de l'importation du pool d'utilisateurs**

1. Connectez-vous à la CloudWatch console AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Choisissez **Logs** (Journaux).

1. Sélectionnez le pool de journaux pour vos tâches d'importation du pool d'utilisateurs. Le nom du groupe de journaux est sous la forme `/aws/cognito/userpools/{{USER_POOL_ID}}/{{USER_POOL_NAME}}`.

1. Choisissez le journal pour la tâche d'importation d'utilisateurs que vous venez juste d'exécuter. Le nom du journal est au format{{JOB\_ID}}/{{JOB\_NAME}}. Les résultats du journal se réfèrent à vos utilisateurs par numéro de ligne. Aucune donnée utilisateur n'est écrite dans le journal. Pour chaque utilisateur, une ligne similaire à la suivante s'affiche :
   + `[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).`

### Interprétation des résultats
<a name="cognito-user-pools-using-import-tool-interpreting-the-results"></a>

Le statut des utilisateurs importés avec succès est défini sur « PasswordReset ».

Dans les cas suivants, l'utilisateur n'est pas importé, mais la tâche d'importation se poursuit :
+ Aucun attribut à vérification automatique n'est défini pour `true`.
+ Les données utilisateur ne correspondent pas au schéma.
+ L'utilisateur n'a pas pu être importé en raison d'une erreur interne.

Dans les cas suivants, la tâche d'importation échoue :
+ Le rôle Amazon CloudWatch Logs ne peut pas être assumé, ne dispose pas de la bonne politique d'accès ou a été supprimé.
+ Le pool d'utilisateurs a été supprimé.
+ Amazon Cognito ne peut pas analyser le fichier .csv.

## Obligation pour les utilisateurs importés de réinitialiser leur mot de passe
<a name="cognito-user-pools-using-import-tool-password-reset"></a>

Si votre groupe d'utilisateurs propose uniquement une connexion par mot de passe, les utilisateurs doivent réinitialiser leur mot de passe après son importation. La première fois qu'ils se connectent, ils peuvent saisir *n'importe quel* mot de passe. Amazon Cognito les invite à saisir un nouveau mot de passe dans la réponse de l'API à la demande de connexion de votre application.

Si votre groupe d'utilisateurs utilise des facteurs d'authentification sans mot de passe, Amazon Cognito utilise par défaut ceux des utilisateurs importés. Ils ne sont pas invités à saisir un nouveau mot de passe et peuvent se connecter immédiatement à l'aide d'un e-mail ou d'un SMS OTP sans mot de passe. Vous pouvez également demander aux utilisateurs de définir un mot de passe afin qu'ils puissent utiliser d'autres méthodes de connexion, telles que le nom d'utilisateur-mot de passe et le mot de passe. Les conditions suivantes s'appliquent à la connexion sans mot de passe après l'importation d'un utilisateur.

1. Vous devez importer des utilisateurs dont l'attribut correspond à un facteur de connexion sans mot de passe disponible. Si les utilisateurs peuvent se connecter avec une adresse e-mail, vous devez importer un `email` attribut. S'il s'agit d'un numéro de téléphone, vous devez importer un `phone_number` attribut. Dans les deux cas, importez une valeur pour l'un ou l'autre des attributs.

1. Normalement, les utilisateurs importent dans un `RESET_REQUIRED` état où ils doivent réinitialiser leur mot de passe. S'ils sont importés avec la possibilité de se connecter sans mot de passe, Amazon Cognito définit leur état sur. `CONFIRMED`

Pour plus d'informations sur l'authentification sans mot de passe, notamment sur la façon de la configurer et de créer le flux d'authentification dans votre application, consultez. [Authentification auprès des groupes d'utilisateurs Amazon Cognito](authentication.md)

La procédure suivante décrit l'expérience utilisateur dans un mécanisme de connexion personnalisé avec des utilisateurs locaux `RESET_REQUIRED` après l'importation d'un fichier CSV. Si vos utilisateurs se connectent avec un identifiant géré, demandez-leur de sélectionner le mot de **passe oublié ?** option, fournissez le code de leur e-mail ou de leur message texte et définissez un mot de passe.

**Obligation pour les utilisateurs importés de réinitialiser leur mot de passe**

1. Dans votre application, essayez de vous connecter silencieusement pour l'utilisateur actuel avec `InitiateAuth` à l'aide d'un mot de passe aléatoire.

1. Amazon Cognito renvoie `NotAuthorizedException` quand `PreventUserExistenceErrors` est activé. Sinon, la valeur renvoyée est `PasswordResetRequiredException`.

1. Votre application effectue une demande d'API `ForgotPassword` et réinitialise le mot de passe de l'utilisateur.

   1. L'application soumet le nom d'utilisateur dans une demande d'API `ForgotPassword`.

   1. Amazon Cognito envoie un code à l'adresse e-mail ou au numéro de téléphone vérifiés. La destination dépend des valeurs que vous avez fournies pour `email_verified` et `phone_number_verified` dans votre fichier CSV. La réponse à la demande `ForgotPassword` indique la destination du code.
**Note**  
Votre groupe d'utilisateurs doit être configuré pour vérifier les adresses e-mail ou les numéros de téléphone. Pour de plus amples informations, veuillez consulter [Inscription et confirmation des comptes d’utilisateur](signing-up-users-in-your-app.md).

   1. Votre application affiche un message demandant à votre utilisateur de vérifier l'endroit où le code a été envoyé et l'invite à saisir le code et un nouveau mot de passe.

   1. L'utilisateur entre le code et le nouveau mot de passe dans l'application.

   1. L'application soumet le code et le nouveau mot de passe dans une demande d'API `ConfirmForgotPassword`.

   1. Votre application redirige votre utilisateur vers la connexion.