

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.

# Configuration des autorisations IAM
<a name="configure-iam-role-policy-credentials"></a>

Amazon Location Jobs nécessite un rôle d'exécution IAM qui accorde au service l'autorisation d'accéder à vos compartiments Amazon S3. Lorsque vous exécutez une tâche, Amazon Location assume ce rôle en lisant les fichiers d'entrée de votre compartiment d'entrée et en écrivant les résultats de sortie dans votre compartiment de sortie en votre nom. Vous fournissez ces autorisations en créant une politique IAM avec les autorisations Amazon S3 requises et en l'associant à un rôle IAM avec une politique de confiance qui permet au service de localisation Amazon d'assumer ce rôle.

**Note**  
Les compartiments d'entrée et de sortie Amazon S3 que vous créez doivent se trouver là Région AWS où vous prévoyez d'exécuter vos tâches. Les ressources IAM que vous créez doivent être créées dans le même compte.

## Étape 1 : créer une politique IAM
<a name="create-iam-policy-jobs"></a>

Créez une politique IAM qui accorde les autorisations requises pour les tâches Amazon Location.

**Pour créer une politique IAM pour les offres d'emploi Amazon Location**

1. Ouvrez la console IAM à l’adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/). 

1. Dans le panneau de navigation, choisissez **Politiques**. 

1. Choisissez **Create Policy** (Créer une politique). 

1. Choisissez l'onglet **JSON** et entrez le document de politique suivant, en {{OUTPUT\_BUCKET\_NAME}} remplaçant {{INPUT\_BUCKET\_NAME}} et par les noms de vos compartiments :

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetObjectVersion",
           "s3:GetBucketVersioning"
         ],
         "Resource": [
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}",
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:AbortMultipartUpload"
         ],
         "Resource": [
           "arn:aws:s3:::{{OUTPUT_BUCKET_NAME}}/*"
         ]
       }
     ]
   }
   ```

1. Choisissez **Suivant**. 

1. Pour **Nom de la stratégie**, entrez un nom descriptif, tel que `{{LocationJobsS3AccessPolicy}}`. 

1. Choisissez **Create Policy** (Créer une politique). 

Le tableau suivant décrit les autorisations accordées par cette politique :


| Autorisations | Description | 
| --- | --- | 
|  s3:GetObject  | Permet à Amazon Location de lire les fichiers d'entrée depuis votre compartiment d'entrée. | 
|  s3:ListBucket  | Permet à Amazon Location de répertorier les fichiers de votre compartiment d'entrée afin d'identifier tous les fichiers d'entrée à traiter. | 
|  s3:GetObjectVersion  | Permet à Amazon Location d'accéder à des versions spécifiques des fichiers d'entrée. Obligatoire car le versionnement doit être activé sur vos buckets. | 
|  s3:GetBucketVersioning  | Permet à Amazon Location de vérifier que le versionnement est activé sur votre compartiment d'entrée. | 
|  s3:PutObject  | Permet à Amazon Location d'écrire les résultats de sortie dans votre compartiment de sortie. | 
|  s3:AbortMultipartUpload  | Permet à Amazon Location de nettoyer les téléchargements partitionnés échoués lors de l'écriture de fichiers de sortie volumineux. | 

**Note**  
Cette politique suit le principe du moindre privilège en accordant uniquement les autorisations nécessaires au fonctionnement d'Amazon Location Jobs. La politique restreint les autorisations de lecture à votre compartiment d'entrée et les autorisations d'écriture à votre compartiment de sortie.

**Pour créer une politique IAM à l'aide du AWS CLI**

1. Créez un fichier nommé `location-jobs-policy.json` avec le contenu suivant, en remplaçant {{INPUT\_BUCKET\_NAME}} et par {{OUTPUT\_BUCKET\_NAME}} les noms de vos compartiments :

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:GetObject",
           "s3:ListBucket",
           "s3:GetObjectVersion",
           "s3:GetBucketVersioning"
         ],
         "Resource": [
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}",
           "arn:aws:s3:::{{INPUT_BUCKET_NAME}}/*"
         ]
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:AbortMultipartUpload"
         ],
         "Resource": [
           "arn:aws:s3:::{{OUTPUT_BUCKET_NAME}}/*"
         ]
       }
     ]
   }
   ```

1. Créez la politique :

   ```
   aws iam create-policy \
       --policy-name {{LocationJobsS3AccessPolicy}} \
       --policy-document file://location-jobs-policy.json
   ```

1. Notez l'ARN de la politique indiqué dans la sortie. Vous avez besoin de cet ARN à la prochaine étape.

## Étape 2 : Création d'un rôle d'exécution
<a name="create-execution-role-jobs"></a>

Créez un rôle IAM qu'Amazon Location suppose pour accéder à vos compartiments Amazon S3 lors de l'exécution de la tâche.

La politique de confiance permet au service Amazon Location (`geo.amazonaws.com`) d'assumer ce rôle. Cette relation de confiance est nécessaire pour qu'Amazon Location puisse accéder à vos compartiments Amazon S3 pendant l'exécution de la tâche.

**Pour créer un rôle d'exécution pour les tâches Amazon Location**

1. Dans le volet de navigation de la console IAM, sélectionnez **Roles** (Rôles). 

1. Sélectionnez **Create role** (Créer un rôle). 

1. Pour **Trusted entity type** (Type d'entité de confiance), choisissez **Custom trust policy** (Politique de confiance personnalisée). 

1. Entrez la politique de confiance suivante, en la {{ACCOUNT\_ID}} remplaçant par votre numéro de AWS compte :

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "geo.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{ACCOUNT_ID}}"
           }
         }
       }
     ]
   }
   ```

1. Choisissez **Suivant**. 

1. Recherchez et sélectionnez la politique que vous avez créée à l'étape 1 (telle que`{{LocationJobsS3AccessPolicy}}`). 

1. Choisissez **Suivant**. 

1. Pour **Nom du rôle**, entrez un nom descriptif tel que`LocationServiceJobExecutionRole`. 

1. Choisissez **Créer un rôle**. 

**Pour créer un rôle d'exécution à l'aide du AWS CLI**

1. Créez un fichier nommé `trust-policy.json` avec le contenu suivant, en le {{ACCOUNT\_ID}} remplaçant par votre identifiant de AWS compte :

   ```
   {
     "Version": "2012-10-17", 		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "geo.amazonaws.com"
         },
         "Action": "sts:AssumeRole",
         "Condition": {
           "StringEquals": {
             "aws:SourceAccount": "{{ACCOUNT_ID}}"
           }
         }
       }
     ]
   }
   ```

1. Créez le rôle :

   ```
   aws iam create-role \
       --role-name LocationServiceJobExecutionRole \
       --assume-role-policy-document file://trust-policy.json
   ```

1. Joignez la politique que vous avez créée à l'étape 1 ({{ACCOUNT\_ID}}remplacez-la par votre identifiant de AWS compte et {{LocationJobsS3AccessPolicy}} par le nom de votre police s'il est différent) :

   ```
   aws iam attach-role-policy \
       --role-name LocationServiceJobExecutionRole \
       --policy-arn arn:aws:iam::{{ACCOUNT_ID}}:policy/{{LocationJobsS3AccessPolicy}}
   ```

1. Obtenez l'ARN du rôle :

   ```
   aws iam get-role \
       --role-name LocationServiceJobExecutionRole \
       --query 'Role.Arn' \
       --output text
   ```

1. Notez l'ARN du rôle indiqué dans la sortie. Vous avez besoin de cet ARN lorsque vous démarrez des tâches à l'aide du `ExecutionRoleArn` paramètre.

Après avoir créé le rôle, notez l'ARN du rôle. Vous avez besoin de cet ARN lorsque vous démarrez des tâches à l'aide du `ExecutionRoleArn` paramètre. Pour de plus amples informations, veuillez consulter [Préparation des données d'entrée](preparing-input-data.md).

## Bonnes pratiques de sécurité
<a name="iam-security-best-practices"></a>

Suivez ces bonnes pratiques de sécurité lors de la configuration des autorisations IAM pour Amazon Location Jobs :
+  **Utiliser un bucket spécifique ARNs :** remplacez les noms de bucket réservés dans la politique par vos noms de bucket réels afin de restreindre l'accès aux seuls buckets que vous avez l'intention d'utiliser.
+  **Compartiments d'entrée et de sortie séparés : utilisez des** compartiments différents pour l'entrée et la sortie afin de maintenir une séparation claire des autorisations de lecture et d'écriture.
+  **Activer la gestion des versions des compartiments Amazon S3 : la** gestion des versions doit être activée sur vos compartiments. Cela est nécessaire au bon fonctionnement d'Amazon Location Jobs.
+  **Utilisez les politiques de compartiment Amazon S3 :** ajoutez des politiques de compartiment à vos compartiments Amazon S3 pour un contrôle d'accès supplémentaire au-delà des politiques IAM.
+  **Surveiller l'utilisation des rôles :** à utiliser pour surveiller quand et comment le rôle d'exécution est utilisé par Amazon Location Jobs.