As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Política do IAM de execução
É possível especificar uma política de execução do IAM, além de um perfil de execução, ao enviar execuções de trabalhos no EMR Sem Servidor. As permissões resultantes assumidas pelo trabalho são a interseção das permissões no perfil de execução e na Política do IAM de execução especificada.
Conceitos básicos
Etapas para usar a política do IAM de execução:
Crie um aplicação emr-serverless ou use uma existente e, em seguida, execute o seguinte comando da AWS CLI para iniciar a execução de um trabalho com uma política do IAM inline:
aws emr-serverless start-job-run --region us-west-2 \ --application-idapplication-id\ --execution-role-arnexecution-role-arn\ --job-driverjob-driver-options\ --execution-iam-policy '{"policy": "inline-policy"}'
Exemplos de comandos da CLI
Se tivermos a seguinte política armazenada no arquivo policy.json na máquina:
Em seguida, podemos iniciar um trabalho com essa política usando o seguinte AWS CLI comando:
aws emr-serverless start-job-run --region us-west-2 \ --application-idapplication-id\ --execution-role-arnexecution-role-arn\ --job-driverjob-driver-options--execution-iam-policy '{ "policy": '$(jq -c '. | @json' policy.json)' }'
Você também pode usar ambas as políticas AWS e as gerenciadas pelo cliente, especificando-as ARNs por meio de:
aws emr-serverless start-job-run --region us-west-2 \ --application-idapplication-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" ] }'
Também é possível especificar uma política de IAM em linha e uma política gerenciada ARNs na mesma solicitação:
aws emr-serverless start-job-run --region us-west-2 \ --application-idapplication-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" ] }'
Observações importantes
O campo
policydeexecution-role-policypode ter um comprimento máximo de 2048 caracteres.A string de política do IAM inline especificada no campo
policydoexecution-iam-policydeve estar em conformidade com o padrão de string json, sem novas linhas e com aspas escapadas, como no exemplo anterior.Uma lista de até 10 políticas gerenciadas ARNs pode ser especificada como um valor para
execution-iam-policyopolicyArnscampo s.A política gerenciada ARNs deve ser uma lista de ARN válidos AWS ou gerenciados pelo cliente. Quando um ARN de política gerenciada pelo cliente é especificado, a política deve pertencer à mesma AWS conta do EMR-S. JobRun
Quando a política do IAM inline e políticas gerenciadas são usadas, o texto simples que você usa para as políticas inline e gerenciadas combinadas não pode exceder 2.048 caracteres.
As permissões resultantes assumidas pelo JobRun são a interseção das permissões na função de execução e na política de execução IAM especificada.
Interseção de políticas
As permissões resultantes assumidas pelo trabalho são a interseção das permissões no perfil de execução e na Política do IAM de execução especificada. O que significa que qualquer permissão necessária deverá ser especificada em ambos os lugares JobRun para funcionar. Porém, é possível especificar uma declaração de permissão geral adicional na política inline para quaisquer permissões que você não pretende atualizar ou substituir.
Exemplo
Dada a seguinte política de perfil do IAM de execução:
E a seguinte política do IAM embutida:
As permissões resultantes assumidas pelo JobRun são: