

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á.

# Permissões de registro privado no Amazon ECR
<a name="registry-permissions"></a>

 O Amazon ECR usa uma **política de registro** para conceder permissões a uma entidade principal da AWS no nível de registro privado.

O escopo é definido escolhendo a versão da política de registro. Há duas versões com escopos de política de registro diferentes: versão 1 (V1) e versão 2 (V2). A V2 é o escopo expandido da política de registro que inclui todas as permissões do ECR. Para ver a lista completa de ações de API, consulte o *[Guia de API do Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html)* A versão V2 é o escopo padrão da política de registro. Para obter mais informações sobre visualização ou configuração do escopo da política do registro, consulte [Como mudar para o escopo estendido da política de registro](registry-permissions-account-settings.md). Para obter informações sobre configurações gerais para o registro privado do Amazon ECR, consulte [Configurações de registro privado no Amazon ECR](registry-settings.md).

 As versões são detalhadas a seguir.
+ **V1 ** – Para a versão 1, o Amazon ECR só impõe as seguintes permissões no registro privado.
  + `ecr:ReplicateImage` — Concede permissão a outra conta, chamada de registro de origem, para replicar suas imagens para o registro. Isso é usado apenas para replicação entre contas.
  + `ecr:BatchImportUpstreamImage`: concede permissão para recuperar a imagem externa e importá-la para o registro privado.
  + `ecr:CreateRepository`: concede permissão para criar um repositório em um registro privado. Essa permissão é necessária se o armazenamento do repositório estiver replicado ou as imagens em cache ainda não existirem no registro privado.
+ **V2** – Para a versão 2, o Amazon ECR permite todas as ações de ECR na política e aplica a política de registro em todas as solicitações de ECR.

Você pode usar o console ou a CLI para visualizar ou alterar o escopo da política do registro.

**nota**  
Embora seja possível adicionar a ação `ecr:*` a uma política de registro privado, é considerada uma prática recomendada adicionar apenas as ações específicas necessárias com base no atributo que você está usando, em vez de usar um curinga.

**Topics**
+ [Exemplos de política de registro privado do Amazon ECR](registry-permissions-examples.md)
+ [Como mudar para o escopo estendido da política de registro](registry-permissions-account-settings.md)
+ [Conceder permissões de registro para replicação entre contas no Amazon ECR](registry-permissions-create-replication.md)
+ [Conceder permissões de registro para cache de pull-through no Amazon ECR](registry-permissions-create-pullthroughcache.md)

# Exemplos de política de registro privado do Amazon ECR
<a name="registry-permissions-examples"></a>

Os exemplos a seguir mostram instruções de políticas de registro que você pode usar para controlar as permissões que os usuários têm em seu registro do Amazon ECR.

**nota**  
Em cada exemplo, se a ação `ecr:CreateRepository` for removida da política do registro, a replicação ainda pode ocorrer. No entanto, para uma replicação ser bem-sucedida, você precisa criar repositórios com o mesmo nome em sua conta.

## Exemplo: permitir que todos as entidades principais do IAM em uma conta de origem repliquem todos os repositórios
<a name="registry-permissions-examples-all"></a>

A política de permissões de registro a seguir permite que as entidades principais do IAM (usuários e funções) de uma conta de origem repliquem todos os repositórios.

Observe o seguinte:
+ **Importante:** ao especificar uma ID da Conta da AWS como entidade principal em uma política, você concede acesso a todos os usuários e funções do IAM dentro dessa conta, não apenas ao usuário-raiz. Isso fornece amplo acesso em toda a conta.
+ **Consideração de segurança:** as permissões da conta concedem acesso a todas as entidades do IAM na conta especificada. Para um acesso mais restritivo, especifique usuários, funções ou instruções de condição de uso individuais do IAM para limitar ainda mais o acesso.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/*"
            ]
        }
    ]
}
```

------

## Exemplo: permitir entidades principais do IAM de várias contas
<a name="registry-permissions-examples-multiple"></a>

A política de permissões de registro a seguir tem duas declarações. Cada instrução permite que todas as entidades principais do IAM (usuários e funções) em uma conta de origem repliquem todos os repositórios.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount1",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:123456789012:repository/*"
            ]
        },
        {
            "Sid":"ReplicationAccessCrossAccount2",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::444455556666:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:123456789012:repository/*"
            ]
        }
    ]
}
```

------

## Exemplo: permitir que todas as entidades principais do IAM em uma conta de origem repliquem todos os repositórios com o prefixo `prod-`.
<a name="registry-permissions-examples-specific"></a>

A política de permissões de registro a seguir permite que as entidades principais do IAM (usuários e funções) de uma conta de origem repliquem todos os repositórios que começam com ` prod-`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"ReplicationAccessCrossAccount",
            "Effect":"Allow",
            "Principal":{
                "AWS":"arn:aws:iam::111122223333:root"
            },
            "Action":[
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": [
                "arn:aws:ecr:us-west-2:444455556666:repository/prod-*"
            ]
        }
    ]
}
```

------

# Como mudar para o escopo estendido da política de registro
<a name="registry-permissions-account-settings"></a>

**Importante**  
Para novos usuários, os registros são configurados automaticamente para usar a tecnologia de registro ` V2` após a criação. Não há nenhuma ação a ser realizada. O Amazon ECR não recomenda reverter para a política de registro anterior. `V1`

Você pode usar o console ou a CLI para visualizar ou alterar o escopo da política do registro.

------
#### [ Console de gerenciamento da AWS ]

Use as etapas a seguir para visualizar as configurações da conta. Para visualizar ou atualizar o escopo da política de registro, consulte o procedimento da CLI nesta página.

**Ative a política de registro aprimorada para seu registro privado**

1.  [Abra o console do Amazon ECR em registros https://console.aws.amazon.com/ecr/ privados/repositórios](https://console.aws.amazon.com/ecr/private-registry/repositories)

1. Na barra de navegação, selecione a região.

1. No painel de navegação, escolha **Registro privado**, **Atributo e configurações** e depois **Permissões**.

1. Na página **Permissões**, para **Política de registro**, veja o arquivo JSON da sua política. Se você tiver a política V1, um banner será exibido com instruções para atualizar para a V2. Escolha **Habilitar**.

   Um banner é exibido indicando que o escopo da política de registro foi atualizado para V2.

1. Opcionalmente, você também pode configurar permissões com a CLI. Para obter mais informações, consulte [Configurações de registro privado no Amazon ECR](registry-settings.md).
**nota**  
Para visualizar ou atualizar o escopo da política de registro, consulte o procedimento da CLI nesta página.

------
#### [ AWS CLI ]

O Amazon ECR gera a V2 da política de registro. Siga as etapas abaixo para exibir ou atualizar o escopo da política de registro. Não é possível visualizar ou alterar o escopo da política do registro no console
+ para recuperar a política de registro que você está usando atualmente.

  ```
  aws ecr get-account-setting --name REGISTRY_POLICY_SCOPE
  ```

   O nome do parâmetro é um campo obrigatório. Se você não fornecer o nome, receberá o seguinte erro:

  ```
   aws: error: the following arguments are required: --name
  ```

  Visualize seu comando de política de registro. No exemplo a seguir, a versão da política de registro é V1.

  ```
  {
      "name": "REGISTRY_POLICY_SCOPE",
      "value": "V1"
  }
  ```

  Você pode alterar a versão da política de registro de `V1` para `V2`. V1 não é o escopo recomendado da política de registro.

  ```
  aws ecr put-account-setting --name REGISTRY_POLICY_SCOPE --value value
  ```

  Por exemplo, use o comando a seguir para atualizar para a V2.

  ```
  aws ecr put-account-setting --name REGISTRY_POLICY_SCOPE --value V2
  ```

  Visualize seu comando de política de registro. No exemplo a seguir, a versão da política de registro foi atualizada para V2.

  ```
  {
      "name": "REGISTRY_POLICY_SCOPE",
      "value": "V2"
  }
  ```

------

# Conceder permissões de registro para replicação entre contas no Amazon ECR
<a name="registry-permissions-create-replication"></a>

O tipo de política entre contas é usado para conceder permissões a um AWS principal, permitindo a replicação dos repositórios de um registro de origem para o seu registro. Por padrão, você tem permissão para configurar a replicação entre regiões no seu próprio registro. Só é necessário configurar a política de registro se estiver concendendo outra permissão de conta para replicar conteúdo para o seu registro.

Uma política de registro deve conceder permissão para a ação de API `ecr:ReplicateImage`. Essa API é uma API interna do Amazon ECR que pode replicar imagens entre regiões ou contas. Você também pode conceder a permissão ` ecr:CreateRepository`, que permite que o Amazon ECR crie repositórios em seu registro se eles ainda não existirem. Se a permissão `ecr:CreateRepository` não for fornecida, um repositório com o mesmo nome que o repositório de origem deve ser criado manualmente no seu registro. Se nenhuma das duas alternativas foi realizada, a replicação falha. Qualquer falha `CreateRepository` ou ação `ReplicateImage` da API aparece no CloudTrail.

## Para configurar uma política de permissões para replicação (Console de gerenciamento da AWS)
<a name="registry-permissions-create-console"></a>

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 para configurar a sua política de registro.

1. No painel de navegação, escolha **Registro privado**, escolha **Atributos e configurações** e depois **Permissões**.

1. Na página **Registry permissions** (Permissões do registro), escolha **Generate statement** (Gerar declaração).

1. Realize as seguintes etapas para definir a instrução da política usando o gerador de políticas.

   1. Para **Tipo de política**, escolha **Política entre contas**.

   1. Para **ID da instrução**, insira uma ID de instrução exclusiva. Este campo é usado como o `Sid` na política de registro.

   1. Em **Contas**, insira a conta IDs de cada conta para a qual você deseja conceder permissões. Ao especificar várias contas IDs, separe-as com uma vírgula.

1. Escolha **Salvar**.

## Para configurar uma política de permissões para replicação (AWS CLI)
<a name="registry-permissions-create-cli"></a>

1. Crie um arquivo denominado `registry_policy.json` e preencha-o com uma política de registro.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement":[
           {
               "Sid":"ReplicationAccessCrossAccount",
               "Effect":"Allow",
               "Principal":{
                   "AWS":"arn:aws:iam::111122223333:root"
               },
               "Action":[
                   "ecr:CreateRepository",
                   "ecr:ReplicateImage"
               ],
               "Resource": [
                   "arn:aws:ecr:us-west-2:444455556666:repository/*"
               ]
           }
       ]
   }
   ```

------

1. Crie a política de registro usando o arquivo de política.

   ```
   aws ecr put-registry-policy \
         --policy-text file://registry_policy.json \
         --region us-west-2
   ```

1. Recupere a política para seu registro para confirmar.

   ```
   aws ecr get-registry-policy \
         --region us-west-2
   ```

# Conceder permissões de registro para cache de pull-through no Amazon ECR
<a name="registry-permissions-create-pullthroughcache"></a>

As permissões de registro privado do Amazon ECR podem ser usadas para dimensionar o escopo das permissões de entidades individuais do IAM para usar o cache de pull-through. Se uma entidade do IAM tiver mais permissões concedidas por uma política do IAM do que a política de permissões do registro está concedendo, a política do IAM terá precedência.

**Para criar uma política de permissões de um registro privado (Console de gerenciamento da AWS)**

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 na qual deseja configurar a sua declaração de permissões da política do registro.

1. No painel de navegação, escolha **Registro privado**, escolha **Recursos e configurações e**, em seguida, escolha **Permissões**.

1. Na página **Registry permissions** (Permissões do registro), escolha **Generate statement** (Gerar declaração).

1. Para cada declaração de política de permissões de cache de pull-through que você criar, faça o seguinte.

   1. Em **Policy type** (Tipo de política), escolha **Pull through cache policy** (Política de cache de pull-through).

   1. Em **Statement id** (ID da declaração), forneça um nome para a política de declaração do cache de pull-through.

   1. Em **IAM entities** (Entidades do IAM), especifique os usuários, grupos ou funções a serem incluídos na política.

   1. Em **Namespace do cache** selecione a regra de cache de pull-through à qual a política será associada.

   1. Em **Repository names** (Nomes de repositórios), especifique o nome da base do repositório ao qual a regra será aplicada. Por exemplo, se você quisesse especificar o repositório do Amazon Linux no Amazon ECR Public, o nome do repositório seria ` amazonlinux`.