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.
Politique d'exécution IAM
Vous pouvez spécifier une politique IAM d'exécution, en plus d'un rôle d'exécution, lorsque vous soumettez des exécutions de tâches sur EMR Serverless. Les autorisations obtenues par l'exécution du job correspondent à l'intersection des autorisations du rôle d'exécution et de la politique IAM d'exécution spécifiée.
Démarrage
Étapes pour utiliser la politique d'exécution IAM :
Créez une emr-serverless
application ou utilisez une application existante, puis exécutez l'interface de ligne de commande aws suivante pour démarrer une tâche avec une politique IAM intégrée :
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
\ --execution-iam-policy '{"policy": "inline-policy
"}'
Exemples de commandes CLI
Si la politique suivante est enregistrée dans le policy.json
fichier sur la machine :
Ensuite, nous pouvons démarrer un travail avec cette politique à l'aide de la AWS CLI commande suivante :
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
--execution-iam-policy '{ "policy": '$(jq -c '. | @json' policy.json)' }'
Vous pouvez également utiliser les deux politiques AWS et les politiques gérées par le client, en les spécifiant par le biais de leurs ARNs :
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
--execution-iam-policy '{ "policyArns": [ "arn:aws:iam::aws:policy/AmazonS3FullAccess", "arn:aws:iam::aws:policy/CloudWatchLogsFullAccess" ] }'
Il est également possible de spécifier à la fois une stratégie IAM intégrée et une politique gérée ARNs dans la même demande :
aws emr-serverless start-job-run --region us-west-2 \ --application-id
application-id
\ --execution-role-arnexecution-role-arn
\ --job-driverjob-driver-options
--execution-iam-policy '{ "policy": '$(jq -c '. | @json' policy.json)', "policyArns": [ "arn:aws:iam::aws:policy/AmazonS3FullAccess", "arn:aws:iam::aws:policy/CloudWatchLogsFullAccess" ] }'
Remarques importantes
Le
execution-role-policy
policy
champ s peut avoir une longueur maximale de 2 048 caractères.La chaîne de politique IAM en ligne spécifiée dans le
execution-iam-policy
policy
champ « s » doit être conforme à la norme de chaîne JSON, sans aucune nouvelle ligne ni aucun guillemet, comme dans l'exemple ci-dessus.Une liste contenant jusqu'à 10 politiques gérées ARNs peut être spécifiée sous forme de valeur
policyArns
dansexecution-iam-policy
le champ.La politique gérée ARNs doit être une liste d'ARN de stratégie valides AWS ou gérés par le client. Lorsqu'un ARN de stratégie géré par le client est spécifié, la politique doit appartenir au même AWS compte de l'EMR-S JobRun.
Lorsque la stratégie IAM intégrée et les politiques gérées sont utilisées, le texte en clair que vous utilisez pour les politiques intégrées et gérées combinées ne peut pas dépasser 2 048 caractères.
Les autorisations obtenues par le JobRun sont l'intersection des autorisations du rôle d'exécution et de la politique IAM d'exécution spécifiée.
Intersection des politiques
Les autorisations obtenues par l'exécution du job correspondent à l'intersection des autorisations du rôle d'exécution et de la politique IAM d'exécution spécifiée. Cela signifie que toute autorisation requise devra être spécifiée aux deux endroits pour JobRun pouvoir fonctionner. Cependant, il est possible de spécifier une instruction d'autorisation générale supplémentaire dans la politique intégrée pour toutes les autorisations que vous n'avez pas l'intention de mettre à jour ou de remplacer.
exemple
Compte tenu de la politique de rôle IAM d'exécution suivante :
Et la politique IAM en ligne suivante :
Les autorisations ainsi obtenues JobRun sont les suivantes :