

# Como o Amazon Elastic Container Service funciona com o IAM
<a name="security_iam_service-with-iam"></a>

Antes de usar o IAM para gerenciar o acesso ao Amazon ECS, entenda que recursos do IAM estão disponíveis para uso com o Amazon ECS.

 

 


| Recurso do IAM | Suporte ao Amazon ECS | 
| --- | --- | 
|  [Políticas baseadas em identidade](#security_iam_service-with-iam-id-based-policies)  |  Sim | 
|  [Políticas baseadas em recurso](#security_iam_service-with-iam-resource-based-policies)  |  Não  | 
|  [Ações de políticas](#security_iam_service-with-iam-id-based-policies-actions)  |  Sim | 
|  [Recursos de políticas](#security_iam_service-with-iam-id-based-policies-resources)  |  Parcial | 
|  [Chaves de condição de políticas](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |  Sim | 
|  [ACLs](#security_iam_service-with-iam-acls)  |  Não  | 
|  [ABAC (tags em políticas)](#security_iam_service-with-iam-tags)  |  Sim | 
|  [Credenciais temporárias](#security_iam_service-with-iam-roles-tempcreds)  |  Sim | 
|  [Sessões de acesso direto (FAS)](#security_iam_service-with-iam-principal-permissions)  |  Sim | 
|  [Perfis de serviço](#security_iam_service-with-iam-roles-service)  |  Sim | 
|  [Perfis vinculados a serviço](#security_iam_service-with-iam-roles-service-linked)  |  Sim | 

Para obter uma visualização de alto nível de como o Amazon ECS e outros serviços da AWS funcionam com a maioria dos recursos do IAM, consulte [Serviços da AWS compatíveis com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Políticas baseadas em identidade do Amazon ECS
<a name="security_iam_service-with-iam-id-based-policies"></a>

**Suporte a políticas baseadas em identidades:** sim

As políticas baseadas em identidade são documentos de políticas de permissões JSON que podem ser anexados a uma identidade, como usuário do IAM, grupo de usuários ou perfil. Essas políticas controlam quais ações os usuários e perfis podem realizar, em quais recursos e em que condições. Para saber como criar uma política baseada em identidade, consulte [Definir permissões personalizadas do IAM com as políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) no *Guia do Usuário do IAM*.

Com as políticas baseadas em identidade do IAM, é possível especificar ações e recursos permitidos ou negados, assim como as condições sob as quais as ações são permitidas ou negadas. Para saber mais sobre todos os elementos que podem ser usados em uma política JSON, consulte [Referência de elemento de política JSON do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) no *Guia do usuário do IAM*.

### Exemplos de políticas baseadas em identidade para o Amazon ECS
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>

 

Para visualizar exemplos de políticas baseadas em identidade do Amazon ECS, consulte [Exemplos de políticas baseadas em identidade do Amazon Elastic Container Service](security_iam_id-based-policy-examples.md).

## Políticas baseadas em recursos do Amazon ECS
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**Suporte a políticas baseadas em recursos:** não 

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. São exemplos de políticas baseadas em recursos as *políticas de confiança de perfil* do IAM e as *políticas de bucket* do Amazon S3. Em serviços compatíveis com políticas baseadas em recursos, os administradores de serviço podem usá-las para controlar o acesso a um recurso específico. Para o atributo ao qual a política está anexada, a política define quais ações uma entidade principal especificado pode executar nesse atributo e em que condições. É necessário [especificar uma entidade principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) em uma política baseada em recursos. As entidades principais podem incluir contas, usuários, perfis, usuários federados ou Serviços da AWS.

Para permitir o acesso entre contas, é possível especificar uma conta inteira ou as entidades do IAM em outra conta como a entidade principal em uma política baseada em recursos. Consulte mais informações em [Acesso a recursos entre contas no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) no *Guia do usuário do IAM*.

## Ações de políticas para o Amazon ECS
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**Suporte a ações de políticas:** sim

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Action` de uma política JSON descreve as ações que podem ser usadas para permitir ou negar acesso em uma política. Incluem ações em uma política para conceder permissões para executar a operação associada.

 

Para ver uma lista das ações do Amazon ECS, consulte [Ações definidas pelo Amazon Elastic Conteiner Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html#amazonelasticcontainerservice-actions-as-permissions) na *Referência de autorização de serviço*.

As ações de política no Amazon ECS usam o seguinte prefixo antes da ação:

```
ecs
```

Para especificar várias ações em uma única instrução, separe-as com vírgulas.

```
"Action": [
      "ecs:{{action1}}",
      "ecs:{{action2}}"
         ]
```

 

 

Você também pode especificar várias ações usando caracteres-curinga (\*). Por exemplo, para especificar todas as ações que começam com a palavra `Describe`, inclua a seguinte ação:

```
"Action": "ecs:Describe*"
```

Para visualizar exemplos de políticas baseadas em identidade do Amazon ECS, consulte [Exemplos de políticas baseadas em identidade do Amazon Elastic Container Service](security_iam_id-based-policy-examples.md).

## Recursos de políticas para o Amazon ECS
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**Suporte a recursos de políticas:** parcial

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento de política JSON `Resource` especifica o objeto ou os objetos aos quais a ação se aplica. Como prática recomendada, especifique um recurso usando seu [nome do recurso da Amazon (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Para ações que não oferecem compatibilidade com permissões em nível de recurso, use um curinga (\*) para indicar que a instrução se aplica a todos os recursos.

```
"Resource": "*"
```

Para ver uma lista dos tipos de recursos do Amazon ECS e seus ARNs, consulte [Recursos definidos pelo Amazon Elastic Conteiner Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html#amazonelasticcontainerservice-resources-for-iam-policies) na *Referência de autorização de serviço*. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte [Ações definidas pelo Amazon Elastic Container Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html#amazonelasticcontainerservice-actions-as-permissions).

 

 

Algumas ações da API do Amazon ECS oferecem suporte a vários recursos. Por exemplo, é possível fazer referência a vários clusters ao chamar a ação de API `DescribeClusters`. Para especificar vários recursos em uma única declaração, separe os ARNs com vírgulas. 

```
"Resource": [
      "EXAMPLE-RESOURCE-1",
      "EXAMPLE-RESOURCE-2"
```

Por exemplo, o recurso de cluster do Amazon ECS tem o seguinte ARN:

```
arn:${Partition}:ecs:${Region}:${Account}:cluster/${clusterName}
```

Para especificar os clusters `my-cluster-1` e `my-cluster-2` em sua instrução, use os seguintes ARNs:

```
"Resource": [
         "arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster-1",
         "arn:aws:ecs:us-east-1:123456789012:cluster/my-cluster-2"
```

Para especificar todos os clusters que pertencem a uma conta específica, use o caractere curinga (\*):

```
"Resource": "arn:aws:ecs:us-east-1:123456789012:cluster/*"
```

Para definições de tarefa, você pode especificar a revisão mais recente ou uma revisão específica.

Para especificar todas as revisões da definição de tarefa, use o caractere curinga (\*):

```
"Resource:arn:${Partition}:ecs:${Region}:${Account}:task-definition/${TaskDefinitionFamilyName}:*"
```

Para especificar uma revisão de definição de tarefa específica, use ${TaskDefinitionRevisionNumber}:

```
"Resource:arn:${Partition}:ecs:${Region}:${Account}:task-definition/${TaskDefinitionFamilyName}:${TaskDefinitionRevisionNumber}"
```

Para visualizar exemplos de políticas baseadas em identidade do Amazon ECS, consulte [Exemplos de políticas baseadas em identidade do Amazon Elastic Container Service](security_iam_id-based-policy-examples.md).

## Chaves de condição de políticas para o Amazon ECS
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**Suporte a chaves de condição de políticas específicas do serviço:** sim

Os administradores podem usar as políticas JSON da AWS para especificar quem tem acesso a quê. Ou seja, qual **entidade principal** pode executar **ações** em quais **recursos** e em que **condições**.

O elemento `Condition` especifica quando as instruções são executadas com base em critérios definidos. É possível criar expressões condicionais que usem [agentes de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), como “igual a” ou “menor que”, para fazer a condição da política corresponder aos valores na solicitação. Para ver todas as chaves de condição globais da AWS, consulte [Chaves de contexto de condição globais da AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

O Amazon ECS oferece suporte às seguintes chaves de condição específicas ao serviço que você pode usar para fornecer filtragem refinada para suas políticas do IAM:


|  Chave de condição  |  Descrição  |  Tipos de avaliação  | 
| --- | --- | --- | 
| aws:RequestTag/${TagKey} | Essa chave de contexto é formatada `"aws:RequestTag/{{tag-key}}":"{{tag-value}}"` em que {{tag-key}} e {{tag-value}} são um par de chave e valor da tag.<br />Verifica se o par de chave/valor da tag está presente em uma solicitação da AWS. Por exemplo, você pode verificar que a solicitação inclui a chave de tag `"Dept"` e se ela tem o valor `"Accounting"`. | String | 
| aws:ResourceTag/${TagKey} | Essa chave de contexto é formatada `"aws:ResourceTag/{{tag-key}}":"{{tag-value}}"` em que {{tag-key}} e {{tag-value}} são um par de chave e valor da tag.<br />Verifica se a tag anexada ao recurso de identidade (usuário ou função) corresponde ao nome e ao valor da chave especificada. | String | 
| aws:TagKeys | Essa chave de contexto é formatada como `"aws:TagKeys":"{{tag-key}}"`, onde {{tag-key}} é uma lista de chaves de tags sem valores (por exemplo, `["Dept","Cost-Center"]`).<br />Verifica as chaves de tags que estão presentes em uma solicitação da AWS. | String | 
| ecs:ResourceTag/${TagKey} | Essa chave de contexto é formatada `"ecs:ResourceTag/{{tag-key}}":"{{tag-value}}"` em que {{tag-key}} e {{tag-value}} são um par de chave e valor da tag.<br />Verifica se a tag anexada ao recurso de identidade (usuário ou função) corresponde ao nome e ao valor da chave especificada. | String | 
| ecs:account-setting | A chave de contexto é formatada como `"ecs:account-setting":"{{account-setting}}"`, onde {{account-setting}} é o nome da configuração da conta. | String | 
| ecs:auto-assign-public-ip | A chave de contexto é formatada como "ecs:auto-assign-public-ip":"{{value}}", onde {{value-}} é "true" ou "false". | String | 
| ecs:capacity-provider | A chave de contexto é formatada como `"ecs:capacity-provider":"{{capacity-provider-arn}}"`, onde {{capacity-provider-arn}} é o ARN do provedor de capacidade. | ARN, nulo | 
| ecs:cluster | A chave de contexto é formatada como `"ecs:cluster":"{{cluster-arn}}"`, onde {{cluster-arn}} é o ARN do cluster do Amazon ECS. | ARN, nulo | 
| ecs:compute-compatability | A chave de contexto é formatada como "ecs:compute-compatability":"{{compatability-type}}", em que {{ {{compatability-type}} }} é “FARGATE”, “EC2” ou “EXTERNAL”. | String | 
| ecs:container-instances | A chave de contexto é formatada como `"ecs:container-instances":"{{container-instance-arns}}"`, onde {{container-instance-arns}} é um ou mais ARNs de instância de contêiner. | ARN, nulo | 
| ecs:container-name | A chave de contexto é formatada como `"ecs:container-name":"{{container-name}}"`, onde {{conteiner-instance-}} é o nome de um contêiner do Amazon ECS especificado na definição da tarefa.  | String | 
| ecs:enable-execute-command | A chave de contexto é formatada como "ecs:enable-execute-command":"{{value}}", onde {{value-}} é "true" ou "false". | String | 
| ecs:enable-service-connect | A chave de contexto é formatada como `"ecs:enable-service-connect":"{{value}}"`, onde {{value}} é `"true"` ou `"false"`. | String | 
| ecs:enable-ebs-volumes | A chave de contexto é formatada como `"ecs:enable-ebs-volumes":"{{value}}"`, onde {{value}} é `"true"` ou `"false"`. | String | 
| ecs:enable-managed-tags | A chave de contexto é formatada como `"ecs:enable-managed-tags":"{{value}}"`, onde {{value}} é `"true"` ou `"false"`. | String | 
| ecs:enable-vpc-lattice | A chave de contexto é formatada como `"ecs:vpc-lattice":"{{value}}"`, onde {{value}} é `"true"` ou `"false"`. | String | 
| ecs:fargate-ephemeral-storage-kms-key | A chave de contexto é formatada como, `"ecs:fargate-ephemeral-storage-kms-key":"{{key}}"` onde {{key}} é o ID da chave AWS KMS. | String | 
| ecs:namespace | A chave de contexto é formatada como `"ecs:namespace":"{{namespace-arn}}"`, onde {{namespace-arn}} é o ARN para o namespace do AWS Cloud Map. | ARN, nulo | 
| ecs:propagate-tags | A chave de contexto é formatada como `"ecs:propagate-tags":"{{value}}"`, onde {{value}} é `"TASK_DEFINITION"`, `"SERVICE"` ou `"NONE"`. | String | 
| ecs:service | A chave de contexto é formatada como `"ecs:service":"{{service-arn}}"`, onde {{service-arn}} é o ARN para o serviço do Amazon ECS. | ARN, nulo | 
| ecs:task-definition | A chave de contexto é formatada como `"ecs:task-definition":"{{task-definition-arn}}"`, onde {{task-definition-arn}} é o ARN da definição de tarefa do Amazon ECS. | ARN, nulo | 
| ecs:subnet | A chave de contexto é formatada como `"ecs:subnet":"{{subnets}}"` onde {{subnets}} são as sub-redes de uma tarefa ou serviço que usa o modo `awsvpc`. | String | 
| ecs:task | A chave de contexto é formatada como `"ecs:task":"{{task-arn}}"`, onde {{task-arn}} é o ARN para o serviço do Amazon ECS. | ARN, nulo | 
| ecs:task-cpu | A chave de contexto é formatada como "ecs:task-cpu":"{{task-cpu}}", onde {{task-cpu}} é a CPU da tarefa, como um número inteiro com 1024 = 1 vCPU. | Inteiro | 
| ecs:task-memory | A chave de contexto é formatada como "ecs:task-memory":"{{task-memory}}", onde {{task-memory}} é a memória da tarefa em MiB. | Inteiro | 

Para ver uma lista de chaves de condição do Amazon ECS, consulte [Chaves de condição para o Amazon Elastic Conteiner Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html#amazonelasticcontainerservice-policy-keys) na *Referência de autorização de serviço*. Para saber com quais ações e recursos você pode usar a chave de condição, consulte [Ações definidas pelo Amazon Elastic Container Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html#amazonelasticcontainerservice-actions-as-permissions).

Para visualizar exemplos de políticas baseadas em identidade do Amazon ECS, consulte [Exemplos de políticas baseadas em identidade do Amazon Elastic Container Service](security_iam_id-based-policy-examples.md).

## Listas de controle de acesso (ACLs) no Amazon ECS
<a name="security_iam_service-with-iam-acls"></a>

**Suporte a ACLs:** não 

As listas de controle de acesso (ACLs) controlam quais entidades principais (membros, usuários ou perfis da conta) têm permissões para acessar um recurso. As ACLs são semelhantes às políticas baseadas em recursos, embora não usem o formato de documento de política JSON.

## Controle de acesso por atributo (ABAC) com o Amazon ECS
<a name="security_iam_service-with-iam-tags"></a>

**Importante**  
O Amazon ECS oferece suporte ao controle de acesso baseado em atributos para todos os recursos do Amazon ECS. Para determinar se é possível usar atributos para definir o escopo de uma ação, use a tabela [Ações definidas pelo Amazon ECS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerservice.html#amazonelasticcontainerservice-actions-as-permissions) em *Referência da autorização de serviço*. Primeiro, verifique se há um recurso na coluna **Recurso**. Em seguida, use a coluna **Chaves de condição** para ver as chaves da combinação de ação/recurso.

**Suporte a ABAC (tags em políticas):** sim

O controle de acesso por atributo (ABAC) é uma estratégia de autorização que define permissões com base em atributos chamados de tags. É possível anexar tags a entidades do IAM e recursos da AWS e, em seguida, projetar políticas de ABAC para permitir operações quando a tag da entidade principal corresponder à tag no recurso.

Para controlar o acesso baseado em tags, forneça informações sobre as tags no [elemento de condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) de uma política usando as `aws:ResourceTag/{{key-name}}`, `aws:RequestTag/{{key-name}}` ou chaves de condição `aws:TagKeys`.

Se um serviço for compatível com as três chaves de condição para cada tipo de recurso, o valor será **Sim** para o serviço. Se um serviço for compatível com as três chaves de condição somente para alguns tipos de recursos, o valor será **Parcial**

Para saber mais sobre o ABAC, consulte [Definir permissões com autorização do ABAC](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) no *Guia do usuário do IAM*. Para visualizar um tutorial com etapas para configurar o ABAC, consulte [Usar controle de acesso por atributo (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html) no *Guia do usuário do IAM*.

Para obter mais informações sobre recursos de marcação do Amazon ECS, consulte [Marcação de recursos do Amazon ECS](ecs-using-tags.md).

Para visualizar um exemplo de política baseada em identidade para limitar o acesso a um recurso baseado em tags desse recurso, consulte [Descrever serviços do Amazon ECS com base em etiquetas](security_iam_id-based-policy-examples.md#security_iam_id-based-policy-examples-view-cluster-tags).

## Uso de credenciais temporárias com o Amazon ECS
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**Suporte a credenciais temporárias:** sim

As credenciais temporárias dão acesso de curto prazo aos recursos da AWS e são criadas automaticamente quando você usa a federação ou alterna os perfis. A AWS recomenda a você gerar credenciais temporárias dinamicamente, em vez de usar chaves de acesso de longo prazo. Para ter mais informações, consulte [Credenciais de segurança temporárias no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) e [Serviços da Serviços da AWS que funcionam com o IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) no *Guia do usuário do IAM*.

## Sessões de acesso direto para o Amazon ECS
<a name="security_iam_service-with-iam-principal-permissions"></a>

**Suporte ao recurso de encaminhamento de sessões de acesso (FAS):** sim

 As sessões de acesso direto (FAS) usam as permissões da entidade principal chamando um AWS service (Serviço da AWS), bem como o AWS service (Serviço da AWS) solicitante, para fazer solicitações a serviços subsequentes. Para obter detalhes da política ao fazer solicitações de FAS, consulte [Sessões de acesso direto](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_forward_access_sessions.html). 

## Funções de serviço para o Amazon ECS
<a name="security_iam_service-with-iam-roles-service"></a>

**Suporte a perfis de serviço:** sim

 O perfil de serviço é um [perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) que um serviço assume para executar ações em seu nome. Um administrador do IAM pode criar, modificar e excluir um perfil de serviço do IAM. Para saber mais, consulte [Criar um perfil para delegar permissões a um AWS service (Serviço da AWS)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) no *Guia do Usuário do IAM*. 

**Atenção**  
A alteração das permissões de uma função de serviço pode interromper a funcionalidade do Amazon ECS. Edite funções de serviço somente quando o Amazon ECS fornecer orientação para isso.

## Funções vinculadas ao serviço para o Amazon ECS
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**Suporte a perfis vinculados a serviços:** sim

 Um perfil vinculado a serviço é um tipo de perfil de serviço vinculado a um AWS service (Serviço da AWS). O serviço pode presumir o perfil de executar uma ação em seu nome. Perfis vinculados ao serviço aparecem em sua Conta da AWS e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não editar as permissões para perfis vinculados ao serviço. 

Para obter detalhes sobre como criar ou gerenciar funções vinculadas ao serviço do Amazon ECS, consulte [Uso de perfis vinculados ao serviço para o Amazon ECS](using-service-linked-roles.md).