

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Segurança no Amazon Elastic Container Registry
<a name="security"></a>

A segurança na nuvem AWS é a maior prioridade. Como AWS cliente, você se beneficia de uma arquitetura de data center e rede criada para atender aos requisitos das organizações mais sensíveis à segurança.

A segurança é uma responsabilidade compartilhada entre você AWS e você. O [modelo de responsabilidade compartilhada](https://aws.amazon.com/compliance/shared-responsibility-model/) descreve isto como segurança *da* nuvem e segurança *na* nuvem.
+ **Segurança da nuvem** — AWS é responsável por proteger a infraestrutura que executa AWS os serviços na AWS nuvem. AWS também fornece serviços que você pode usar com segurança. Auditores de terceiros testam e verificam regularmente a eficácia da nossa segurança como parte dos [programas de conformidade da AWS](https://aws.amazon.com/compliance/programs/). Para saber mais sobre os programas de conformidade que se aplicam ao Amazon ECR, consulte [Serviços da AWS no escopo pelo programa de conformidade](https://aws.amazon.com/compliance/services-in-scope/).
+ **Segurança na nuvem** — Sua responsabilidade é determinada pelo AWS serviço que você usa. Você também é responsável por outros fatores, incluindo a confidencialidade de seus dados, os requisitos da empresa e as leis e regulamentos aplicáveis. 

Esta documentação ajuda a entender como aplicar o modelo de responsabilidade compartilhada ao usar o Amazon ECR. Os tópicos a seguir mostram como configurar o Amazon ECR para atender aos seus objetivos de segurança e conformidade. Você também aprende a usar outros AWS serviços que ajudam você a monitorar e proteger seus recursos do Amazon ECR. 

**Topics**
+ [Gerenciamento de Identidade e Acesso para o Amazon Elastic Container Registry](security-iam.md)
+ [Proteção de dados no Amazon ECR](data-protection.md)
+ [Validação da conformidade do Amazon Elastic Container Registry](ecr-compliance.md)
+ [Segurança de infraestrutura no Amazon Elastic Container Registry](infrastructure-security.md)
+ [Prevenção contra o ataque do “substituto confuso” em todos os serviços](cross-service-confused-deputy-prevention.md)

# Gerenciamento de Identidade e Acesso para o Amazon Elastic Container Registry
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) é uma ferramenta AWS service (Serviço da AWS) que ajuda o administrador a controlar com segurança o acesso aos AWS recursos. Os administradores do IAM controlam quem pode ser *autenticado* (conectado) e *autorizado* (ter permissões) para usar recursos do Amazon ECR. O IAM é um AWS service (Serviço da AWS) que você pode usar sem custo adicional.

**Topics**
+ [Público](#security_iam_audience)
+ [Autenticação com identidades](#security_iam_authentication)
+ [Gerenciar o acesso usando políticas](#security_iam_access-manage)
+ [Como o Amazon Elastic Container Registry funciona com o IAM](security_iam_service-with-iam.md)
+ [Exemplos de políticas baseadas em identidade do Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md)
+ [Usar controle de acesso baseado em tags](ecr-supported-iam-actions-tagging.md)
+ [AWS políticas gerenciadas para o Amazon Elastic Container Registry](security-iam-awsmanpol.md)
+ [Uso de funções vinculadas ao serviço para o Amazon ECR](using-service-linked-roles.md)
+ [Solução de problemas de identidade e acesso para o Amazon Elastic Container Registry](security_iam_troubleshoot.md)

## Público
<a name="security_iam_audience"></a>

A forma como você usa AWS Identity and Access Management (IAM) difere com base na sua função:
+ **Usuário do serviço**: solicite permissões ao seu administrador se você não conseguir acessar os atributos (consulte [Solução de problemas de identidade e acesso para o Amazon Elastic Container Registry](security_iam_troubleshoot.md)).
+ **Administrador do serviço**: determine o acesso do usuário e envie solicitações de permissão (consulte [Como o Amazon Elastic Container Registry funciona com o IAM](security_iam_service-with-iam.md))
+ **Administrador do IAM**: escreva políticas para gerenciar o acesso (consulte [Exemplos de políticas baseadas em identidade do Amazon Elastic Container Registry](security_iam_id-based-policy-examples.md))

## Autenticação com identidades
<a name="security_iam_authentication"></a>

A autenticação é a forma como você faz login AWS usando suas credenciais de identidade. Você deve estar autenticado como usuário do IAM ou assumindo uma função do IAM. Usuário raiz da conta da AWS

Você pode fazer login como uma identidade federada usando credenciais de uma fonte de identidade como Centro de Identidade do AWS IAM (IAM Identity Center), autenticação de login único ou credenciais. Google/Facebook Para ter mais informações sobre como fazer login, consulte [Como fazer login em sua Conta da AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) no *Guia do usuário do Início de Sessão da AWS *.

Para acesso programático, AWS fornece um SDK e uma CLI para assinar solicitações criptograficamente. Para ter mais informações, consulte [AWS Signature Version 4 para solicitações de API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) no *Guia do usuário do IAM*.

### Conta da AWS usuário root
<a name="security_iam_authentication-rootuser"></a>

 Ao criar um Conta da AWS, você começa com uma identidade de login chamada *usuário Conta da AWS raiz* que tem acesso completo a todos Serviços da AWS os recursos. É altamente recomendável não usar o usuário-raiz em tarefas diárias. Consulte as tarefas que exigem credenciais de usuário-raiz em [Tarefas que exigem credenciais de usuário-raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) no *Guia do usuário do IAM*. 

### Usuários e grupos do IAM
<a name="security_iam_authentication-iamuser"></a>

Um *[usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* é uma identidade com permissões específicas para uma única pessoa ou aplicação. É recomendável usar credenciais temporárias, em vez de usuários do IAM com credenciais de longo prazo. Para obter mais informações, consulte [Exigir que usuários humanos usem a federação com um provedor de identidade para acessar AWS usando credenciais temporárias](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) no *Guia do usuário do IAM*.

Um [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) especifica um conjunto de usuários do IAM e facilita o gerenciamento de permissões para grandes conjuntos de usuários. Para ter mais informações, consulte [Casos de uso de usuários do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) no *Guia do usuário do IAM*.

### Perfis do IAM
<a name="security_iam_authentication-iamrole"></a>

Uma *[perfil do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* é uma identidade com permissões específicas que oferece credenciais temporárias. Você pode assumir uma função [mudando de um usuário para uma função do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou chamando uma operação de AWS API AWS CLI ou. Para saber mais, consulte [Métodos para assumir um perfil](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) no *Manual do usuário do IAM*.

Os perfis do IAM são úteis para acesso de usuário federado, permissões de usuário do IAM temporárias, acesso entre contas, acesso entre serviços e aplicações em execução no Amazon EC2. 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*.

## Gerenciar o acesso usando políticas
<a name="security_iam_access-manage"></a>

Você controla o acesso AWS criando políticas e anexando-as a AWS identidades ou recursos. Uma política define permissões quando associada a uma identidade ou recurso. AWS avalia essas políticas quando um diretor faz uma solicitação. A maioria das políticas é armazenada AWS como documentos JSON. Para ter mais informações sobre documentos de política JSON, consulte [Visão geral das políticas JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) no *Guia do usuário do IAM*.

Por meio de políticas, os administradores especificam quem tem acesso a que, definindo qual **entidade principal** pode realizar **ações** em quais **recursos** e sob quais **condições**.

Por padrão, usuários e perfis não têm permissões. Um administrador do IAM cria políticas do IAM e as adiciona aos perfis, os quais os usuários podem então assumir. As políticas do IAM definem permissões, independentemente do método usado para realizar a operação.

### Políticas baseadas em identidade
<a name="security_iam_access-manage-id-based-policies"></a>

As políticas baseadas em identidade são documentos de políticas de permissão JSON que você anexa a uma identidade (usuário, grupo ou perfil). Essas políticas controlam quais ações as identidades podem realizar, em quais recursos e sob quais 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*.

As políticas baseadas em identidade podem ser políticas *em linha* (incorporadas diretamente em uma única identidade) ou *políticas gerenciadas* (políticas autônomas anexadas a várias identidades). Para saber como escolher entre uma política gerenciada e políticas em linha, consulte [Escolher entre políticas gerenciadas e políticas em linha](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) no *Guia do usuário do IAM*.

### Políticas baseadas em recursos
<a name="security_iam_access-manage-resource-based-policies"></a>

Políticas baseadas em recursos são documentos de políticas JSON que você anexa a um recurso. Entre os exemplos estão *políticas de confiança de perfil* do IAM e *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. É 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.

Políticas baseadas em recursos são políticas em linha localizadas nesse serviço. Você não pode usar políticas AWS gerenciadas do IAM em uma política baseada em recursos.

### Outros tipos de política
<a name="security_iam_access-manage-other-policies"></a>

AWS oferece suporte a tipos de políticas adicionais que podem definir o máximo de permissões concedidas por tipos de políticas mais comuns:
+ **Limites de permissões**: definem o número máximo de permissões que uma política baseada em identidade pode conceder a uma entidade do IAM. Para saber mais sobre limites de permissões, consulte [Limites de permissões para identidades do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) no *Guia do usuário do IAM*.
+ **Políticas de controle de serviço (SCPs)** — Especifique as permissões máximas para uma organização ou unidade organizacional em AWS Organizations. Para saber mais, consulte [Políticas de controle de serviço](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) no *Guia do usuário do AWS Organizations *.
+ **Políticas de controle de recursos (RCPs)** — Defina o máximo de permissões disponíveis para recursos em suas contas. Para obter mais informações, consulte [Políticas de controle de recursos (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) no *Guia AWS Organizations do usuário*.
+ **Políticas de sessão**: políticas avançadas transmitidas como um parâmetro durante a criação de uma sessão temporária para um perfil ou um usuário federado. Para saber mais, consulte [Políticas de sessão](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) no *Guia do usuário do IAM*.

### Vários tipos de política
<a name="security_iam_access-manage-multiple-policies"></a>

Quando vários tipos de política são aplicáveis a uma solicitação, é mais complicado compreender as permissões resultantes. Para saber como AWS determinar se uma solicitação deve ser permitida quando vários tipos de políticas estão envolvidos, consulte [Lógica de avaliação de políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) no *Guia do usuário do IAM*.

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

Antes de usar o IAM para gerenciar o acesso ao Amazon ECR, você deve entender quais recursos do IAM estão disponíveis para uso com o Amazon ECR. Para obter uma visão de alto nível de como o Amazon ECR e outros AWS serviços funcionam com o IAM, consulte [AWS Serviços que funcionam com o IAM no Guia do](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html) *usuário do IAM*.

**Topics**
+ [Políticas baseadas em identidade do Amazon ECR](#security_iam_service-with-iam-id-based-policies)
+ [Políticas baseadas em recurso do Amazon ECR](#security_iam_service-with-iam-resource-based-policies)
+ [Autorização baseada em tags do Amazon ECR](#security_iam_service-with-iam-tags)
+ [Perfis do IAM no Amazon ECR](#security_iam_service-with-iam-roles)

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

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. O Amazon ECR oferece suporte a ações, chaves de condição e recursos específicos. Para conhecer todos os elementos usados em uma política JSON, consulte [Referência de elementos 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*.

### Ações
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao 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.

As ações de política no Amazon ECR usam o seguinte prefixo antes da ação: `ecr:`. Por exemplo, para conceder a alguém permissão para criar um repositório do Amazon ECR com a operação de API `CreateRepository` do Amazon ECR, inclua a ação `ecr:CreateRepository` na política da pessoa. As instruções de política devem incluir um elemento `Action` ou `NotAction`. O Amazon ECR define seu próprio conjunto de ações que descrevem as tarefas que você pode executar com esse serviço.

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

```
"Action": [
      "ecr:action1",
      "ecr:action2"
```

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

```
"Action": "ecr:Describe*"
```



Para ver uma lista das ações do Amazon ECR, consulte [Ações, recursos e chaves de condição do Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html) no *Manual do usuário do IAM*.

### Recursos
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao 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 (\$1) para indicar que a instrução se aplica a todos os recursos.

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



Um recurso do repositório do Amazon ECR tem o seguinte ARN:

```
arn:${Partition}:ecr:${Region}:${Account}:repository/${Repository-name}
```

Para obter mais informações sobre o formato de ARNs, consulte [Amazon Resource Names (ARNs) e AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Por exemplo, para especificar o repositório `my-repo` na região `us-east-1` em sua instrução, use o seguinte ARN:

```
"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
```

Para especificar todos os repositórios que pertencem a uma conta específica, use o caractere curinga (\$1):

```
"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/*"
```

Para especificar vários recursos em uma única instrução, separe-os ARNs com vírgulas. 

```
"Resource": [
      "resource1",
      "resource2"
```

Para ver uma lista dos tipos de recursos do Amazon ECR e seus ARNs, consulte [Recursos definidos pelo Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-resources-for-iam-policies) no *Guia do usuário do IAM*. Para saber com quais ações você pode especificar o ARN de cada recurso, consulte [Ações definidas pelo Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Chaves de condição
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Os administradores podem usar políticas AWS JSON para especificar quem tem acesso ao 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 AWS globais, consulte as [chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.

O Amazon ECR define seu próprio conjunto de chaves de condição e também oferece suporte ao uso de algumas chaves de condição globais. Para ver todas as chaves de condição AWS globais, consulte [Chaves de contexto de condição AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) no *Guia do usuário do IAM*.



A maioria das ações do Amazon ECR oferecem suporte às chaves de condição `aws:ResourceTag` e `ecr:ResourceTag`. Para obter mais informações, consulte [Usar controle de acesso baseado em tags](ecr-supported-iam-actions-tagging.md).

Para ver uma lista das chaves de condição do Amazon ECR, consulte [Chaves de condição definidas pelo Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-policy-keys) no*Manual do usuário do IAM*. Para saber com quais ações e recursos você pode usar a chave de condição, consulte [Ações definidas pelo Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Exemplos
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



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

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

As políticas baseadas em recursos são documentos de políticas JSON que especificam quais ações uma entidade principal pode executar no recurso do Amazon ECR e em quais condições. O Amazon ECR oferece suporte a políticas de permissões baseadas em recursos para repositórios do Amazon ECR. As políticas baseadas em recursos permitem conceder permissão de uso a outras contas especificada por recurso. Também é possível usar uma política baseada em recurso para permitir que um serviço da AWS acesse seus repositórios do Amazon ECR.

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 recurso](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). Adicionar uma entidade principal entre contas à política baseada em recurso é apenas metade da tarefa de estabelecimento da relação de confiança. Quando o principal e o recurso estão em AWS contas diferentes, você também deve conceder permissão à entidade principal para acessar o recurso. Conceda permissão anexando uma política baseada em identidade para a entidade. No entanto, se uma política baseada em recurso conceder acesso a uma entidade principal na mesma conta, não serão necessárias permissões adicionais do repositório do Amazon ECR na política baseada em identidade. Para mais informações, consulte [Como perfis do IAM diferem de políticas baseadas em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) no *Manual do usuário do IAM*.

O serviço Amazon ECR oferece suporte somente a um tipo de política baseada em recurso, denominada *política de repositório*, que é anexada a um *repositório*. Essa política define quais entidades principais (contas, usuários, funções e usuários federados) podem realizar ações no repositório. Para saber como anexar uma política baseada em recurso a um repositório, consulte [Políticas de repositório privado no Amazon ECR](repository-policies.md).

**nota**  
Em uma política de repositório do Amazon ECR, o elemento de política `Sid` aceita caracteres e espaçamento adicionais que as políticas do IAM não aceitam.

### Exemplos
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Para ver exemplos de políticas baseadas em recursos do Amazon ECR, consulte [Exemplos de políticas de repositório privado no Amazon ECR](repository-policy-examples.md).

## Autorização baseada em tags do Amazon ECR
<a name="security_iam_service-with-iam-tags"></a>

É possível anexar tags a recursos do Amazon ECR ou informar tags em uma solicitação para o Amazon ECR. 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 `ecr:ResourceTag/key-name`, `aws:RequestTag/key-name` ou chaves de condição `aws:TagKeys`. Para obter mais informações sobre recursos de marcação do Amazon ECR, consulte [Marcar um repositório privado no Amazon ECR](ecr-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 [Usar controle de acesso baseado em tags](ecr-supported-iam-actions-tagging.md).

## Perfis do IAM no Amazon ECR
<a name="security_iam_service-with-iam-roles"></a>

Uma [função do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) é uma entidade dentro da sua AWS conta que tem permissões específicas.

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

É possível usar credenciais temporárias para fazer login com federação, assumir um perfil do IAM ou assumir um perfil entre contas. Você obtém credenciais de segurança temporárias chamando operações de AWS STS API, como [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

O Amazon ECR suporta o uso de credenciais temporárias. 

### Perfis vinculados ao serviço
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[As funções vinculadas ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) permitem que AWS os serviços acessem recursos em outros serviços para concluir uma ação em seu nome. Os perfis vinculados a serviço aparecem em sua conta do IAM e são de propriedade do serviço. Um administrador do IAM pode visualizar, mas não pode editar as permissões para perfis vinculados a serviço.

O Amazon ECR oferece suporte as funções vinculadas ao serviço. Para obter mais informações, consulte [Uso de funções vinculadas ao serviço para o Amazon ECR](using-service-linked-roles.md).

# Exemplos de políticas baseadas em identidade do Amazon Elastic Container Registry
<a name="security_iam_id-based-policy-examples"></a>

Por padrão, usuários e funções não têm permissão para criar ou modificar recursos do Amazon ECR. Para conceder permissão aos usuários para executar ações nos recursos que eles precisam, um administrador do IAM pode criar políticas do IAM.

Para aprender a criar uma política baseada em identidade do IAM ao usar esses documentos de política em JSON de exemplo, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) no *Guia do usuário do IAM*.

Para obter detalhes sobre ações e tipos de recursos definidos pelo Amazon ECR, incluindo o formato de cada um dos ARNs tipos de recursos, consulte [Ações, recursos e chaves de condição para o Amazon Elastic Container Registry](https://docs.aws.amazon.com/service-authorization/latest/reference/ecr.html) na *Referência de Autorização de Serviço*.

Para saber como criar uma política baseada em identidade do IAM usando esses exemplos de documentos de política JSON, consulte [Criar políticas na guia JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) no *Guia do usuário do IAM*.

**Topics**
+ [Melhores práticas de políticas](#security_iam_service-with-iam-policy-best-practices)
+ [Usar o console do Amazon ECR](#security_iam_id-based-policy-examples-console)
+ [Permitir que os usuários visualizem suas próprias permissões](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Acesso a um repositório do Amazon ECR](#security_iam_id-based-policy-examples-access-one-bucket)

## Melhores práticas de políticas
<a name="security_iam_service-with-iam-policy-best-practices"></a>

As políticas baseadas em identidade determinam se alguém pode criar, acessar ou excluir recursos do Amazon ECR em sua conta. Essas ações podem incorrer em custos para sua Conta da AWS. Ao criar ou editar políticas baseadas em identidade, siga estas diretrizes e recomendações:
+ **Comece com as políticas AWS gerenciadas e avance para as permissões de privilégios mínimos — Para começar a conceder permissões** aos seus usuários e cargas de trabalho, use as *políticas AWS gerenciadas* que concedem permissões para muitos casos de uso comuns. Eles estão disponíveis no seu Conta da AWS. Recomendamos que você reduza ainda mais as permissões definindo políticas gerenciadas pelo AWS cliente que sejam específicas para seus casos de uso. Para saber mais, consulte [Políticas gerenciadas pela AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [Políticas gerenciadas pela AWS para funções de trabalho](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) no *Guia do usuário do IAM*.
+ **Aplique permissões de privilégio mínimo**: ao definir permissões com as políticas do IAM, conceda apenas as permissões necessárias para executar uma tarefa. Você faz isso definindo as ações que podem ser executadas em recursos específicos sob condições específicas, também conhecidas como *permissões de privilégio mínimo*. Para saber mais sobre como usar o IAM para aplicar permissões, consulte [Políticas e permissões no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) no *Guia do usuário do IAM*.
+ **Use condições nas políticas do IAM para restringir ainda mais o acesso**: é possível adicionar uma condição às políticas para limitar o acesso a ações e recursos. Por exemplo, é possível escrever uma condição de política para especificar que todas as solicitações devem ser enviadas usando SSL. Você também pode usar condições para conceder acesso às ações de serviço se elas forem usadas por meio de uma ação específica AWS service (Serviço da AWS), como CloudFormation. Para saber mais, consulte [Elementos da política JSON do IAM: condição](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) no *Guia do usuário do IAM*.
+ **Use o IAM Access Analyzer para validar suas políticas do IAM a fim de garantir permissões seguras e funcionais**: o IAM Access Analyzer valida as políticas novas e existentes para que elas sigam a linguagem de política do IAM (JSON) e as práticas recomendadas do IAM. O IAM Access Analyzer oferece mais de cem verificações de política e recomendações práticas para ajudar a criar políticas seguras e funcionais. Para saber mais, consulte [Validação de políticas do IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) no *Guia do Usuário do IAM*.
+ **Exigir autenticação multifator (MFA**) — Se você tiver um cenário que exija usuários do IAM ou um usuário root, ative Conta da AWS a MFA para obter segurança adicional. Para exigir MFA quando as operações de API forem chamadas, adicione condições de MFA às suas políticas. Para saber mais, consulte [Configuração de acesso à API protegido por MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) no *Guia do Usuário do IAM*.

Para saber mais sobre as práticas recomendadas do IAM, consulte [Práticas recomendadas de segurança no IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) no *Guia do usuário do IAM*.

## Usar o console do Amazon ECR
<a name="security_iam_id-based-policy-examples-console"></a>

Para acessar o console da Amazon ECR, você deve ter um conjunto mínimo de permissões. Essas permissões devem permitir que você liste e visualize detalhes sobre os recursos do Amazon ECR em sua AWS conta. Caso crie uma política baseada em identidade mais restritiva que as permissões mínimas necessárias, o console não funcionará como pretendido para entidades (usuários ou perfis) com essa política.

Para garantir que essas entidades ainda possam usar o console do Amazon ECR, adicione a política `AmazonEC2ContainerRegistryReadOnly` AWS gerenciada às entidades. Para obter mais informações, consulte [Adição de permissões a um usuário](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) no *Manual do usuário do IAM*:

Para visualizar as permissões para esta política, consulte [AmazonElasticContainerRegistryPublicReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElasticContainerRegistryPublicReadOnly.html) na *Referência de políticas gerenciadas pela AWS *.

Você não precisa permitir permissões mínimas do console para usuários que estão fazendo chamadas somente para a API AWS CLI ou para a AWS API. Em vez disso, permita o acesso somente às ações que correspondem à operação da API que você está tentando executar.

## Permitir que os usuários visualizem suas próprias permissões
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Este exemplo mostra como criar uma política que permita que os usuários do IAM visualizem as políticas gerenciadas e em linha anexadas a sua identidade de usuário. Essa política inclui permissões para concluir essa ação no console ou programaticamente usando a API AWS CLI ou AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Acesso a um repositório do Amazon ECR
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

Neste exemplo, você deseja conceder a um usuário da sua AWS conta acesso a um dos seus repositórios do Amazon ECR,. `my-repo` Você também quer permitir que o usuário envie, extraia e liste imagens.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"GetAuthorizationToken",
         "Effect":"Allow",
         "Action":[
            "ecr:GetAuthorizationToken"
         ],
         "Resource":"*"
      },
      {
         "Sid":"ManageRepositoryContents",
         "Effect":"Allow",
         "Action":[
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:ListImages",
                "ecr:DescribeImages",
                "ecr:BatchGetImage",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage"
         ],
         "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
      }
   ]
}
```

------

# Usar controle de acesso baseado em tags
<a name="ecr-supported-iam-actions-tagging"></a>

A ação de API `CreateRepository` do Amazon ECR permite especificar tags ao criar o repositório. Para obter mais informações, consulte [Marcar um repositório privado no Amazon ECR](ecr-using-tags.md).

Para permitir que os usuários marquem repositórios na criação, eles devem ter permissões para usar a ação que cria o recurso (por exemplo, `ecr:CreateRepository`). Se as tags forem especificadas na ação resource-creating, a Amazon executará autorização adicional na ação `ecr:CreateRepository` para verificar se os usuários têm permissões para criar tags.

É possível usar controle de acesso baseado em tags por meio de políticas do IAM. Veja os exemplos a seguir.

A política a seguir só permitiria que um usuário criasse ou marcasse um repositório como `key=environment,value=dev`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateTaggedRepository",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "dev"
                }
            }
        },
        {
            "Sid": "AllowTagRepository",
            "Effect": "Allow",
            "Action": [
                "ecr:TagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "dev"
                }
            }
        }
    ]
}
```

------

A política a seguir permitiria que um usuário extraísse imagens de todos os repositórios, a menos que eles estivessem marcados como `key=environment,value=prod`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ecr:ResourceTag/environment": "prod"
                }
            }
        }
    ]
}
```

------

# AWS políticas gerenciadas para o Amazon Elastic Container Registry
<a name="security-iam-awsmanpol"></a>

Uma política AWS gerenciada é uma política autônoma criada e administrada por AWS. AWS as políticas gerenciadas são projetadas para fornecer permissões para muitos casos de uso comuns, para que você possa começar a atribuir permissões a usuários, grupos e funções.

Lembre-se de que as políticas AWS gerenciadas podem não conceder permissões de privilégio mínimo para seus casos de uso específicos porque elas estão disponíveis para uso de todos os AWS clientes. Recomendamos que você reduza ainda mais as permissões definindo as [ políticas gerenciadas pelo cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) que são específicas para seus casos de uso.

Você não pode alterar as permissões definidas nas políticas AWS gerenciadas. Se AWS atualizar as permissões definidas em uma política AWS gerenciada, a atualização afetará todas as identidades principais (usuários, grupos e funções) às quais a política está anexada. AWS é mais provável que atualize uma política AWS gerenciada quando uma nova AWS service (Serviço da AWS) é lançada ou novas operações de API são disponibilizadas para serviços existentes.

Para saber mais, consulte [AWS Políticas gerenciadas pela ](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) no *Guia do usuário do IAM*.

O Amazon ECR fornece várias políticas gerenciadas que você pode anexar às identidades do IAM ou às instâncias do Amazon EC2. Essas políticas gerenciadas permitem habilitar diferentes níveis de controle sobre o acesso às operações de API e aos recursos do Amazon ECR. Para obter mais informações sobre cada operação de API mencionada nessas políticas, consulte[Ações](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_Operations.html) na *Referência da API do Amazon Elastic Container Registry*.

**Topics**
+ [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess)
+ [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser)
+ [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly)
+ [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly)
+ [`AWSECRPullThroughCache_ServiceRolePolicy`](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy)
+ [`ECRReplicationServiceRolePolicy`](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy)
+ [`ECRTemplateServiceRolePolicy`](#security-iam-awsmanpol-ECRTemplateServiceRolePolicy)
+ [Atualizações do Amazon ECR para políticas AWS gerenciadas](#security-iam-awsmanpol-updates)

## Amazon EC2 ContainerRegistryFullAccess
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess"></a>

É possível anexar a política `AmazonEC2ContainerRegistryFullAccess` às suas identidades do IAM. Essa política concede acesso administrativo aos recursos do Amazon ECR e concede a uma identidade do IAM (como usuário, grupo ou função) acesso aos AWS serviços aos quais o Amazon ECR está integrado para usar todos os recursos do Amazon ECR. O uso dessa política permite o acesso a todos os atributos do Amazon ECR que estão disponíveis no Console de gerenciamento da AWS.

Para ver as permissões dessa política, consulte [Amazon EC2 ContainerRegistryFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html) na *Referência de políticas AWS gerenciadas*.

## Amazon EC2 ContainerRegistryPowerUser
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser"></a>

É possível anexar a política `AmazonEC2ContainerRegistryPowerUser` às suas identidades do IAM. Essa política concede permissões administrativas que permitem que os usuários do IAM leiam e gravem nos repositórios, mas não permitem que eles excluam repositórios ou alterem os documentos de política aplicados a eles.

Para ver as permissões dessa política, consulte [Amazon EC2 ContainerRegistryPowerUser](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPowerUser.html) na *Referência de políticas AWS gerenciadas*.

## Amazon EC2 ContainerRegistryPullOnly
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly"></a>

É possível anexar a política `AmazonEC2ContainerRegistryPullOnly` às suas identidades do IAM. Essa política concede permissão para extrair imagens de contêineres do Amazon ECR. Se o registro estiver habilitado para cache de pull-through, ele também permitirá que as extrações importem uma imagem de um registro upstream.

Para ver as permissões dessa política, consulte [Amazon EC2 ContainerRegistryPullOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPullOnly.html) na *Referência de políticas AWS gerenciadas*.

## Amazon EC2 ContainerRegistryReadOnly
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly"></a>

É possível anexar a política `AmazonEC2ContainerRegistryReadOnly` às suas identidades do IAM. Esta política concede permissões de acesso somente para leitura ao Amazon ECR. Isso inclui a capacidade de listar repositórios e imagens dentro dos repositórios. Inclui também a capacidade de extrair imagens do Amazon ECR com a CLI do Docker.

Para ver as permissões dessa política, consulte [Amazon EC2 ContainerRegistryReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryReadOnly.html) na *Referência de políticas AWS gerenciadas*.

## `AWSECRPullThroughCache_ServiceRolePolicy`
<a name="security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy"></a>

Não é possível anexar a política do IAM gerenciada `AWSECRPullThroughCache_ServiceRolePolicy` às suas entidades do IAM. Essa política é anexada a uma função vinculada a serviço que permite que o Amazon ECR envie imagens para seus repositórios por meio do fluxo de trabalho do cache de pull-through. Para obter mais informações, consulte [Função vinculada ao serviço do Amazon ECR para cache de pull-through](slr-pullthroughcache.md).

## `ECRReplicationServiceRolePolicy`
<a name="security-iam-awsmanpol-ECRReplicationServiceRolePolicy"></a>

Não é possível anexar a política do IAM gerenciada `ECRReplicationServiceRolePolicy` às suas entidades do IAM. Esta política é anexada a uma função vinculada ao serviço que permite ao Amazon ECR realizar ações em seu nome. Para obter mais informações, consulte [Uso de funções vinculadas ao serviço para o Amazon ECR](using-service-linked-roles.md).

## `ECRTemplateServiceRolePolicy`
<a name="security-iam-awsmanpol-ECRTemplateServiceRolePolicy"></a>

Não é possível anexar a política do IAM gerenciada `ECRTemplateServiceRolePolicy` às suas entidades do IAM. Esta política é anexada a uma função vinculada ao serviço que permite ao Amazon ECR realizar ações em seu nome. Para obter mais informações, consulte [Uso de funções vinculadas ao serviço para o Amazon ECR](using-service-linked-roles.md).

## Atualizações do Amazon ECR para políticas AWS gerenciadas
<a name="security-iam-awsmanpol-updates"></a>

Veja detalhes sobre as atualizações das políticas AWS gerenciadas do Amazon ECR desde o momento em que esse serviço começou a rastrear essas alterações. Para obter alertas automáticos sobre alterações feitas nesta página, inscreva-se no feed RSS na página Histórico de documentos do Amazon ECR.

 


| Alteração | Descrição | Data | 
| --- | --- | --- | 
|  [Função vinculada ao serviço do Amazon ECR para cache de pull-through](slr-pullthroughcache.md): atualizar para uma política existente  |  O Amazon ECR adicionou novas permissões à política `AWSECRPullThroughCache_ServiceRolePolicy`. Essas permissões permitem que o Amazon ECR extraia imagens do registro privado do ECR. Isso é necessário ao usar uma regra de cache de pull-through para armazenar em cache imagens de outro registro privado do Amazon ECR.   | 12 de março de 2025 | 
|  [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly) — Nova política  |  O Amazon ECR adicionou uma nova política que concede permissões somente de extração para o Amazon ECR.  | 10 de outubro de 2024 | 
|  [ECRTemplateServiceRolePolicy](slr-rct.md) – Nova política  |  O Amazon ECR adicionou uma nova política. Esta política está associada ao perfil vinculado ao serviço `ECRTemplateServiceRolePolicy` para o recurso de modelo de criação de repositório.  | 20 de junho de 2024 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](slr-pullthroughcache.md) – atualização para uma política existente  |  O Amazon ECR adicionou novas permissões à política `AWSECRPullThroughCache_ServiceRolePolicy`. Essas permissões permitem que o Amazon ECR recupere o conteúdo criptografado de um segredo do Secrets Manager. Isso é necessário ao usar uma regra de cache de pull-through para armazenar em cache imagens de um registro upstream que requer autenticação.  | 15 de novembro de 2023 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy) – Nova política  |  O Amazon ECR adicionou uma nova política. Essa política está associada à função vinculada ao serviço `AWSServiceRoleForECRPullThroughCache` para o recurso de cache de pull-through.  | 29 de novembro de 2021 | 
|  [ECRReplicationServiceRolePolicy](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy) – Nova política  |  O Amazon ECR adicionou uma nova política. Essa política está associada à função vinculada ao serviço `AWSServiceRoleForECRReplication` para o recurso de replicação.  | 4 de dezembro de 2020 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Atualização de uma política existente  |  O Amazon ECR adicionou novas permissões à política `AmazonEC2ContainerRegistryFullAccess`. Essas permissões permitem que os principais criem a função vinculada ao serviço do Amazon ECR.  | 4 de dezembro de 2020 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Atualização de uma política existente  |  O Amazon ECR adicionou novas permissões à política `AmazonEC2ContainerRegistryReadOnly` que permite que os principais leiam políticas de ciclo de vida, listem tags e descrevam as descobertas de digitalização para as imagens.  | 10 de dezembro de 2019 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Atualização de uma política existente  |  O Amazon ECR adicionou novas permissões à política `AmazonEC2ContainerRegistryPowerUser`. Elas permitem que os principais leiam políticas de ciclo de vida, listem tags e descrevam as descobertas de digitalização para as imagens.  | 10 de dezembro de 2019 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Atualização de uma política existente  |  O Amazon ECR adicionou novas permissões à política `AmazonEC2ContainerRegistryFullAccess`. Eles permitem que os diretores consultem eventos de gerenciamento ou eventos do AWS CloudTrail Insights que são capturados por CloudTrail.  | 10 de novembro de 2017 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Atualização de uma política existente  |  O Amazon ECR adicionou novas permissões à política `AmazonEC2ContainerRegistryReadOnly`. Elas permitem que os principais descrevam imagens do Amazon ECR.  | 11 de outubro de 2016 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Atualização de uma política existente  |  O Amazon ECR adicionou novas permissões à política `AmazonEC2ContainerRegistryPowerUser`. Elas permitem que os principais descrevam imagens do Amazon ECR.  | 11 de outubro de 2016 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Nova política  |  O Amazon ECR adicionou uma nova política que concede permissões somente de leitura para o Amazon ECR. Essas permissões incluem a capacidade de listar repositórios e imagens nos repositórios. Incluem também a capacidade de extrair imagens do Amazon ECR com a CLI do Docker.  | 21 de dezembro de 2015 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Nova política  |  O Amazon ECR adicionou uma nova política que concede permissões administrativas para que os usuários leiam e gravem nos repositórios, mas não permitem que eles excluam repositórios ou alterem os documentos de política aplicados a eles.  | 21 de dezembro de 2015 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Nova política  |  O Amazon ECR adicionou uma nova política. Essa política concede ao acesso total ao Amazon ECR.  | 21 de dezembro de 2015 | 
|  O Amazon ECR passou a monitorar alterações  |  O Amazon ECR começou a monitorar as alterações nas políticas AWS gerenciadas.  | 24 de junho de 2021 | 

# Uso de funções vinculadas ao serviço para o Amazon ECR
<a name="using-service-linked-roles"></a>

O Amazon Elastic Container Registry (Amazon ECR) AWS Identity and Access Management usa funções [vinculadas ao serviço (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) para fornecer as permissões necessárias para usar a replicação e aproveitar os recursos de cache. A função vinculada ao serviço é um tipo especial de função do IAM vinculada diretamente ao Amazon ECR. A função vinculada ao serviço é predefinida pelo Amazon ECR. Ele inclui todas as permissões que o serviço requer para oferecer suporte à replicação e recursos de cache para o seu registro privado. Após você configurar a replicação ou o cache de pull-through para o registro, uma função vinculada ao serviço é criada automaticamente em seu nome. Para obter mais informações, consulte [Configurações de registro privado no Amazon ECR](registry-settings.md).

Uma função vinculada ao serviço facilita a configuração da replicação e do cache de pull-through com o Amazon ECR. Isso porque, assim, você não precisa adicionar manualmente todas as permissões necessárias. O Amazon ECR define as permissões de suas funções vinculadas ao serviço e, a não ser que definido de outra forma, somente o Amazon ECR pode assumir suas funções. As permissões definidas incluem a política de confiança e a política de permissões. A política de permissões não pode ser anexada a nenhuma outra entidade do IAM.

Você só poderá excluir a função vinculada ao serviço após desabilitar a replicação ou o cache de pull-through no seu registro. Isso garante que você não remova inadvertidamente as permissões que o Amazon ECR requer para esses recursos.

Para obter informações sobre outros produtos que oferecem suporte a funções vinculadas a serviços, consulte [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). Nessa página para vinculação, procure os serviços que têm **Yes (Sim) ** na coluna **Service-linked role (Função vinculada ao serviço)**. Escolha um **Yes (Sim)** com um link para ver a documentação da função vinculada a serviço para esse serviço.

**Topics**
+ [Regiões suportadas para a funções vinculadas a serviço do Amazon ECR](#slr-regions)
+ [Função vinculada ao serviço do Amazon ECR para replicação](slr-replication.md)
+ [Função vinculada ao serviço do Amazon ECR para cache de pull-through](slr-pullthroughcache.md)
+ [Perfil vinculado ao serviço do Amazon ECR para modelos de criação de repositório](slr-rct.md)

## Regiões suportadas para a funções vinculadas a serviço do Amazon ECR
<a name="slr-regions"></a>

O Amazon ECR oferece suporte a funções vinculadas a serviços em todas as regiões em que o serviço do Amazon ECR está disponível. Para obter mais informações sobre a disponibilidade regional do Amazon ECR, consulte [Regiões e endpoints da AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html).

# Função vinculada ao serviço do Amazon ECR para replicação
<a name="slr-replication"></a>

O Amazon ECR usa uma função vinculada ao serviço chamada **AWSServiceRoleForECRReplication**que permite que o Amazon ECR replique imagens em várias contas.

## Permissões de função vinculada ao serviço para o Amazon ECR
<a name="slr-permissions"></a>

A função AWSService RoleFor ECRReplication vinculada ao serviço confia nos seguintes serviços para assumir a função:
+ `replication.ecr.amazonaws.com`

A política de permissões da função do `ECRReplicationServiceRolePolicy` a seguir permite que o Amazon ECR use as seguintes ações em todos os recursos:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**nota**  
`ReplicateImage` é uma API interna que o Amazon ECR usa para replicação e não pode ser chamada diretamente.

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Para obter mais informações, consulte [Permissões de função vinculada ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) no *Manual do usuário do IAM*.

## Criar uma função vinculada ao serviço para o Amazon ECR
<a name="create-slr"></a>

Você não precisa criar manualmente a função vinculada ao serviço Amazon ECR. Quando você define as configurações de replicação do seu registro na Console de gerenciamento da AWS, na ou na AWS API AWS CLI, o Amazon ECR cria a função vinculada ao serviço para você. 

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta. Quando você define as configurações de replicação para o registro, o Amazon ECR cria a função vinculada ao serviço para você novamente. 

## Editar uma função vinculada ao serviço do Amazon ECR
<a name="edit-slr"></a>

O Amazon ECR não permite a edição manual da função vinculada ao AWSService RoleFor ECRReplication serviço. Depois que você criar um perfil vinculado ao serviço, não poderá alterar o nome do perfil, pois várias entidades podem fazer referência ao perfil. No entanto, você poderá editar a descrição do perfil usando o IAM. Para saber mais, consulte [Editar um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) no *Guia do usuário do IAM*.

## Exclusão de função vinculada ao serviço para o Amazon ECR
<a name="delete-slr"></a>

Se você não precisar mais usar um atributo ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ou mantida ativamente. Contudo, você deve remover a configuração de replicação do seu registro em todas as regiões para poder excluir manualmente a função vinculada ao serviço.

**nota**  
Se você tentar excluir recursos enquanto o serviço Amazon ECR ainda está usando as funções, sua ação de exclusão pode falhar. Se isso acontecer, aguarde alguns minutos e tente novamente.

**Para excluir os recursos do Amazon ECR usados pelo AWSService RoleFor ECRReplication**

1. Abra o console do Amazon ECR em [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Na barra de navegação, selecione a região na qual a configuração de replicação está definida.

1. No painel de navegação, escolha **Private registry (Registro privado)**.

1. Na página **Private registry** (Registro privado), na seção **Replicação configuration** (Configuração de replicação), selecione **Edit** (Editar).

1. Para excluir todas as suas regras de replicação, escolha **Delete all** (Excluir tudo). Essa etapa requer confirmação.

**Como excluir manualmente o perfil vinculado ao serviço usando o IAM**

Use o console do IAM AWS CLI, o ou a AWS API para excluir a função **AWSServiceRoleForECRReplication**vinculada ao serviço. Para saber mais, consulte [Excluir um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) no *Guia do usuário do IAM*.

# Função vinculada ao serviço do Amazon ECR para cache de pull-through
<a name="slr-pullthroughcache"></a>

O Amazon ECR usa uma função vinculada ao serviço chamada **AWSServiceRoleForECRPullThroughCache**que dá permissão para o Amazon ECR realizar ações em seu nome para concluir ações de pull through cache. Para obter mais informações sobre o cache de pull-through, consulte [Modelos para controlar repositórios criados durante uma ação de extração por cache, criação por push ou replicação](repository-creation-templates.md).

## Permissões de função vinculada ao serviço para o Amazon ECR
<a name="slr-pullthroughcache-permissions"></a>

A função **AWSServiceRoleForECRPullThroughCache**vinculada ao serviço confia no serviço a seguir para assumir a função.
+ `pullthroughcache.ecr.amazonaws.com`

**Detalhes das permissões**

A política de permissões da `AWSECRPullThroughCache_ServiceRolePolicy` está vinculada à função vinculada ao serviço. Essa política gerenciada concede permissão ao Amazon ECR para realizar as seguintes ações. Para obter mais informações, consulte [`AWSECRPullThroughCache_ServiceRolePolicy`](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy).
+ `ecr` – Permite que o serviço Amazon ECR extraia e envie imagens para um repositório privado.
+ `secretsmanager:GetSecretValue`— Permite que o serviço Amazon ECR recupere o conteúdo criptografado de um AWS Secrets Manager segredo. Isso é necessário ao usar uma regra de cache de pull-through para armazenar em cache imagens de um registro upstream que requer autenticação em seu registro privado. Essa permissão se aplica apenas a segredos com o prefixo de nome `ecr-pullthroughcache/`.

A política da `AWSECRPullThroughCache_ServiceRolePolicy` contém os elementos a seguir:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:BatchGetImage",
                "ecr:BatchImportUpstreamImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetImageCopyStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:ecr-pullthroughcache/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Para obter mais informações, consulte [Permissões do perfil vinculado a serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) no *Guia do usuário do IAM*.

## Criar uma função vinculada ao serviço para o Amazon ECR
<a name="slr-pullthroughcache-create"></a>

Você não precisa criar manualmente a função vinculada ao serviço do Amazon ECR para cache de pull-through. Quando você cria uma regra de cache pull through para seu registro privado na Console de gerenciamento da AWS, na ou na AWS API AWS CLI, o Amazon ECR cria a função vinculada ao serviço para você. 

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta. Quando você cria uma regra de cache de pull-through para seu registro privado, o Amazon ECR cria a função vinculada ao serviço para você novamente, caso ela ainda não exista.

## Editar uma função vinculada ao serviço do Amazon ECR
<a name="slr-pullthroughcache-edit"></a>

O Amazon ECR não permite a edição manual da função vinculada ao **AWSServiceRoleForECRPullThroughCache**serviço. Após a criação da função vinculada ao serviço, você não poderá alterar o nome da função, pois várias entidades podem fazer referência à função. No entanto, você poderá editar a descrição do perfil usando o IAM. Para saber mais, consulte [Editar um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) no *Guia do usuário do IAM*.

## Exclusão de função vinculada ao serviço para o Amazon ECR
<a name="slr-pullthroughcache-delete"></a>

Se você não precisar mais usar um atributo ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ou mantida ativamente. Contudo, você deve remover as regras de cache de pull-through do seu registro em todas as regiões para poder excluir manualmente a função vinculada ao serviço.

**nota**  
Se você tentar excluir recursos enquanto o serviço Amazon ECR ainda estiver usando as funções, sua ação de exclusão poderá falhar. Se isso acontecer, aguarde alguns minutos e tente novamente.

**Para excluir os recursos do Amazon ECR usados pela função vinculada ao serviço **AWSServiceRoleForECRPullThroughCache****

1. Abra o console do Amazon ECR em [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Na barra de navegação, selecione a região na qual suas regras de cache de pull-through são criadas.

1. No painel de navegação, escolha **Private registry (Registro privado)**.

1. Na página **Private registry** (Registro privado), na seção **Pull through cache configuration** (Configuração de cache de pull-through), escolha **Edit** (Editar).

1. Para cada regra de cache de pull-through que você criou, selecione a regra e escolha **Delete rule** (Excluir regra).

**Como excluir manualmente o perfil vinculado ao serviço usando o IAM**

Use o console do IAM AWS CLI, o ou a AWS API para excluir a função **AWSServiceRoleForECRPullThroughCache**vinculada ao serviço. Para saber mais, consulte [Excluir um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) no *Guia do usuário do IAM*.

# Perfil vinculado ao serviço do Amazon ECR para modelos de criação de repositório
<a name="slr-rct"></a>

O Amazon ECR usa uma função vinculada ao serviço chamada **AWSServiceRoleForECRTemplate**que dá permissão para o Amazon ECR realizar ações em seu nome para concluir ações de modelo de criação de repositórios.

## Permissões de função vinculada ao serviço para o Amazon ECR
<a name="slr-rct-permissions"></a>

A função **AWSServiceRoleForECRTemplate**vinculada ao serviço confia no serviço a seguir para assumir a função.
+ `ecr.amazonaws.com`

**Detalhes das permissões**

A política de permissões da ``ECRTemplateServiceRolePolicy`` está vinculada à função vinculada ao serviço. Essa política gerenciada concede permissão ao Amazon ECR para realizar ações de criação de repositórios em seu nome.

A política da `ECRTemplateServiceRolePolicy` contém os elementos a seguir:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
	    "Sid": "CreateRepositoryWithTemplate",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Você deve configurar permissões para que uma entidade do IAM (por exemplo, um usuário, grupo ou função) crie, edite ou exclua uma função vinculada ao serviço. Para obter mais informações, consulte [Permissões do perfil vinculado a serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) no *Guia do usuário do IAM*.

## Criar uma função vinculada ao serviço para o Amazon ECR
<a name="slr-rct-create"></a>

Você não precisa criar manualmente o perfil vinculado ao serviço do Amazon ECR para o modelo de criação de repositório. Quando você cria uma regra de modelo de criação de repositório para seu registro privado na Console de gerenciamento da AWS, na ou na AWS API AWS CLI, o Amazon ECR cria a função vinculada ao serviço para você. 

Se você excluir essa função vinculada ao serviço e precisar criá-la novamente, poderá usar esse mesmo processo para recriar a função em sua conta. Quando você cria uma regra de modelo de criação de repositório para seu registro privado, o Amazon ECR cria o perfil vinculado ao serviço para você novamente, caso ele já não exista.

## Editar uma função vinculada ao serviço do Amazon ECR
<a name="slr-rct-edit"></a>

O Amazon ECR não permite a edição manual da função vinculada ao **AWSServiceRoleForECRTemplate**serviço. Após a criação da função vinculada ao serviço, você não poderá alterar o nome da função, pois várias entidades podem fazer referência à função. No entanto, você poderá editar a descrição do perfil usando o IAM. Para saber mais, consulte [Editar um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) no *Guia do usuário do IAM*.

## Exclusão de função vinculada ao serviço para o Amazon ECR
<a name="slr-rct-delete"></a>

Se você não precisar mais usar um atributo ou serviço que requer um perfil vinculado ao serviço, é recomendável excluí-lo. Dessa forma, você não tem uma entidade não utilizada que não seja monitorada ou mantida ativamente. Contudo, você deve excluir as regras de criação de repositório do registro em todas as regiões antes de poder excluir manualmente o perfil vinculado ao serviço.

**nota**  
Se você tentar excluir recursos enquanto o serviço Amazon ECR ainda estiver usando as funções, sua ação de exclusão poderá falhar. Se isso acontecer, aguarde alguns minutos e tente novamente.

**Para excluir os recursos do Amazon ECR usados pela função vinculada ao serviço **AWSServiceRoleForECRTemplate****

1. Abra o console do Amazon ECR em [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Na barra de navegação, escolha a região em que as regras de criação de repositórrio foram criadas.

1. No painel de navegação, escolha **Private registry (Registro privado)**.

1. Na página **Registro privado**, na seção **Modelos de criação de repositório**, escolha **Editar**.

1. Para cada regra de criação de repositório que você criou, selecione a regra e escolha **Excluir regra**.

**Como excluir manualmente o perfil vinculado ao serviço usando o IAM**

Use o console do IAM AWS CLI, o ou a AWS API para excluir a função **AWSServiceRoleForECRTemplate**vinculada ao serviço. Para saber mais, consulte [Excluir um perfil vinculado ao serviço](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) no *Guia do usuário do IAM*.

# Solução de problemas de identidade e acesso para o Amazon Elastic Container Registry
<a name="security_iam_troubleshoot"></a>

Use as informações a seguir para ajudar a diagnosticar e corrigir problemas comuns que você possa encontrar ao trabalhar com a Amazon ECR e o IAM.

**Topics**
+ [Não tenho autorização para executar uma ação na Amazon ECR](#security_iam_troubleshoot-no-permissions)
+ [Não estou autorizado a realizar o meu pedido: PassRole](#security_iam_troubleshoot-passrole)
+ [Quero permitir que pessoas de fora da minha Conta da AWS acessem meus recursos do Amazon ECR](#security_iam_troubleshoot-cross-account-access)

## Não tenho autorização para executar uma ação na Amazon ECR
<a name="security_iam_troubleshoot-no-permissions"></a>

Se você receber uma mensagem de erro informando que não tem autorização para executar uma ação, suas políticas deverão ser atualizadas para permitir que você realize a ação.

O erro do exemplo a seguir ocorre quando o usuário do IAM `mateojackson` tenta usar o console para visualizar detalhes sobre um atributo `my-example-widget` fictício, mas não tem as permissões `ecr:GetWidget` fictícias.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ecr:GetWidget on resource: my-example-widget
```

Nesse caso, a política do usuário `mateojackson` deve ser atualizada para permitir o acesso ao recurso `my-example-widget` usando a ação `ecr:GetWidget`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Não estou autorizado a realizar o meu pedido: PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Se receber uma mensagem de erro informando que você não tem autorização para executar a ação `iam:PassRole`, suas políticas devem ser atualizadas para permitir a transmissão de um perfil ao Amazon ECR.

Alguns Serviços da AWS permitem que você passe uma função existente para esse serviço em vez de criar uma nova função de serviço ou uma função vinculada ao serviço. Para fazer isso, é preciso ter permissões para passar o perfil para o serviço.

O erro exemplificado a seguir ocorre quando uma usuária do IAM chamada `marymajor` tenta usar o console para executar uma ação na Amazon ECR. No entanto, a ação exige que o serviço tenha permissões concedidas por um perfil de serviço. Mary não tem permissões para passar o perfil para o serviço.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Nesse caso, as políticas de Mary devem ser atualizadas para permitir que ela realize a ação `iam:PassRole`.

Se precisar de ajuda, entre em contato com seu AWS administrador. Seu administrador é a pessoa que forneceu suas credenciais de login.

## Quero permitir que pessoas de fora da minha Conta da AWS acessem meus recursos do Amazon ECR
<a name="security_iam_troubleshoot-cross-account-access"></a>

É possível criar um perfil que os usuários de outras contas ou pessoas fora da organização podem usar para acessar seus recursos. É possível especificar quem é confiável para assumir o perfil. Para serviços que oferecem suporte a políticas baseadas em recursos ou listas de controle de acesso (ACLs), você pode usar essas políticas para conceder às pessoas acesso aos seus recursos.

Para saber mais, consulte:
+ Para saber se o Amazon ECR suporta a esses recursos, consulte [Como o Amazon Elastic Container Registry funciona com o IAM](security_iam_service-with-iam.md).
+ Para saber como fornecer acesso aos seus recursos em todos os Contas da AWS que você possui, consulte Como [fornecer acesso a um usuário do IAM em outro Conta da AWS que você possui](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) no *Guia do usuário do IAM*.
+ Para saber como fornecer acesso aos seus recursos a terceiros Contas da AWS, consulte Como [fornecer acesso Contas da AWS a terceiros](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) no *Guia do usuário do IAM*.
+ Para saber como conceder acesso por meio da federação de identidades, consulte [Conceder acesso a usuários autenticados externamente (federação de identidades)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) no *Guia do usuário do IAM*.
+ Para saber a diferença entre perfis e políticas baseadas em recurso para acesso entre contas, consulte [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*.

# Proteção de dados no Amazon ECR
<a name="data-protection"></a>

O modelo de [responsabilidade AWS compartilhada O modelo](https://aws.amazon.com/compliance/shared-responsibility-model/) se aplica à proteção de dados no Amazon Elastic Container Service. Conforme descrito neste modelo, AWS é responsável por proteger a infraestrutura global que executa todos os Nuvem AWS. Você é responsável por manter o controle sobre o conteúdo hospedado nessa infraestrutura. Você também é responsável pelas tarefas de configuração e gerenciamento de segurança dos Serviços da AWS que usa. Para saber mais sobre a privacidade de dados, consulte as [Data Privacy FAQ](https://aws.amazon.com/compliance/data-privacy-faq/). Para saber mais sobre a proteção de dados na Europa, consulte a postagem do blog [AWS Shared Responsibility Model and RGPD](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) no *Blog de segurança da AWS *.

Para fins de proteção de dados, recomendamos que você proteja Conta da AWS as credenciais e configure usuários individuais com Centro de Identidade do AWS IAM ou AWS Identity and Access Management (IAM). Dessa maneira, cada usuário receberá apenas as permissões necessárias para cumprir suas obrigações de trabalho. Recomendamos também que você proteja seus dados das seguintes formas:
+ Use uma autenticação multifator (MFA) com cada conta.
+ Use SSL/TLS para se comunicar com AWS os recursos. Exigimos TLS 1.2 e recomendamos TLS 1.3.
+ Configure a API e o registro de atividades do usuário com AWS CloudTrail. Para obter informações sobre o uso de CloudTrail trilhas para capturar AWS atividades, consulte Como [trabalhar com CloudTrail trilhas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) no *Guia AWS CloudTrail do usuário*.
+ Use soluções de AWS criptografia, juntamente com todos os controles de segurança padrão Serviços da AWS.
+ Use serviços gerenciados de segurança avançada, como o Amazon Macie, que ajuda a localizar e proteger dados sensíveis armazenados no Amazon S3.
+ Se você precisar de módulos criptográficos validados pelo FIPS 140-3 ao acessar AWS por meio de uma interface de linha de comando ou de uma API, use um endpoint FIPS. Para saber mais sobre os endpoints FIPS disponíveis, consulte [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

É altamente recomendável que nunca sejam colocadas informações confidenciais ou sensíveis, como endereços de e-mail de clientes, em tags ou campos de formato livre, como um campo **Nome**. Isso inclui quando você trabalha com o Amazon ECS ou outro Serviços da AWS usando o console, a API ou AWS SDKs. AWS CLI Quaisquer dados inseridos em tags ou em campos de texto de formato livre usados para nomes podem ser usados para logs de faturamento ou de diagnóstico. Se você fornecer um URL para um servidor externo, é fortemente recomendável que não sejam incluídas informações de credenciais no URL para validar a solicitação nesse servidor.

**Topics**
+ [Criptografia em repouso](encryption-at-rest.md)

# Criptografia em repouso
<a name="encryption-at-rest"></a>

**Importante**  
 A criptografia de camada dupla do lado do servidor com AWS KMS (DSSE-KMS) só está disponível nas regiões. AWS GovCloud (US) 

O Amazon ECR armazena imagens em buckets do Amazon S3 gerenciados pelo Amazon ECR. Por padrão, o Amazon ECR usa criptografia no lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 que criptografa seus dados em repouso usando um algoritmo de criptografia AES-256. Isso não requer nenhuma ação da sua parte e é oferecido sem custo adicional. Para obter mais informações, consulte [Proteção de dados usando criptografia no lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) no *Manual do usuário do Amazon Simple Storage Service*.

Para obter mais controle sobre a criptografia dos seus repositórios Amazon ECR, você pode usar a criptografia do lado do servidor com chaves KMS armazenadas em (). AWS Key Management Service AWS KMS Ao usar AWS KMS para criptografar seus dados, você pode usar o padrão Chave gerenciada pela AWS, que é gerenciado pelo Amazon ECR, ou especificar sua própria chave KMS (chamada de chave gerenciada pelo cliente). Para obter mais informações, consulte [Proteção de dados usando criptografia do lado do servidor com chaves KMS armazenadas em AWS KMS (SSE-KMS) no Guia](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) do usuário do *Amazon* Simple Storage Service.

 Você pode optar por aplicar duas camadas de criptografia às suas imagens do Amazon ECR usando criptografia de duas camadas no lado do servidor com (). AWS KMS DSSE-KMS DSSE-KMSA opção é semelhante aSSE-KMS, mas aplica duas camadas individuais de criptografia em vez de uma camada. Para obter mais informações, consulte [Usando criptografia de duas camadas no lado do servidor com AWS KMS chaves (DSSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingDSSEncryption.html)).

Cada repositório do Amazon ECR tem uma configuração de criptografia, que é definida quando o repositório é criado. Você pode usar configurações de criptografia diferentes em cada repositório. Para obter mais informações, consulte [Criar um repositório privado do Amazon ECR para armazenar imagens](repository-create.md).

Quando um repositório é criado com a AWS KMS criptografia ativada, uma chave KMS é usada para criptografar o conteúdo do repositório. Além disso, o Amazon ECR adiciona uma AWS KMS concessão à chave KMS com o repositório Amazon ECR como principal beneficiário.

A próxima seção fornece uma compreensão de alto nível de como o Amazon ECR é integrado com o AWS KMS para criptografar e descriptografar seus repositórios:

1. Ao criar um repositório, o Amazon ECR envia uma [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)chamada para AWS KMS validar e recuperar o Amazon Resource Name (ARN) da chave KMS especificada na configuração de criptografia.

1. O Amazon ECR envia duas [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitações AWS KMS para criar concessões na chave KMS para permitir que o Amazon ECR criptografe e descriptografe dados usando a chave de dados.

1. Ao enviar uma imagem, é feita uma [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)solicitação AWS KMS que especifica a chave KMS a ser usada para criptografar a camada e o manifesto da imagem.

1. AWS KMS gera uma nova chave de dados, a criptografa sob a chave KMS especificada e envia a chave de dados criptografada para ser armazenada com os metadados da camada de imagem e o manifesto da imagem.

1. Ao extrair uma imagem, é feita uma solicitação de [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) AWS KMS, especificando a chave de dados criptografada.

1. AWS KMS descriptografa a chave de dados criptografada e envia a chave de dados descriptografada para o Amazon S3.

1. A chave de dados é usada para descriptografar a camada de imagem antes que a camada de imagem seja extraída.

1. Quando um repositório é excluído, o Amazon ECR envia duas [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)solicitações AWS KMS para retirar as concessões criadas para o repositório.

## Considerações
<a name="encryption-at-rest-considerations"></a>

Os seguintes pontos devem ser considerados ao usar criptografia AWS KMS baseada (SSE-KMSouDSSE-KMS) com o Amazon ECR.
+ Se você criar seu repositório Amazon ECR com criptografia KMS e não especificar uma chave KMS, o Amazon ECR usa um Chave gerenciada pela AWS com o alias por padrão. `aws/ecr` Essa chave KMS é criada em sua conta na primeira vez que você cria um repositório com criptografia KMS habilitada.
+  Não é possível alterar a configuração da criptografia do repositório após a sua criação. 
+ Quando você usa a criptografia KMS com sua própria chave KMS, a chave deve existir na mesma região que seu repositório.
+ As concessões que o Amazon ECR cria em seu nome não devem ser revogadas. Se você revogar a concessão que dá permissão ao Amazon ECR para usar as AWS KMS chaves em sua conta, o Amazon ECR não poderá acessar esses dados, criptografar novas imagens enviadas ao repositório ou descriptografá-las quando forem retiradas. Quando você revoga uma concessão do Amazon ECR, a alteração ocorre imediatamente. Para revogar direitos de acesso, você deve excluir o repositório em vez de revogar a concessão. Quando um repositório é excluído, o Amazon ECR retira as concessões em seu nome.
+ Há um custo associado ao uso de AWS KMS chaves. Para obter mais informações, consulte [Preços do AWS Key Management Service](https://aws.amazon.com/kms/pricing/).
+ Há um custo associado ao uso da criptografia de camada dupla do servidor. Para obter mais informações, consulte a [Definição de preço do Amazon ECR](https://aws.amazon.com/ecr/pricing/)

## Permissões obrigatórias do IAM
<a name="encryption-at-rest-iam"></a>

Ao criar ou excluir um repositório do Amazon ECR com criptografia no lado do servidor usando o AWS KMS, as permissões necessárias dependem da chave KMS específica que você está usando. 

### Permissões do IAM necessárias ao usar o Chave gerenciada pela AWS for Amazon ECR
<a name="encryption-aws-managed-key"></a>

Por padrão, quando a AWS KMS criptografia está habilitada para um repositório Amazon ECR, mas nenhuma chave KMS é especificada, a para Chave gerenciada pela AWS Amazon ECR é usada. Quando a chave KMS AWS gerenciada do Amazon ECR é usada para criptografar um repositório, qualquer diretor que tenha permissão para criar um repositório também pode ativar a criptografia no repositório. AWS KMS No entanto, o principal do IAM que exclui o repositório deve ter a permissão `kms:RetireGrant`. Isso permite a retirada das concessões que foram adicionadas à AWS KMS chave quando o repositório foi criado.

O exemplo a seguir da política do IAM pode ser adicionado como uma política em linha a um usuário para garantir que ele tenha as permissões mínimas necessárias para excluir um repositório que tenha a criptografia habilitada. A chave do KMS usada para criptografar o repositório pode ser especificada usando o parâmetro do recurso.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-kms-permissions",
    "Statement": [
        {
            "Sid": "AllowAccessToRetireTheGrantsAssociatedWithTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:RetireGrant"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE"
        }
    ]
}
```

------

### Permissões do IAM obrigatórias ao usar uma chave gerenciada pelo cliente
<a name="encryption-customer-managed-key"></a>

Ao criar um repositório com AWS KMS criptografia habilitada usando uma chave gerenciada pelo cliente, há permissões necessárias tanto para a política de chaves do KMS quanto para a política do IAM para o usuário ou função que está criando o repositório.

Ao criar sua própria chave KMS, você pode usar a política de chave padrão que o AWS KMS cria ou pode especificar o seu próprio valor. Para garantir que a chave gerenciada pelo cliente permaneça gerenciável pelo proprietário da conta, a política de chaves da chave KMS deve permitir todas as AWS KMS ações para o usuário raiz da conta. Permissões de escopo adicionais podem ser adicionadas à política de chave, mas pelo menos o usuário-raiz deve receber permissões para gerenciar a chave KMS. Para permitir que a chave KMS seja usada somente para solicitações originadas no Amazon ECR, você pode usar a [chave de ViaService condição kms:](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) com o valor. `ecr.<region>.amazonaws.com`

O exemplo de política de chaves a seguir dá à AWS conta (usuário raiz) que possui a chave KMS acesso total à chave KMS. Para obter mais informações sobre esse exemplo de política de chaves, consulte [Permite acesso à AWS conta e ativa políticas do IAM](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) no *Guia do AWS Key Management Service desenvolvedor*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-key-policy",
    "Statement": [
        {
            "Sid": "EnableIAMUserPermissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        }
    ]
}
```

------

O usuário do IAM, a função do IAM ou a AWS conta que está criando seus repositórios devem ter a `kms:DescribeKey` permissão `kms:CreateGrant``kms:RetireGrant`, e, além das permissões necessárias do Amazon ECR.

**nota**  
A permissão `kms:RetireGrant` deve ser adicionada à política do IAM do usuário ou função que cria o repositório. As permissões `kms:CreateGrant` e `kms:DescribeKey` podem ser adicionadas à política de chave para a chave KMS ou à política do IAM de usuário ou função que cria o repositório. Para obter mais informações sobre como AWS KMS as permissões funcionam, consulte [Permissões de AWS KMS API: referência de ações e recursos](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) no *Guia do AWS Key Management Service desenvolvedor*.

O exemplo a seguir de política do IAM pode ser adicionado como uma política em linha a um usuário para garantir que ele tenha as permissões mínimas necessárias para criar um repositório com criptografia habilitada e excluir o repositório quando não precisar mais dele. A AWS KMS key usada para criptografar o repositório pode ser especificada usando o parâmetro do recurso.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-kms-permissions",
    "Statement": [
        {
            "Sid": "AllowAccessToCreateAndRetireTheGrantsAssociatedWithTheKeyAsWellAsDescribeTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:RetireGrant",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE"
        }
    ]
}
```

------

### Permitir que um usuário liste chaves KMS no console ao criar um repositório
<a name="encryption-at-rest-iam-example"></a>

Ao usar o console do Amazon ECR para criar um repositório, você pode conceder permissões para que um usuário liste as chaves KMS gerenciadas pelo cliente na região quando habilitar a criptografia para o repositório. O exemplo de política do IAM a seguir mostra as permissões necessárias para listar suas chaves e aliases do KMS ao usar o console.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:ListKeys",
      "kms:ListAliases",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
}
```

------

## Monitorando a interação do Amazon ECR com AWS KMS
<a name="encryption-at-rest-monitoring"></a>

Você pode usar AWS CloudTrail para rastrear as solicitações que o Amazon ECR envia AWS KMS em seu nome. As entradas de registro no CloudTrail registro contêm uma chave de contexto de criptografia para torná-las mais facilmente identificáveis.

### Contexto de criptografia do Amazon ECR
<a name="ecr-encryption-context"></a>

Um *contexto de criptografia* é um conjunto de pares de chave/valor que contém dados arbitrários não secretos. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, vincula AWS KMS criptograficamente o contexto de criptografia aos dados criptografados. Para descriptografar os dados, é necessário passar o mesmo contexto de criptografia. 

Em suas solicitações [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)e [Decrypt para](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html), o AWS KMS Amazon ECR usa um contexto de criptografia com dois pares de nome e valor que identificam o repositório e o bucket do Amazon S3 que estão sendo usados. Isso é mostrado no exemplo a seguir. Os nomes não variam, mas os valores de contexto de criptografia combinados serão diferentes para cada valor.

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df",
    "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
}
```

Você pode usar o contexto de criptografia para identificar essas operações criptográficas em registros e registros de auditoria, como [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)Amazon CloudWatch Logs, e como condição para autorização em políticas e concessões.

O contexto de criptografia do Amazon ECR consiste em dois pares de nome e valor.
+ **aws:s3:arn** – O par de nome e valor identifica o bucket. A chave é `aws:s3:arn`. O valor de nome do recurso da Amazon (ARN) do bucket do Amazon S3

  ```
  "aws:s3:arn": "ARN of an Amazon S3 bucket"
  ```

  Por exemplo, se o ARN de um bucket fosse `arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df`, o contexto de criptografia incluiria o seguinte par.

  ```
  "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"
  ```
+ **aws:ecr:arn** – O segundo par de nome e valor identifica nome do recurso da Amazon (ARN) do repositório. A chave é `aws:ecr:arn`. O valor é o ARN do repositório.

  ```
  "aws:ecr:arn": "ARN of an Amazon ECR repository"
  ```

  Por exemplo, se o ARN do repositório fosse `arn:aws:ecr:us-west-2:111122223333:repository/repository-name`, o contexto de criptografia incluiria o seguinte par.

  ```
  "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
  ```

## Solução de problemas
<a name="encryption-at-rest-troubleshooting"></a>

Ao excluir um repositório do Amazon ECR com o console, se o repositório for excluído com sucesso, mas o Amazon ECR não conseguir retirar as concessões adicionadas à sua chave KMS para seu repositório, você receberá o seguinte erro.

```
The repository [{repository-name}] has been deleted successfully but the grants created by the kmsKey [{kms_key}] failed to be retired
```

Quando isso ocorrer, você mesmo poderá retirar as AWS KMS concessões do repositório.

**Para retirar manualmente os AWS KMS subsídios de um repositório**

1. Liste as concessões para a AWS KMS chave usada no repositório. O valor `key-id` é incluído no erro que você recebe do console. Você também pode usar o `list-keys` comando para listar as chaves KMS gerenciadas pelo cliente Chaves gerenciadas pela AWS e as chaves do KMS em uma região específica da sua conta.

   ```
   aws kms list-grants \
        --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc 
        --region us-west-2
   ```

   A saída inclui um `EncryptionContextSubset` com o nome do recurso da Amazon (ARN) do seu repositório. Isso pode ser usado para determinar qual é a concessão adicionada à chave que você deseja retirar. O valor `GrantId` será usado quando for retirada a concessão na próxima etapa.

1. Retire cada concessão da AWS KMS chave adicionada ao repositório. Substitua o valor de pelo *GrantId* ID da concessão da saída da etapa anterior.

   ```
   aws kms retire-grant \
        --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc \
        --grant-id GrantId \
        --region us-west-2
   ```

# Validação da conformidade do Amazon Elastic Container Registry
<a name="ecr-compliance"></a>

Para saber se um AWS service (Serviço da AWS) está dentro do escopo de programas de conformidade específicos, consulte [Serviços da AWS Escopo por Programa de Conformidade Serviços da AWS](https://aws.amazon.com/compliance/services-in-scope/) e escolha o programa de conformidade em que você está interessado. Para obter informações gerais, consulte Programas de [AWS conformidade Programas AWS](https://aws.amazon.com/compliance/programs/) de .

Você pode baixar relatórios de auditoria de terceiros usando AWS Artifact. Para obter mais informações, consulte [Baixar relatórios em AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Sua responsabilidade de conformidade ao usar Serviços da AWS é determinada pela confidencialidade de seus dados, pelos objetivos de conformidade de sua empresa e pelas leis e regulamentações aplicáveis. Para obter mais informações sobre sua responsabilidade de conformidade ao usar Serviços da AWS, consulte a [documentação AWS de segurança](https://docs.aws.amazon.com/security/).

# Segurança de infraestrutura no Amazon Elastic Container Registry
<a name="infrastructure-security"></a>

Como um serviço gerenciado, o Amazon Elastic Container Registry é protegido pela segurança de rede AWS global. Para obter informações sobre serviços AWS de segurança e como AWS proteger a infraestrutura, consulte [AWS Cloud Security](https://aws.amazon.com/security/). Para projetar seu AWS ambiente usando as melhores práticas de segurança de infraestrutura, consulte [Proteção](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) de infraestrutura no *Security Pillar AWS Well‐Architected* Framework.

Você usa chamadas de API AWS publicadas para acessar o Amazon ECR pela rede. Os clientes devem oferecer compatibilidade com:
+ Transport Layer Security (TLS). Exigimos TLS 1.2 e recomendamos TLS 1.3.
+ Conjuntos de criptografia com perfect forward secrecy (PFS) como DHE (Ephemeral Diffie-Hellman) ou ECDHE (Ephemeral Elliptic Curve Diffie-Hellman). A maioria dos sistemas modernos, como Java 7 e versões posteriores, comporta esses modos.

É possível chamar essas operações de API de qualquer local da rede, mas o Amazon ECR não é compatível com políticas de acesso baseadas em recursos, que podem incluir restrições com base no endereço IP de origem. Você também pode usar as políticas do Amazon ECR para controlar o acesso de endpoints específicos da Amazon Virtual Private Cloud (Amazon VPC) ou específicos. VPCs Efetivamente, isso isola o acesso à rede a um determinado recurso do Amazon ECR somente da VPC específica dentro da rede. AWS Para obter mais informações, consulte [Endpoints VPC da interface Amazon ECR ()AWS PrivateLink](vpc-endpoints.md).

# Endpoints VPC da interface Amazon ECR ()AWS PrivateLink
<a name="vpc-endpoints"></a>

É possível melhorar a postura de segurança da sua VPC configurando o Amazon ECR para usar um endpoint de interface da VPC. Os VPC endpoints são alimentados por AWS PrivateLink uma tecnologia que permite que você acesse o Amazon APIs ECR de forma privada por meio de endereços IP privados (ambos e). IPv4 IPv6 AWS PrivateLink restringe todo o tráfego de rede entre sua VPC e o Amazon ECR para a rede Amazon. Você não precisa de um gateway da Internet, de um dispositivo NAT ou de um gateway privado virtual.

*Para obter mais informações sobre AWS PrivateLink VPC endpoints, consulte VPC [Endpoints no Guia do usuário da Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html).*

## Considerações endpoints da VPC do Amazon ECR
<a name="ecr-vpc-endpoint-considerations"></a>

Antes de configurar endpoints da VPC para o Amazon ECR, fique atento às seguintes considerações:
+ Para permitir que as tarefas do Amazon ECS hospedadas nas instâncias do Amazon EC2 extraiam imagens privadas do Amazon ECR, crie endpoints da VPC da interface para o Amazon ECS. Para obter mais informações, consulte [Interface VPC Endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) no *Amazon Elastic Container Service Developer Guide*.
+ As tarefas do Amazon ECS hospedadas no Fargate que extraem imagens do Amazon ECR podem restringir o acesso à VPC específica que as tarefas usam e ao endpoint da VPC que o serviço usa, adicionando chaves de condição à função do IAM para a tarefa. Para obter mais informações, consulte [Permissões opcionais do IAM para tarefas do Fargate que extraem imagens do Amazon ECR por endpoints de interface](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) no *Guia do desenvolvedor do Amazon Elastic Container Service*.
+ O grupo de segurança anexado ao endpoint da VPC deve permitir conexões de entrada na porta 443 na sub-rede privada da VPC.
+ Os endpoints VPC do Amazon ECR oferecem suporte à conectividade de pilha dupla IPv4 (e). IPv6 Quando você cria um endpoint VPC de pilha dupla, ele pode lidar com o tráfego tanto por endereços IP privados quanto por IPv4 endereços IP. IPv6
+ Os VPC endpoints oferecem suporte aos repositórios públicos do Amazon ECR por meio do endpoint AWS API SDK no Leste dos EUA (Norte da Virgínia). 
+ Os VPC endpoints oferecem suporte somente ao DNS AWS fornecido por meio do Amazon Route 53. Se quiser usar seu próprio DNS, você pode usar o encaminhamento de DNS condicional. Para obter mais informações, consulte [Conjuntos de opções de DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) no *Manual do usuário da Amazon VPC*.
+ Se os contêineres tiverem conexões existentes com o Amazon S3, as conexões poderão ser interrompidas brevemente quando você adicionar o endpoint do gateway do Amazon S3. Se você quiser evitar essa interrupção, crie uma VPC que usa o endpoint de gateway do Amazon S3 e migre o cluster do Amazon ECS e seus contêineres para a nova VPC.
+ Quando uma imagem é extraída usando uma regra de cache de pull-through pela primeira vez, se você configurou o Amazon ECR para usar um endpoint de VPC de interface usando AWS PrivateLink , então é necessário criar uma sub-rede pública na mesma VPC, com um gateway NAT e, em seguida, rotear todo o tráfego de saída para a Internet de sua sub-rede privada para o gateway NAT para que a extração funcione. As extrações de imagem subsequentes não exigem isso. Para obter mais informações, consulte [Cenário: Acessar a Internet de uma sub-rede privada](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#public-nat-internet-access) no *Guia do usuário da Amazon Virtual Private Cloud*.
+ Para cargas de trabalho que exigem módulos criptográficos validados pelo FIPS 140-3, o Amazon ECR oferece suporte a endpoints FIPS para endpoints VPC.

### Considerações para imagens do Windows
<a name="ecr-vpc-endpoint-windows-considerations"></a>

As imagens baseadas no sistema operacional Windows incluem artefatos que são restringidos, pela licença, de serem distribuídos. Por padrão, quando você envia imagens do Windows para um repositório do Amazon ECR, as camadas que incluem esses artefatos não são enviadas, pois elas são consideradas *camadas externas*. Quando os artefatos são fornecidos pela Microsoft, as camadas externas são recuperadas da infraestrutura do Microsoft Azure. Por esse motivo, para permitir que seus contêineres extraiam essas camadas externas do Azure, etapas adicionais são necessárias além da criação dos endpoints da VPC.

É possível substituir esse comportamento ao enviar imagens do Windows ao Amazon ECR usando o sinalizador `--allow-nondistributable-artifacts` no daemon do Docker. Quando habilitado, esse sinalizador envia as camadas licenciadas para o Amazon ECR, o que permite que essas imagens sejam extraídas do Amazon ECR por meio do endpoint da VPC sem necessidade de acesso adicional ao Azure.

**Importante**  
Usar o sinalizador `--allow-nondistributable-artifacts` não exclui sua obrigação de cumprir os termos da licença de imagem base de contêiner do Windows. Você não pode postar conteúdo do Windows para redistribuição pública ou de terceiros. O uso dentro do seu próprio ambiente é permitido.

Para habilitar o uso desse sinalizador para a instalação do Docker, você deve modificar o arquivo de configuração do daemon do Docker que, dependendo da instalação do Docker, normalmente pode ser configurado no menu de configurações ou preferências na seção **Engine do Docker** ou editando a seção do arquivo `C:\ProgramData\docker\config\daemon.json` diretamente.

Veja a seguir um exemplo da configuração necessária: Substitua o valor pelo URI do repositório para o qual você está enviando imagens.

```
{
    "allow-nondistributable-artifacts": [
        "111122223333.dkr.ecr.us-west-2.amazonaws.com"
    ]
}
```

Depois de modificar o arquivo de configuração do daemon do Docker, você deve reiniciar o daemon do Docker antes de tentar enviar sua imagem. Confirme se o push funcionou verificando se a camada base foi enviada ao seu repositório.

**nota**  
As camadas base para imagens do Windows são grandes. O tamanho da camada resulta em mais tempo de envio e custos adicionais de armazenamento no Amazon ECR para essas imagens. Por esses motivos, recomendamos usar essa opção somente quando for estritamente necessário reduzir os tempos de construção e os custos contínuos de armazenamento. Por exemplo, a imagem `mcr.microsoft.com/windows/servercore` tem aproximadamente 1,7 GiB de tamanho quando compactada no Amazon ECR.

## Criação dos endpoints da VPC para o Amazon ECR
<a name="ecr-setting-up-vpc-create"></a>

Para criar os endpoints da VPC para o serviço do Amazon ECR, use o procedimento de [Criação de um endpoint de interface](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) no *Manual do usuário da Amazon VPC*.

Os endpoints VPC do Amazon ECR oferecem suporte à conectividade de pilha dupla IPv4 (e). IPv6 Quando você cria um endpoint VPC de pilha dupla, ele processa automaticamente o tráfego tanto em endereços IP privados quanto em endereços IP privados. IPv4 IPv6 O endpoint roteará o tráfego usando a versão IP apropriada com base na configuração de rede do seu cliente e nos recursos do endpoint.

Se você tiver endpoints VPC existentes IPv4 somente e quiser migrar para endpoints de pilha dupla, poderá modificar seus endpoints existentes para oferecer suporte à conectividade de pilha dupla ou criar novos endpoints de pilha dupla. Ao criar ou modificar endpoints, certifique-se de que sua VPC e sub-redes sejam compatíveis com a versão IP que você deseja usar. Depois de criar endpoints de pilha dupla, os endpoints suportarão tanto e. IPv4 IPv6

As tarefas do Amazon ECS hospedadas em instâncias do Amazon EC2 exigem endpoints do Amazon ECR e o endpoint do gateway do Amazon S3.

As Tarefas do Amazon ECS hospedadas no Fargate usando a versão `1.4.0` da plataforma ou posterior exigem endpoints da VPC do Amazon ECR e endpoints de gateway do Amazon S3.

**As tarefas do Amazon ECS hospedadas no Fargate que usam a `1.3.0` versão da plataforma ou anterior exigem apenas o com.amazonaws. *region*.ecr.dkr** Endpoint Amazon ECR VPC e endpoints do gateway Amazon S3.

**nota**  
A ordem em que os endpoints são criados não importa.

**com.amazonaws. *region*.ecr.dkr**  
Esse endpoint é usado para o Docker Registry. APIs Os comandos de cliente do Docker, como `push` e `pull`, usam esse endpoint.  
Ao criar esse endpoint, você deve habilitar um nome de host DNS privado. Para fazer isso, verifique se a opção **Enable Private DNS Name (Habilitar nome DNS privado)** está selecionada no console da Amazon VPC ao criar o endpoint da VPC.  
**Para conexões compatíveis com FIPS 140-3, use o nome do endpoint FIPS com.amazonaws. *region*.ecr-fips.dkr**

**com.amazonaws. *region*.ecr.api**  
O especificado *region* representa o identificador de região para uma AWS região suportada pelo Amazon ECR, como `us-east-2` para a região Leste dos EUA (Ohio).
**Para conexões compatíveis com FIPS 140-3, use os nomes dos endpoints FIPS: com.amazonaws. ***region***.ecr-fips.dkr e com.amazonaws. *region*.ecr-fips.api**.  
Esse endpoint é usado para chamadas à API do Amazon ECR. As opções da API, como `DescribeImages` e `CreateRepository` são enviadas para esse endpoint.  
Quando esse endpoint é criado, você tem a opção de habilitar um nome de host DNS privado. Habilite essa configuração selecionando **Habilitar nome DNS privado** no console da VPC ao criar o VPC endpoint. Se você habilitar um nome de host DNS privado para o VPC endpoint, atualize seu SDK ou AWS CLI para a versão mais recente para que não seja necessário especificar uma URL de endpoint ao usar o SDK ou não. AWS CLI   
**Para conexões compatíveis com FIPS 140-3, use o nome do endpoint FIPS com.amazonaws. *region*.ecr-fips.api**.  
Se você habilitar um nome de host DNS privado e estiver usando um SDK ou uma AWS CLI versão lançada antes de 24 de janeiro de 2019, deverá usar o `--endpoint-url` parâmetro para especificar os endpoints da interface. O exemplo a seguir mostra o formato do URL do endpoint.  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr.region.amazonaws.com
```
Se você não habilitar um nome de host DNS privado para o VPC endpoint, deverá usar o parâmetro `--endpoint-url` especificando o ID do VPC endpoint para o endpoint de interface. O exemplo a seguir mostra o formato do URL do endpoint.  

```
aws ecr create-repository --repository-name name --endpoint-url https://VPC_endpoint_ID.api.ecr.region.vpce.amazonaws.com
```
Para conexões compatíveis com FIPS 140-3, use o URL do endpoint FIPS:  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr-fips.region.amazonaws.com
```

## Criar o endpoint do gateway do Amazon S3
<a name="ecr-setting-up-s3-gateway"></a>

Para que as tarefas do Amazon ECS extraiam imagens privadas do Amazon ECR, crie um endpoint de gateway para o Amazon S3. O endpoint do gateway é necessário porque o usa o Amazon ECR usa o Amazon S3 para armazenar as camadas de imagem. Quando os contêineres baixam imagens do Amazon ECR, eles devem acessar o Amazon ECR para obter o manifesto da imagem e o Amazon S3 para baixar as camadas reais da imagem. Este é o nome do recurso da Amazon (ARN) do bucket do Amazon S3 que contém as camadas de cada imagem do Docker.

```
arn:aws:s3:::prod-region-starport-layer-bucket/*
```

**nota**  
Se estiver criando um endpoint VPC de pilha dupla para o Amazon ECR, você também precisará criar um Amazon S3 Gateway ou um endpoint de interface do Amazon S3 de pilha dupla. Consulte a [documentação do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-ip-address-types) para obter detalhes.

Usar o procedimento [Criação de um endpoint de gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html#create-gateway-endpoint) no *Manual do usuário da Amazon VPC* para criar o seguinte endpoint de gateway do Amazon S3 para o Amazon ECR. Ao criar o endpoint, selecione as tabelas de rotas para sua VPC.

**com.amazonaws. *region*.s3**  
O endpoint de gateway do Amazon S3 usa um documento de política do IAM para limitar o acesso ao serviço. A política de **Acesso total** pode ser usada, pois qualquer restrição colocada nas funções do IAM de sua tarefa ou outras políticas de usuário do IAM ainda serão aplicadas além dessa política. Se você quiser limitar o acesso ao bucket do Amazon S3 para as permissões mínimas exigidas para usar o Amazon ECR, consulte [Permissões mínimas do bucket do Amazon S3 para o Amazon ECR](#ecr-minimum-s3-perms).

### Permissões mínimas do bucket do Amazon S3 para o Amazon ECR
<a name="ecr-minimum-s3-perms"></a>

O endpoint de gateway do Amazon S3 usa um documento de política do IAM para limitar o acesso ao serviço. Para conceder apenas as permissões mínimas do bucket do Amazon S3 para o Amazon ECR, restrinja o acesso ao bucket do Amazon S3 usado pelo Amazon ECR ao criar o documento de política do IAM para o endpoint. 

A tabela a seguir descreve as permissões de política do bucket do Amazon S3 exigidas pelo Amazon ECR.


| Permissão | Description | 
| --- | --- | 
|  `arn:aws:s3:::prod-region-starport-layer-bucket/*`  |  Fornece acesso ao bucket do Amazon S3 que contém as camadas de cada imagem do Docker. Representa o identificador da região para uma região da AWS suportada pelo Amazon ECR, como `us-east-2` para a região Leste dos EUA (Ohio).  | 

#### Exemplo
<a name="ecr-minimum-s3-perms-example"></a>

O exemplo a seguir ilustra como conceder acesso aos buckets do Amazon S3 exigidos para as operações do Amazon ECR.

```
{
  "Statement": [
    {
      "Sid": "Access-to-specific-bucket-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::prod-region-starport-layer-bucket/*"]
    }
  ]
}
```

## Crie o endpoint do CloudWatch Logs
<a name="ecr-setting-up-cloudwatch-logs"></a>

**As tarefas do Amazon ECS que usam o tipo de execução Fargate que usam uma VPC sem um gateway de internet e que também usam `awslogs` o driver de log para enviar informações de log para o Logs exigem que CloudWatch você crie o com.amazonaws. *region*.logs** Interface VPC endpoint CloudWatch para Logs. Para obter mais informações, consulte Como [usar CloudWatch registros com endpoints VPC de interface](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html) no Guia do usuário do *Amazon CloudWatch Logs*.

## Criar uma política de endpoint para os endpoints da VPC do Amazon ECR
<a name="ecr-vpc-endpoint-policy"></a>

Uma política de endpoint da VPC é uma política de recursos do IAM que você anexa a um endpoint quando cria ou modifica o endpoint. Se você não anexar uma política ao criar um endpoint, AWS anexará uma política padrão que permita acesso total ao serviço. Uma política de endpoint não substitui políticas de usuário do ou políticas de serviço específicas. É uma política separada para controlar o acesso do endpoint ao serviço especificado. Políticas de endpoint devem ser gravadas em formato JSON. Para obter mais informações, consulte [Controlar o acesso a serviços com VPC endpoints](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) no *Manual do usuário da Amazon VPC*.

Recomendamos criar uma única política de recursos do IAM e anexá-la a ambos os endpoints da VPC do Amazon ECR.

A seguir temos um exemplo de uma política de endpoint para o Amazon ECR Essa política permite que uma função do IAM específica extraia imagens do Amazon ECR.

```
{
	"Statement": [{
		"Sid": "AllowPull",
		"Principal": {
			"AWS": "arn:aws:iam::1234567890:role/role_name"
		},
		"Action": [
			"ecr:BatchGetImage",
			"ecr:GetDownloadUrlForLayer",
                    "ecr:GetAuthorizationToken"
		],
		"Effect": "Allow",
		"Resource": "*"
	}]
}
```

O exemplo de política de endpoint a seguir impede que um repositório especificado seja excluído.

```
{
	"Statement": [{
			"Sid": "AllowAll",
			"Principal": "*",
			"Action": "*",
			"Effect": "Allow",
			"Resource": "*"
		},
		{
			"Sid": "PreventDelete",
			"Principal": "*",
			"Action": "ecr:DeleteRepository",
			"Effect": "Deny",
			"Resource": "arn:aws:ecr:region:1234567890:repository/repository_name"
		}
	]
}
```

O exemplo de política de endpoint a seguir combina os dois exemplos anteriores em uma única política.

```
{
	"Statement": [{
			"Sid": "AllowAll",
			"Effect": "Allow",
			"Principal": "*",
			"Action": "*",
			"Resource": "*"
		},
		{
			"Sid": "PreventDelete",
			"Effect": "Deny",
			"Principal": "*",
			"Action": "ecr:DeleteRepository",
			"Resource": "arn:aws:ecr:region:1234567890:repository/repository_name"
		},
		{
			"Sid": "AllowPull",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::1234567890:role/role_name"
			},
			"Action": [
				"ecr:BatchGetImage",
				"ecr:GetDownloadUrlForLayer",
                          "ecr:GetAuthorizationToken"
			],
			"Resource": "*"
		}
	]
}
```

**Para modificar a política endpoint da VPC para o Amazon ECR**

1. Abra o console da Amazon VPC em [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. No painel de navegação, escolha **Endpoints**.

1. Se você ainda não criou os endpoints da VPC para o Amazon ECR, consulte [Criação dos endpoints da VPC para o Amazon ECR](#ecr-setting-up-vpc-create).

1. Selecione endpoint da VPC do Amazon ECR ao qual deseja adicionar uma política e escolha a guia **Policy (Política)** na parte inferior da tela.

1. Selecione **Edit policy (Editar política)** e faça as alterações na política.

1. Escolha **Save (Salvar)** para salvar a política.

## Sub-redes compartilhadas
<a name="ecr-vpc-endpoint-shared-subnets"></a>

Você não pode criar, descrever, modificar ou excluir endpoints da VPC em sub-redes que são compartilhadas com você. No entanto, é possível usar os endpoints da VPC em sub-redes que são compartilhadas com você.

# Prevenção contra o ataque do “substituto confuso” em todos os serviços
<a name="cross-service-confused-deputy-prevention"></a>

“Confused deputy” é um problema de segurança no qual uma entidade sem permissão para executar uma ação pode coagir uma entidade mais privilegiada a executá-la. Em AWS, a falsificação de identidade entre serviços pode resultar em um problema confuso de delegado. A personificação entre serviços pode ocorrer quando um serviço (o *serviço de chamada*) chama outro serviço (o *serviço chamado*). O serviço de chamada pode ser manipulado de modo a usar suas permissões para atuar nos recursos de outro cliente de uma forma na qual ele não deveria ter permissão para acessar. Para evitar isso, a AWS fornece ferramentas que ajudam você a proteger seus dados para todos os serviços com entidades principais de serviço que receberam acesso aos recursos em sua conta. 

Recomendamos o uso das chaves de contexto de condição global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) e [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) em políticas de recursos para limitar as permissões que o Amazon ECR concede a outro serviço no recurso para o recurso. Use `aws:SourceArn` se quiser que apenas um recurso seja associado ao acesso entre serviços. Use `aws:SourceAccount` se quiser permitir que qualquer recurso nessa conta seja associado ao uso entre serviços.

A maneira mais eficaz de se proteger contra o problema do substituto confuso é usar a chave de contexto de condição global `aws:SourceArn` com o ARN completo do recurso. Se você não souber o ARN completo do recurso ou especificar vários recursos, use a chave de condição de contexto global `aws:SourceArn` com caracteres curinga (`*`) para as partes desconhecidas do ARN. Por exemplo, .`arn:aws:servicename:region:123456789012:*` 

Se o valor de `aws:SourceArn` não contiver o ID da conta, como um ARN de bucket do Amazon S3, você deverá usar ambas as chaves de contexto de condição global para limitar as permissões. 

O valor de `aws:SourceArn` deve ser ResourceDescription.

O exemplo a seguir mostra como você pode usar as chaves de contexto de condição `aws:SourceAccount` global `aws:SourceArn` e as chaves de contexto em uma política de repositório do Amazon ECR para permitir o AWS CodeBuild acesso às ações de API do Amazon ECR necessárias para a integração com esse serviço e, ao mesmo tempo, evitar o problema confuso do substituto.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"CodeBuildAccess",
         "Effect":"Allow",
         "Principal":{
            "Service":"codebuild.amazonaws.com"
         },
         "Action":[
            "ecr:BatchGetImage",
            "ecr:GetDownloadUrlForLayer"
         ],
         "Resource": "*",
         "Condition":{
            "ArnLike":{
               "aws:SourceArn":"arn:aws:codebuild:us-east-1:123456789012:project/project-name"
            },
            "StringEquals":{
               "aws:SourceAccount":"123456789012"
            }
         }
      }
   ]
}
```

------