Perfil do IAM para o Amazon ECS Anywhere - Amazon Elastic Container Service

Perfil do IAM para o Amazon ECS Anywhere

Quando você registra um servidor on-premises ou uma máquina virtual (VM) no seu cluster, o servidor ou a VM precisará de um perfil do IAM para se comunicar com as APIs da AWS. Você precisa criar essa função do IAM apenas uma vez para cada conta da AWS. No entanto, essa função do IAM deve ser associada a cada servidor ou VM que você registra em um cluster. Essa função é a função ECSAnywhereRole. É possível criar essa função manualmente. Como alternativa, o Amazon ECS pode criar a função em seu nome quando você registrar uma instância externa no AWS Management Console. Use a pesquisa no console do IAM para buscar ecsAnywhereRole e ver se a conta já tem o perfil. Para obter mais informações, consulte Pesquisa no console do IAM no Guia do usuário do IAM.

A AWS fornece duas políticas do IAM gerenciadas que podem ser usadas na criação da função do IAM do ECS Anywhere, as políticas AmazonSSMManagedInstanceCore e AmazonEC2ContainerServiceforEC2Role. A política AmazonEC2ContainerServiceforEC2Role inclui permissões que, provavelmente, fornecem mais acesso do que você precisa. Portanto, dependendo do seu caso de uso específico, recomendamos que você crie uma política personalizada adicionando apenas as permissões desta política que você precisa que constem dela. Para obter mais informações, consulte Função do IAM de instância de contêiner do Amazon ECS.

A função do IAM de execução de tarefas concede ao agente de contêiner do Amazon ECS permissão para fazer chamadas da API da AWS em seu nome. Quando uma função do IAM de execução de tarefa é usada, ela deve ser especificada na definição da tarefa. Para ter mais informações, consulte Função do IAM de execução de tarefas do Amazon ECS.

A função de execução da tarefa será necessária se alguma das seguintes condições se aplicar:

  • Você está enviando logs de contêiner ao CloudWatch Logs usando o driver de log awslogs.

  • Sua definição de tarefa especifica uma imagem de contêiner hospedada em um repositório privado do Amazon ECR. Porém, se o perfil do IAM ECSAnywhereRole associado à instância externa também incluir as permissões necessárias para extrair imagens do Amazon ECR, o perfil de execução de tarefa não precisará incluí-las.

Criar perfil do Amazon ECS Anywhere

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

  1. Crie um arquivo local denominado ssm-trust-policy.json com a política de confiança a seguir.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
  2. Crie o perfil e anexe a política de confiança usando o comando da AWS CLI a seguir.

    aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json
  3. Anexe as políticas gerenciadas da AWS usando o comando a seguir.

    aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role

Você também pode usar o fluxo de trabalho de política de confiança personalizada do 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.