Perfil do IAM para EventBridge do Amazon ECS - Amazon Elastic Container Service

Perfil do IAM para EventBridge do Amazon ECS

Antes de poder usar tarefas programadas do Amazon ECS com regras e destinos do EventBridge, o serviço do EventBridge precisa de permissões para executar tarefas do Amazon ECS em seu nome. Essas permissões são fornecidas pelo perfil do IAM do EventBridge (ecsEventsRole).

A política AmazonEC2ContainerServiceEventsRole é mostrada abaixo.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["ecs:RunTask"], "Resource": ["*"] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["*"], "Condition": { "StringLike": {"iam:PassedToService": "ecs-tasks.amazonaws.com"} } }, { "Effect": "Allow", "Action": "ecs:TagResource", "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": ["RunTask"] } } } ] }

Se as tarefas programadas exigirem o uso do perfil de execução de tarefa, um perfil de tarefa ou uma substituição de perfil de tarefa, você deverá adicionar permissões iam:PassRole em cada perfil de execução de tarefa, perfil de tarefa ou substituição de perfil de tarefa ao perfil do IAM do EventBridge. Para obter mais informações sobre a função de execução de tarefas, consulte Função do IAM de execução de tarefas do Amazon ECS.

nota

Especifique o ARN completo da função de execução de tarefa ou da substituição da função de tarefa.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }

Você pode permitir que o AWS Management Console crie o perfil do EventBridge ao configurar uma tarefa programada. Para ter mais informações, consulte Execução de tarefas do Amazon ECS em cronogramas usando o Agendador do Amazon EventBridge.

Criação do perfil do EventBridge (ecsEventsRole) do Amazon ECS

Substitua cada entrada do usuário por suas próprias informações.

  1. Crie um arquivo denominado eventbridge-trust-policy.json que contenha a política de confiança a ser usada para a função do IAM. O arquivo deve conter o seguinte:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Use o comando a seguir para criar um perfil do IAM denominado ecsEventsRole usando a política de confiança criada na etapa anterior.

    aws iam create-role \ --role-name ecsEventsRole \ --assume-role-policy-document file://eventbridge-policy.json
  3. Anexe o AmazonEC2ContainerServiceEventsRole gerenciado pela AWS ao perfil ecsEventsRole usando o comando a seguir.

    aws iam attach-role-policy \ --role-name ecsEventsRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceEventsRole

Você também pode usar o fluxo de trabalho da Política de confiança personalizada do console do IAM (https://console.aws.amazon.com/iam/) para criar o perfil. Para obter mais informações, consulte Criar um perfil usando políticas de confiança personalizadas (console) no Guia do usuário do IAM.

Anexação de uma política ao perfil do ecsEventsRole

Use os procedimentos a seguir para adicionar permissões do perfil de execução de tarefas ao perfil do IAM para EventBridge.

AWS Management Console
Para usar o editor de políticas JSON para criar uma política
  1. Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, escolha Policies (Políticas).

    Se essa for a primeira vez que você escolhe Políticas, a página Bem-vindo às políticas gerenciadas será exibida. Escolha Começar.

  3. Na parte superior da página, escolha Criar política.

  4. Na seção Editor de políticas, escolha a opção JSON.

  5. Insira o seguinte documento de política JSON:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  6. Escolha Próximo.

    nota

    É possível alternar entre as opções de editor Visual e JSON a qualquer momento. Porém, se você fizer alterações ou escolher Próximo no editor Visual, o IAM poderá reestruturar a política a fim de otimizá-la para o editor visual. Para obter mais informações, consulte Restruturação de política no Guia do usuário do IAM.

  7. Na página Revisar e criar, insira um Nome de política e uma Descrição (opcional) para a política que você está criando. Revise Permissões definidas nessa política para ver as permissões que são concedidas pela política.

  8. Escolha Criar política para salvar sua nova política.

Depois de criar a política, anexe-a ao perfil do EventBridge. Para obter informações sobre como anexar a política ao perfil, consulte Modificar a política de permissões de um perfil (console) no Guia do usuário do AWS Identity and Access Management.

AWS CLI

Substitua cada entrada do usuário por suas próprias informações.

  1. Crie um arquivo denominado ev-iam-passrole.json com o seguinte conteúdo.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": ["arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>"] } ] }
  2. Use o comando da AWS CLI a seguir para criar a política do IAM usando o arquivo de documento da política JSON.

    aws iam create-policy \ --policy-name eventsTaskExecutionPolicy \ --policy-document file://ev-iam-passrole.json
  3. Recupere o ARN da política do IAM que você criou usando o comando a seguir.

    aws iam list-policies --scope Local --query 'Policies[?PolicyName==`eventsTaskExecutionPolicy`].Arn'
  4. Use o comando a seguir para anexar a política ao perfil do IAM para EventBridge usando o ARN da política.

    aws iam attach-role-policy \ --role-name ecsEventsRole \ --policy-arn arn:aws:iam:111122223333:aws:policy/eventsTaskExecutionPolicy