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
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
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
-
Ouvrez la console IAM à l’adresse https://console.aws.amazon.com/iam/
. -
Dans le panneau de navigation, choisissez Politiques.
-
Choisissez Create Policy (Créer une politique).
-
Choisissez l'onglet JSON et entrez le document de politique suivant, en
OUTPUT_BUCKET_NAMEremplaçantINPUT_BUCKET_NAMEet 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/*" ] } ] } -
Choisissez Suivant.
-
Pour Nom de la stratégie, entrez un nom descriptif, tel que
.LocationJobsS3AccessPolicy -
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
-
Créez un fichier nommé
location-jobs-policy.jsonavec le contenu suivant, en remplaçantINPUT_BUCKET_NAMEet parOUTPUT_BUCKET_NAMEles 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/*" ] } ] } -
Créez la politique :
aws iam create-policy \ --policy-nameLocationJobsS3AccessPolicy\ --policy-document file://location-jobs-policy.json -
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
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
-
Dans le volet de navigation de la console IAM, sélectionnez Roles (Rôles).
-
Sélectionnez Create role (Créer un rôle).
-
Pour Trusted entity type (Type d'entité de confiance), choisissez Custom trust policy (Politique de confiance personnalisée).
-
Entrez la politique de confiance suivante, en la
ACCOUNT_IDremplaç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" } } } ] } -
Choisissez Suivant.
-
Recherchez et sélectionnez la politique que vous avez créée à l'étape 1 (telle que
).LocationJobsS3AccessPolicy -
Choisissez Suivant.
-
Pour Nom du rôle, entrez un nom descriptif tel que
LocationServiceJobExecutionRole. -
Choisissez Créer un rôle.
Pour créer un rôle d'exécution à l'aide du AWS CLI
-
Créez un fichier nommé
trust-policy.jsonavec le contenu suivant, en leACCOUNT_IDremplaç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" } } } ] } -
Créez le rôle :
aws iam create-role \ --role-name LocationServiceJobExecutionRole \ --assume-role-policy-document file://trust-policy.json -
Joignez la politique que vous avez créée à l'étape 1 (
ACCOUNT_IDremplacez-la par votre identifiant de AWS compte etLocationJobsS3AccessPolicypar 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 -
Obtenez l'ARN du rôle :
aws iam get-role \ --role-name LocationServiceJobExecutionRole \ --query 'Role.Arn' \ --output text -
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
ExecutionRoleArnparamè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.
Bonnes pratiques de sécurité
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.