Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Política de ejecución (IAM)
Puede especificar una política de IAM de ejecución, además de un rol de ejecución, al enviar las ejecuciones de tareas en EMR Serverless. Los permisos resultantes que asume la ejecución del trabajo son la intersección de los permisos de la función de ejecución y la política de IAM de ejecución especificada.
Introducción
Pasos para utilizar la política de IAM de ejecución:
Cree una emr-serverless
aplicación o utilice una existente y, a continuación, ejecute la siguiente línea de comandos de AWS para iniciar la ejecución de un trabajo con una política de IAM integrada:
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
"}'
Ejemplos de comandos CLI
Si tenemos la siguiente política almacenada en el policy.json
archivo de la máquina:
A continuación, podemos iniciar un trabajo con esta política mediante el siguiente AWS CLI comando:
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)' }'
También puede utilizar ambas políticas AWS y las gestionadas por el cliente, especificándolas mediante 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" ] }'
También es posible especificar una política de IAM integrada y una política gestionada ARNs en la misma solicitud:
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" ] }'
Notas importantes
El
execution-role-policy
policy
campo puede tener una longitud máxima de 2048 caracteres.La cadena de política de IAM en línea especificada en el
execution-iam-policy
policy
campo debe ajustarse al estándar de cadenas json, sin líneas nuevas ni comillas como en el ejemplo anterior.Se ARNs puede especificar una lista de hasta 10 políticas gestionadas como valor para el
execution-iam-policy
campo.policyArns
La política administrada ARNs debe ser una lista de ARN de políticas administradas por el cliente AWS o válidas. Cuando se especifica un ARN de política administrada por el cliente, la política debe pertenecer a la misma AWS cuenta del EMR-S. JobRun
Cuando se utilizan políticas de IAM integradas y políticas gestionadas, el texto simple que se utilice tanto para las políticas integradas como para las gestionadas combinadas no puede superar los 2048 caracteres.
Los permisos resultantes que asume JobRun son la intersección de los permisos de la función de ejecución y la política de IAM de ejecución especificada.
Intersección de políticas
Los permisos resultantes que asume la ejecución del trabajo son la intersección de los permisos de la función de ejecución y la política de IAM de ejecución especificada. Esto significa que los permisos necesarios deberán especificarse en ambos lugares JobRun para que funcione. Sin embargo, es posible especificar una declaración de autorización general adicional en la política en línea para cualquier permiso que no pretendas actualizar o sobrescribir.
Ejemplo
Dada la siguiente política de funciones de IAM de ejecución:
Y la siguiente política de IAM en línea:
Los permisos resultantes que asumen JobRun son: