

# Perfil do IAM de infraestrutura do Amazon ECS
<a name="infrastructure_IAM_role"></a>

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.

  É possível usar a política gerenciada `AmazonECSInfrastructureRolePolicyForVolumes`.
+ Você deseja usar o Transport Layer Security (TLS) para criptografar o tráfego entre os serviços do Amazon ECS Service Connect.

  É possível usar a política gerenciada `AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity`.
+ Você deseja criar grupos de destino do Amazon VPC Lattice.

  É possível usar a política gerenciada `AmazonECSInfrastructureRolePolicyForVpcLattice`.
+ Você deseja usar instâncias gerenciadas do Amazon ECS nos clusters do Amazon ECS. O perfil de infraestrutura permite que o Amazon ECS gerencie o ciclo de vida das instâncias gerenciadas.

  É possível usar a política gerenciada `AmazonECSInfrastructureRolePolicyForManagedInstances`.
+ Você quer usar o Express Mode. O perfil de infraestrutura permite que o Amazon ECS provisione e gerencie os componentes de infraestrutura necessários para serviços Express Mode, incluindo: balanceamento de carga, grupos de segurança, certificados SSL e configurações de ajuste de escala automático.

  É possível usar a política gerenciada `AmazonECSInfrastructureRoleforExpressGatewayServices`.

 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 `roleSessionName` será `ECSTaskVolumesForEBS`. Se o perfil for usado para criptografar o tráfego entre os serviços do Service Connect, o log do CloudTrail `roleSessionName` será `ECSServiceConnectForTLS`. Se a função for usada para criar grupos de destino para o VPC Lattice, o log do CloudTrail `roleSessionName` será `ECSNetworkingWithVPCLattice`. Se o perfil for usado para gerenciar instâncias gerenciadas do Amazon ECS, o log do CloudTrail `roleSessionName` será `ECSManagedInstancesForCompute`. 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, TLS, VPC Lattice e instâncias gerenciadas. Para obter mais informações, consulte: [AmazonECSInfrastructureRolePolicyForVolumes](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECSInfrastructureRolePolicyForVolumes.html), [AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity.html), [AmazonECSInfrastructureRolePolicyForVpcLattice](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECSInfrastructureRolePolicyForVpcLattice.html), [AmazonECSInfrastructureRolePolicyForManagedInstances](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECSInfrastructureRolePolicyForManagedInstances.html) e [AmazonECSInfrastructureRoleforExpressGatewayServices](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonECSInfrastructureRoleforExpressGatewayServices.html) no *Guia de referência de políticas gerenciadas pela AWS*. 

## Criar o perfil de infraestrutura do Amazon ECS
<a name="create-infrastructure-role"></a>

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:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	  
     "Statement": [ 
       {
         "Sid": "AllowAccessToECSForInfrastructureManagement", 
         "Effect": "Allow", 
         "Principal": {
           "Service": "ecs.amazonaws.com" 
         }, 
         "Action": "sts:AssumeRole" 
       } 
     ] 
   }
   ```

------

1. 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
   ```

1. Dependendo do seu caso de uso, anexe a política gerenciada ao perfil `ecsInfrastructureRole`.
   + Para anexar volumes do Amazon EBS às tarefas do Amazon ECS do tipo de inicialização do Fargate ou EC2, anexe a política gerenciada `AmazonECSInfrastructureRolePolicyForVolumes`.
   + Para usar o Transport Layer Security (TLS) para criptografar o tráfego entre os serviços do Amazon ECS Service Connect, anexe a política gerenciada `AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity`.
   + Para criar grupos de destino do Amazon VPC Lattice, anexe a política gerenciada `AmazonECSInfrastructureRolePolicyForVpcLattice`.
   + Se você deseja usar instâncias gerenciadas do Amazon ECS nos clusters do Amazon ECS, anexe a política gerenciada `AmazonECSInfrastructureRolePolicyForManagedInstances`.

   ```
   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
   ```

   ```
   aws iam attach-role-policy \
         --role-name ecsInfrastructureRole \
         --policy-arn arn:aws:iam::aws:policy/AmazonECSInfrastructureRolePolicyForManagedInstances
   ```

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)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) no *Guia do usuário do IAM*.

**Importante**  
Se o perfil de infraestrutura estiver sendo usado pelo Amazon ECS para gerenciar volumes do Amazon EBS anexados às tarefas, verifique o seguinte 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](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html).

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
<a name="pass_infrastructure_role_to_service"></a>

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.

------
#### [ JSON ]

****  

```
{
    "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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) e [Alteração de permissões de um usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html) no *Guia do usuário do AWS Identity and Access Management*.