Perfil do IAM de infraestrutura do Amazon ECS - Amazon Elastic Container Service

Perfil do IAM de infraestrutura do Amazon ECS

Um perfil do IAM de infraestrutura do Amazon ECS permite que o Amazon ECS gerencie recursos de infraestrutura nos clusters em seu nome, sendo usado quando:

  • Você deseja anexar volumes do Amazon EBS às tarefas do tipo de execução do Fargate ou EC2 do Amazon ECS. O perfil de infraestrutura permite que o Amazon ECS gerencie os volumes do Amazon EBS para as tarefas.

  • Você deseja usar o Transport Layer Security (TLS) para criptografar o tráfego entre os serviços do Amazon ECS Service Connect.

Quando o Amazon ECS assume esse perfil para realizar ações em seu nome, os eventos ficam visíveis no AWS CloudTrail. Se o Amazon ECS usar o perfil para gerenciar volumes do Amazon EBS anexados às tarefas, o log do CloudTrail roleSessionNamefolefole será ECSTaskVolumesForEBS. Se o perfil for usado para criptografar o tráfego entre os serviços do Amazon ECS Service Connect, o log do CloudTrail roleSessionName será ECSServiceConnectForTLS. Você pode usar esse nome para pesquisar eventos no console do CloudTrail filtrando pelo Nome de usuário.

O Amazon ECS fornece as políticas gerenciadas que contêm as permissões necessárias para anexação de volume e TLS. Para obter mais informações consulte AmazonECSInfrastructureRolePolicyForVolumes eAmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity no AWS Managed Policy Reference Guide.

Criar o perfil de infraestrutura do Amazon ECS

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

  1. Crie um arquivo denominado ecs-infrastructure-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": "AllowAccessToECSForInfrastructureManagement", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. Use o comando da AWS CLI a seguir para criar um perfil denominado ecsInfrastructureRole usando a política de confiança criada na etapa anterior.

    aws iam create-role \ --role-name ecsInfrastructureRole \ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
  3. Dependendo do seu caso de uso, anexe a política gerenciada AmazonECSInfrastructureRolePolicyForVolumes ou AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity da AWS ao perfil ecsInfrastructureRole.

    aws iam attach-role-policy \ --role-name ecsInfrastructureRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForVolumes
    aws iam attach-role-policy \ --role-name ecsInfrastructureRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity

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

Importante

Se o perfil de infraestrutura do ECS estiver sendo usado pelo Amazon ECS para gerenciar volumes do Amazon EBS anexados às tarefas, verifique os pontos a seguir antes de interromper as tarefas que usam volumes do Amazon EBS.

  • O perfil não foi excluído.

  • A política de confiança do perfil não foi modificada para remover o acesso ao Amazon ECS (ecs.amazonaws.com).

  • A política gerenciada AmazonECSInfrastructureRolePolicyForVolumes não foi removida. Caso precise modificar as permissões do perfil, retenha pelo menos ec2:DetachVolume, ec2:DeleteVolume e ec2:DescribeVolumes para excluir o volume.

Excluir ou modificar o perfil antes de interromper tarefas com volumes anexados do Amazon EBS resultará na paralisação das tarefas em DEPROVISIONING e na falha ao excluir os volumes associados do Amazon EBS. O Amazon ECS fará automaticamente uma nova tentativa, em intervalos regulares, de interromper a tarefa e excluir o volume até que as permissões necessárias sejam restauradas. Você pode ver o status do anexo do volume de uma tarefa e o motivo do status associado usando a API DescribeTasks.

Depois de criar o arquivo, você deverá conceder ao usuário permissão para passar o perfil para o Amazon ECS.

Permissão para passar o perfil de infraestrutura para o Amazon ECS

Para usar um perfil do IAM de infraestrutura do ECS, você deve conceder permissão ao usuário para passar o perfil ao Amazon ECS. Anexe a permissão iam:PassRole a seguir ao usuário. Substitua ecsInfrastructureRole pelo nome do perfil de infraestrutura que você criou.

{ "Version": "2012-10-17", "Statement": [ { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsInfrastructureRole"], "Condition": { "StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"} } } ] }

Para obter mais informações sobre iam:Passrole e as atualizações das permissões de usuário, consulte Conceder permissões a um usuário para passar um perfil para um serviço da AWS e Alteração de permissões de um usuário do IAM no Guia do usuário do AWS Identity and Access Management.