

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

# Sincronizar um registro upstream com um registro privado do Amazon ECR
<a name="pull-through-cache"></a>

Com as regras de cache de pull-through, você pode sincronizar o conteúdo de um registro upstream com o registro privado do Amazon ECR.

No momento, o Amazon ECR oferece suporte à criação de regras de cache de pull-through para os seguintes registros upstream:
+ Amazon ECR Public, o registro de imagens de contêineres do Kubernetes e o Quay (não requer autenticação)
+ Docker Hub, Microsoft Azure Container Registry, GitHub Container Registry, GitLab Container Registry e Chainguard Registry (requer autenticação com segredo) AWS Secrets Manager 
+ Amazon ECR (requer autenticação com a função AWS IAM)

Para o GitLab Container Registry, o Amazon ECR oferece suporte ao cache de pull through somente com GitLab a oferta de Software as a Service (SaaS). [Para obter mais informações sobre como usar GitLab a oferta de SaaS, consulte GitLab .com.](https://docs.gitlab.com/17.5/subscriptions/choosing_subscription/)

Para registros upstream que exigem autenticação com segredos (como o Docker Hub), você deve armazenar suas credenciais em um segredo. AWS Secrets Manager Você pode usar o console do Amazon ECR para criar segredos do Secrets Manager para cada registro upstream autenticado. Para obter mais informações sobre como criar um segredo no Secrets Manager usando o console do Secrets Manager, consulte [Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager](pull-through-cache-creating-secret.md).

Para o Amazon ECR, você deve criar uma função do IAM se os registros upstream e downstream do Amazon ECR pertencerem a contas diferentes. AWS Para obter mais informações sobre como criar uma função do IAM, consulte [Políticas do IAM necessárias para cache de pull-through ECR para ECR entre contas](pull-through-cache-private.md#pull-through-cache-private-permissions).

Após criar uma regra de cache de pull-through para o registro upstream, extraia uma imagem desse registro upstream usando o URI de registro privado do Amazon ECR. Em seguida, o Amazon ECR cria um repositório e armazena essa imagem em cache no seu registro privado. Nas solicitações subsequentes de extração da imagem armazenada em cache com uma determinada tag, o Amazon ECR verifica o registro upstream para ver se há uma nova versão da imagem com essa tag específica e tenta atualizar a imagem no registro privado pelo menos uma vez a cada 24 horas.

## Modelos de criação de repositório
<a name="pull-through-cache-respository-creation-template"></a>

O Amazon ECR adicionou suporte para modelos de criação de repositório, o que lhe dá o controle para especificar configurações iniciais para novos repositórios criados pelo Amazon ECR em seu nome usando regras de cache de pull-through. Cada modelo contém um prefixo de namespace do repositório que é usado para associar novos repositórios a um modelo específico. Os modelos podem especificar a configuração para todas as configurações do repositório, incluindo políticas de acesso baseadas em recursos, imutabilidade de tags, criptografia e políticas de ciclo de vida. As configurações em um modelo de criação de repositório são aplicadas apenas durante a criação do repositório e não têm efeito sobre repositórios existentes ou repositórios criados usando qualquer outro método. Para obter mais informações, 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).

## Considerações sobre o uso do cache de pull-through
<a name="pull-through-cache-considerations"></a>

Os pontos a seguir devem ser considerados ao usar as regras do cache de pull-through do Amazon ECR.
+ A criação de regras de cache de pull-through não é aceita nas seguintes Regiões:
  + China (Pequim) (`cn-north-1`)
  + China (Ningxia) (`cn-northwest-1`)
  + AWS GovCloud (Leste dos EUA) (`us-gov-east-1`)
  + AWS GovCloud (Oeste dos EUA) (`us-gov-west-1`)
+ AWS Lambda não suporta a extração de imagens de contêineres do Amazon ECR usando uma regra de cache pull through.
+ Ao extrair imagens usando o cache de pull-through, os endpoints de serviço FIPS do Amazon ECR não são suportados na primeira vez que uma imagem é extraída. No entanto, usar os endpoints de serviço FIPS do Amazon ECR funciona em extrações subsequentes.
+ Para repositórios upstream que exigem autenticação, quando uma imagem é extraída pela URI de registro privado do Amazon ECR pela primeira vez ou para atualizar o cache, a extração da imagem é iniciada pelo usuário associado às credenciais configuradas na regra de extração de cache. As extrações subsequentes retornarão a imagem diretamente do cache no registro privado do cliente.
+ Para repositórios upstream que não exigem autenticação, quando uma imagem é extraída por meio do URI de registro privado do Amazon ECR, a extração da imagem é iniciada por endereços IP. AWS 
+ Quando um cliente extrai uma imagem em cache por meio do URI de registro privado do Amazon ECR, o Amazon ECR verifica se validou a imagem em relação ao registro upstream nas últimas 24 horas. Se a janela de 24 horas tiver expirado, o Amazon ECR envia uma solicitação upstream para verificar se há uma versão mais recente e atualiza o cache, se houver. Se a janela não tiver expirado, o Amazon ECR veicula a imagem em cache sem entrar em contato com o upstream. 
+ Chamar a `ListImageReferrers` API para um repositório criado pelo cache pull through retorna os artefatos de referência compatíveis com OCI para o cache privado.
+ O Amazon ECR verifica se os artefatos do referenciador foram atualizados nas últimas 6 horas. Se a janela de 6 horas tiver expirado, o Amazon ECR envia uma solicitação upstream para verificar as versões mais recentes e atualizar o cache, se elas existirem.
+ Se o Amazon ECR não conseguir atualizar a imagem do registro upstream por qualquer motivo e a imagem for extraída, a última imagem em cache ainda será extraída.
+ Ao criar o segredo do Secrets Manager que contém as credenciais do registro upstream, o nome do segredo deve usar o prefixo `ecr-pullthroughcache/`. O segredo também deve estar na mesma conta e região em que a regra de cache de pull-through foi criada.
+ Quando uma imagem multiarquitetura é extraída por meio de uma regra de cache de pull-through, a lista de manifestos e cada imagem referenciada na lista de manifesto são extraídas para o repositório do Amazon ECR. Se desejar apenas extrair uma arquitetura específica, você poderá extrair a imagem usando o resumo da imagem ou a tag associada à arquitetura, em vez da tag associada à lista de manifesto.
+ O Amazon ECR utiliza um perfil do IAM vinculada ao serviço, que fornece as permissões necessárias para o Amazon ECR criar o repositório, recuperar o valor do segredo do Secrets Manager para autenticação e enviar a imagem armazenada em cache em seu nome. A função do IAM vinculada ao serviço é criada automaticamente quando uma regra de cache de pull-through é criada. Para obter mais informações, consulte [Função vinculada ao serviço do Amazon ECR para cache de pull-through](slr-pullthroughcache.md).
+ Por padrão, a entidade principal do IAM que está puxando a imagem armazenada em cache tem as permissões concedidas a ele por meio de sua política do IAM. Você pode usar a política de permissões de registro privado do Amazon ECR para aumentar o escopo das permissões de uma entidade do IAM. Para obter mais informações, consulte [Usar permissões de registro](pull-through-cache-iam.md#pull-through-cache-registry-permissions).
+ Os repositórios do Amazon ECR criados usando o fluxo de trabalho de cache de pull-through são tratados como qualquer outro repositório do Amazon ECR. Todos os recursos do repositório, como replicação e verificação de imagens, são compatíveis.
+ Quando o Amazon ECR cria um novo repositório em seu nome usando uma ação de cache de pull-through, as seguintes configurações padrão são aplicadas ao repositório, a menos que haja um modelo correspondente de criação de repositório. Você pode usar um modelo de criação de repositório para definir as configurações aplicadas aos repositórios criados pelo Amazon ECR em seu nome. Para obter mais informações, 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).
  + Imutabilidade da tag – A imutabilidade da tag especifica se as tags de imagem podem ser substituídas. Por padrão, as tags de imagem são mutáveis (podem ser substituídas). **Você pode modificar o comportamento da tag configurando os filtros de exclusão da tag na caixa de texto **Exclusão da tag mutável**, quando a opção **Mutável** estiver selecionada, ou na caixa de texto **Exclusão da tag imutável** quando a opção Imutável** estiver selecionada.
  + Criptografia – A criptografia padrão do `AES256` é usada.
  + Permissões do repositório – Omitidas, nenhuma política de permissões do repositório é aplicada.
  + Política de ciclo de vida – Omitida, nenhuma política de ciclo de vida é aplicada.
  + Tags de recursos – Omitidas, nenhuma tag de recurso é aplicada.
+ Ativar a imutabilidade da tag de imagem para repositórios usando uma regra de cache de pull-through impedirá que o Amazon ECR atualize imagens usando a mesma tag.
+ Quando uma imagem é extraída usando a regra de cache de pull-through pela primeira vez, uma rota para a internet pode ser necessária. Há certas circunstâncias em que uma rota para a internet é necessária, então é melhor configurar uma rota para evitar falhas. Portanto, se você configurou o Amazon ECR para usar uma interface VPC endpoint AWS PrivateLink , precisará garantir que o primeiro pull tenha uma rota para a Internet. Uma maneira de fazer isso é criar uma sub-rede pública na mesma VPC, com um gateway da internet. Em seguida, é preciso rotear todo o tráfego de saída da sub-rede privada para a sub-rede pública. As extrações subsequentes de imagem usando a regra de cache de pull-through não exigem isso. Para obter mais informações, consulte [Opções de rotas de exemplos](https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html) no *Guia do usuário da Amazon Virtual Private Cloud*.

# Permissões do IAM necessárias para sincronizar um registro upstream com um registro privado do Amazon ECR
<a name="pull-through-cache-iam"></a>

Além das permissões da API do Amazon ECR necessárias para autenticar em um registro privado e enviar e extrair imagens, as seguintes permissões adicionais são necessárias para usar regras de cache de pull-through de forma efetiva.
+ `ecr:CreatePullThroughCacheRule`: concede permissão para criar regra de cache de pull-through. Essa permissão deve ser concedida por meio de uma política do IAM baseada em identidade.
+ `ecr:BatchImportUpstreamImage`: concede permissão para recuperar a imagem externa e importá-la para o registro privado. Essa permissão pode ser concedida usando a política de permissões do registro privado, uma política do IAM baseada em identidade ou a política de permissões de repositório baseadas em recursos. Para obter mais informações sobre o uso de permissões de repositório, consulte [Políticas de repositório privado no Amazon ECR](repository-policies.md).
+ `ecr:CreateRepository`: concede permissão para criar um repositório em um registro privado. Essa permissão é necessária se o repositório de armazenamento de imagens em cache ainda não existir. Essa permissão pode ser concedida por uma política do IAM baseada em identidade ou pela política de permissões do registro privado.

## Usar permissões de registro
<a name="pull-through-cache-registry-permissions"></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. Por exemplo, se um usuário já tiver as permissões `ecr:*`, não serão necessárias permissões adicionais no nível do registro.

### Para criar uma política de permissões de um registro privado (Console de gerenciamento da AWS)
<a name="pull-through-cache-registry-permissions-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 na qual deseja configurar a sua declaração de permissões da política do registro.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Registry permissions** (Permissões do registro).

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 **Repository namespace** (Namespace do repositório), selecione a regra de cache de pull-through para associar à política.

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

### Para criar uma política de permissões de um registro privado (AWS CLI)
<a name="pull-through-cache-registry-permissions-cli"></a>

Use o AWS CLI comando a seguir para especificar as permissões do registro privado usando AWS CLI o.

1. Crie um arquivo local denominado `ptc-registry-policy.json` com o conteúdo da política do registro. O exemplo a seguir concede a permissão `ecr-pull-through-cache-user` para criar um repositório e extrair uma imagem do Amazon ECR Public, que é a fonte upstream associada à regra de cache pull-through criada anteriormente.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "PullThroughCacheFromReadOnlyRole",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::111122223333:user/ecr-pull-through-cache-user"
         },
         "Action": [
           "ecr:CreateRepository",
           "ecr:BatchImportUpstreamImage"
         ],
         "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/ecr-public/*"
       }
     ]
   }
   ```

------
**Importante**  
A permissão `ecr-CreateRepository` é necessária se o repositório de armazenamento de imagens em cache ainda não existir. Por exemplo, se a ação de criação do repositório e as ações de extração de imagem forem realizadas por entidades separadas do IAM, como um administrador e um desenvolvedor.

1. Use o [put-registry-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/put-registry-policy.html)comando para definir a política de registro.

   ```
   aws ecr put-registry-policy \
        --policy-text file://ptc-registry.policy.json
   ```

## Próximas etapas
<a name="pull-through-cache-next-steps"></a>

Quando você estiver pronto para começar a usar as regras de cache de pull-through, as próximas etapas são apresentadas a seguir.
+ Crie uma regra de cache de pull-through. Para obter mais informações, consulte [Criar uma regra de cache de pull-through no Amazon ECR](pull-through-cache-creating-rule.md).
+ Crie um modelo de criação de repositório. Um modelo de criação de repositório oferece a você o controle para definir as configurações a serem usadas para novos repositórios criados pelo Amazon ECR em seu nome durante uma ação do cache de pull-through. Para obter mais informações, 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).

# Como configurar permissões para ECR entre contas e ECR PTC
<a name="pull-through-cache-private"></a>

O recurso de cache pull through do Amazon ECR para o Amazon ECR (ECR para ECR) permite a sincronização automática de imagens entre regiões, AWS contas ou ambas. Com o PTC ECR para ECR, você pode enviar imagens para seu registro primário do Amazon ECR e configurar uma regra de cache de pull-through para armazenar imagens em registros downstream do Amazon ECR.

## Políticas do IAM necessárias para cache de pull-through ECR para ECR entre contas
<a name="pull-through-cache-private-permissions"></a>

Para armazenar imagens em cache entre registros do Amazon ECR em AWS contas diferentes, crie uma função do IAM na conta downstream e configure as políticas nesta seção para fornecer as seguintes permissões:
+ O Amazon ECR precisa de permissões para extrair imagens do registro upstream do Amazon ECR em seu nome. Você pode conceder essas permissões criando um perfil do IAM e especificando-o na regra de cache de pull-through. 
+ O proprietário do registro upstream também deve conceder ao proprietário do registro de cache as permissões necessárias para inserir as imagens nas políticas de recursos.

**Topics**
+ [Criação de um perfil do IAM para definir as permissões de cache de pull-through](#ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache)
+ [Como criar uma política de confiança para o perfil do IAM](#ecr-creating-a-trust-policy-for-the-iam-role)
+ [Criação de uma política de recursos no registro upstream do Amazon ECR](#ecr-creating-registry-permissions-policy-in-upstream-registry)

### Criação de um perfil do IAM para definir as permissões de cache de pull-through
<a name="ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache"></a>

O exemplo a seguir mostra uma política de permissões que concede a um perfil do IAM permissão para extrair imagens do registro upstream do Amazon ECR em seu nome. Quando o Amazon ECR assumir a função, ele terá as permissões que você especificar nessa política.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetAuthorizationToken",
                "ecr:BatchImportUpstreamImage",
                "ecr:BatchGetImage",
                "ecr:GetImageCopyStatus",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

### Como criar uma política de confiança para o perfil do IAM
<a name="ecr-creating-a-trust-policy-for-the-iam-role"></a>

O exemplo a seguir mostra uma política de confiança que identifica o cache pull through do Amazon ECR como o principal AWS de serviço que pode assumir a função.

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

****  

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

------

### Criação de uma política de recursos no registro upstream do Amazon ECR
<a name="ecr-creating-registry-permissions-policy-in-upstream-registry"></a>

O proprietário do registro upstream do Amazon ECR também deve adicionar uma política de registro ou uma política de repositório para conceder ao proprietário do registro downstream as permissões necessárias para realizar as ações a seguir. 

**nota**  
A política de recursos a seguir é necessária somente para configurações de cache pull through de ECR para ECR **entre contas**. Para extrair o cache **entre regiões da mesma conta, você só precisa da política de** função do IAM e da política de confiança mostradas nas seções anteriores. A permissão principal da conta raiz não é necessária quando os registros upstream e downstream estão na mesma conta. AWS 

```
{
    "Effect": "Allow",
    "Principal": {
        "AWS": "arn:aws:iam::444455556666:root"
    },
    "Action": [
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        "ecr:BatchImportUpstreamImage",
        "ecr:GetImageCopyStatus"
    ],
    "Resource": "arn:aws:ecr:region:111122223333:repository/*"
}
```

# Criar uma regra de cache de pull-through no Amazon ECR
<a name="pull-through-cache-creating-rule"></a>

Para cada registro upstream que contenha imagens que você deseja armazenar em cache no registro privado do Amazon ECR, é necessário criar uma regra de cache de pull-through.

Para registros upstream que exigem autenticação com segredos, você deve armazenar as credenciais em um segredo do Secrets Manager. Você pode usar uma senha existente do ou criar outra. Você pode criar o segredo do Secrets Manager no console do Amazon ECR ou no do Secrets Manager. Para criar um segredo do Secrets Manager usando o console do Secrets Manager em vez do console do Amazon ECR, consulte [Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager](pull-through-cache-creating-secret.md).

## Pré-requisitos
<a name="cache-rule-prereq"></a>
+ Verifique se você tem as permissões adequadas do IAM para criar regras de cache de pull-through. Para mais informações, consulte [Permissões do IAM necessárias para sincronizar um registro upstream com um registro privado do Amazon ECR](pull-through-cache-iam.md).
+ Para registros upstream que exigem autenticação com segredos: se você quiser usar um segredo existente, verifique se o segredo do Secrets Manager atende aos seguintes requisitos:
  + O nome do segredo começa com `ecr-pullthroughcache/`. O Console de gerenciamento da AWS só exibe segredos do Secrets Manager com o prefixo `ecr-pullthroughcache/`.
  + A conta e a região em que o segredo está devem corresponder à conta e à região em que a regra de cache de pull-through está.

## Para criar uma regra de cache de pull-through (Console de gerenciamento da AWS)
<a name="pull-through-cache-creating-rule-console"></a>

As etapas a seguir mostram como criar uma regra do cache de pull-through e um segredo do Secrets Manager usando o console do Amazon ECR. Para criar um segredo usando o console do Secrets Manager, consulte [Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager](pull-through-cache-creating-secret.md).

### Para Amazon ECR Public, Kubernetes Container Registry ou Quay
<a name="w2aac28c27b9b7b1"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na **Etapa 1: especificar uma página de origem**, em **Registro**, escolha Amazon ECR Public, Kubernetes ou Quay na lista de registros upstream e, em seguida, escolha **Avançar**.

1. Na **Etapa 2: especificar uma página de destino**, para o prefixo do **repositório Amazon ECR, especifique o prefixo** do namespace do repositório a ser usado ao armazenar em cache imagens retiradas do registro público de origem e escolha **Avançar**. Um namespace é preenchido por padrão, mas também é possível especificar um namespace personalizado.

1. Na página **Etapa 3: Revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita a etapa anterior para cada cache de pull-through que deseja criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para o Docker Hub
<a name="w2aac28c27b9b7b3"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na **Etapa 1: especificar uma página de origem**, em **Registro**, escolha **Docker Hub**, **Avançar**. 

1. Na página **Etapa 2: configurar autenticação**, para credenciais do **Upstream, você deve armazenar suas credenciais** de autenticação para o Docker Hub em um segredo AWS Secrets Manager . Você pode especificar um segredo existente ou usar o console do Amazon ECR para criar um novo segredo.

   1. Para usar um segredo existente, escolha **Usar um AWS segredo existente**. Em **Nome secreto**, use o menu suspenso para selecionar seu segredo existente e, em seguida, escolha **Avançar**.
**nota**  
Exibe Console de gerenciamento da AWS apenas segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo. O segredo também deve estar na mesma conta e região em que a regra de cache de pull-through foi criada.

   1. Para criar um novo segredo, escolha **Criar um AWS segredo**, faça o seguinte e escolha **Avançar**.

      1. Em **Nome secreto**, especifique um nome descritivo para o segredo. Os nomes de segredos devem conter de 1 a 512 caracteres Unicode.

      1. Em **E-mail do Docker Hub**, especifique o e-mail do Docker Hub.

      1. Para o **token de acesso do Docker Hub**, especifique seu token de acesso do Docker Hub. Para obter mais informações sobre como criar um token de acesso do Docker Hub, consulte [Criar e gerenciar tokens de acesso](https://docs.docker.com/security/for-developers/access-tokens/) na documentação do Docker.

1. Na **Etapa 3: especificar uma página de destino**, para o **prefixo do repositório Amazon ECR**, especifique o namespace do repositório a ser usado ao armazenar em cache imagens retiradas do registro público de origem e escolha **Avançar**.

   Um namespace é preenchido por padrão, mas também é possível especificar um namespace personalizado.

1. Na página **Etapa 4: revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita a etapa anterior para cada cache de pull-through que deseja criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para GitHub Container Registry
<a name="w2aac28c27b9b7b5"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na **Etapa 1: Especificar uma página de origem**, em **Registro, escolha Registro** de **GitHub contêiner**, **Avançar**. 

1. Na página **Etapa 2: Configurar autenticação**, para credenciais do **Upstream, você deve armazenar suas credenciais** de autenticação para o GitHub Container Registry em um segredo. AWS Secrets Manager Você pode especificar um segredo existente ou usar o console do Amazon ECR para criar um novo segredo.

   1. Para usar um segredo existente, escolha **Usar um AWS segredo existente**. Em **Nome secreto**, use o menu suspenso para selecionar seu segredo existente e, em seguida, escolha **Avançar**.
**nota**  
Exibe Console de gerenciamento da AWS apenas segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo. O segredo também deve estar na mesma conta e região em que a regra de cache de pull-through foi criada.

   1. Para criar um novo segredo, escolha **Criar um AWS segredo**, faça o seguinte e escolha **Avançar**.

      1. Em **Nome secreto**, especifique um nome descritivo para o segredo. Os nomes de segredos devem conter de 1 a 512 caracteres Unicode.

      1. Para nome de **usuário do GitHub Container Registry**, especifique seu nome de usuário do GitHub Container Registry

      1. Para o token de **acesso do GitHub Container Registry, especifique seu token** de acesso do GitHub Container Registry. Para obter mais informações sobre a criação de um token de GitHub acesso, consulte [Gerenciando seus tokens de acesso pessoais](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) na GitHub documentação.

1. Na **Etapa 3: especificar uma página de destino**, para o **prefixo do repositório Amazon ECR**, especifique o namespace do repositório a ser usado ao armazenar em cache imagens retiradas do registro público de origem e escolha **Avançar**.

   Um namespace é preenchido por padrão, mas também é possível especificar um namespace personalizado.

1. Na página **Etapa 4: revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita a etapa anterior para cada cache de pull-through que deseja criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para o Registro de Contêiner do Microsoft Azure
<a name="w2aac28c27b9b7b7"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na **Etapa 1: especificar uma página de origem**, faça o seguinte.

   1. Em **Registro**, escolha **Microsoft Azure Container Registry**

   1. Em **URL do registro de origem**, especifique o nome do seu registro de contêiner do Microsoft Azure e escolha **Avançar**.
**Importante**  
Você só precisa especificar o prefixo, pois o sufixo `.azurecr.io` é preenchido em seu nome.

1. Na página **Etapa 2: configurar autenticação**, para credenciais do **Upstream, você deve armazenar suas credenciais** de autenticação para o Microsoft Azure Container Registry em um segredo AWS Secrets Manager . Você pode especificar um segredo existente ou usar o console do Amazon ECR para criar um novo segredo.

   1. Para usar um segredo existente, escolha **Usar um AWS segredo existente**. Em **Nome secreto**, use o menu suspenso para selecionar seu segredo existente e, em seguida, escolha **Avançar**.
**nota**  
Exibe Console de gerenciamento da AWS apenas segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo. O segredo também deve estar na mesma conta e região em que a regra de cache de pull-through foi criada.

   1. Para criar um novo segredo, escolha **Criar um AWS segredo**, faça o seguinte e escolha **Avançar**.

      1. Em **Nome secreto**, especifique um nome descritivo para o segredo. Os nomes de segredos devem conter de 1 a 512 caracteres Unicode.

      1. Para o nome de usuário do **Registro de Contêiner do Microsoft Azure, especifique seu nome de usuário** do Registro de Contêiner do Microsoft Azure.

      1. Para o token de acesso do **Registro de Contêiner do Microsoft Azure, especifique seu token de acesso** do Registro de Contêiner do Microsoft Azure. Para obter mais informações sobre a criação de um token de acesso ao Registro de Contêiner do Microsoft Azure, consulte [Criar token - portal](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal) na documentação do Microsoft Azure.

1. Na **Etapa 3: especificar uma página de destino**, para o **prefixo do repositório Amazon ECR**, especifique o namespace do repositório a ser usado ao armazenar em cache imagens retiradas do registro público de origem e escolha **Avançar**.

   Um namespace é preenchido por padrão, mas também é possível especificar um namespace personalizado.

1. Na página **Etapa 4: revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita a etapa anterior para cada cache de pull-through que deseja criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para GitLab Container Registry
<a name="w2aac28c27b9b7b9"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na **Etapa 1: Especificar uma página de origem**, em Registro, escolha Registro de GitLab contêiner, Avançar.

1. Na página **Etapa 2: Configurar autenticação**, para credenciais do **Upstream, você deve armazenar suas credenciais** de autenticação para o GitLab Container Registry em um segredo. AWS Secrets Manager Você pode especificar um segredo existente ou usar o console do Amazon ECR para criar um novo segredo.

   1. Para usar um segredo existente, escolha **Usar um AWS segredo existente**. Em **Nome secreto**, use o menu suspenso para selecionar seu segredo existente e, em seguida, escolha **Avançar**. Para obter mais informações sobre como criar um segredo no Secrets Manager usando o console do Secrets Manager, consulte [Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager](pull-through-cache-creating-secret.md).
**nota**  
Exibe Console de gerenciamento da AWS apenas segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo. O segredo também deve estar na mesma conta e região em que a regra de cache de pull-through foi criada.

   1. Para criar um novo segredo, escolha **Criar um AWS segredo**, faça o seguinte e escolha **Avançar**.

      1. Em **Nome secreto**, especifique um nome descritivo para o segredo. Os nomes de segredos devem conter de 1 a 512 caracteres Unicode.

      1. Para nome de **usuário do GitLab Container Registry**, especifique seu nome de usuário do GitLab Container Registry

      1. Para o token de **acesso do GitLab Container Registry, especifique seu token** de acesso do GitLab Container Registry. Para obter mais informações sobre a criação de um token de acesso ao GitLab Container Registry, consulte [Tokens de acesso pessoal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)[, Tokens de acesso de grupo](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) ou [Tokens de acesso ao projeto](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html), na GitLab documentação.

1. Na **Etapa 3: especificar uma página de destino**, para o **prefixo do repositório Amazon ECR**, especifique o namespace do repositório a ser usado ao armazenar em cache imagens retiradas do registro público de origem e escolha **Avançar**.

   Um namespace é preenchido por padrão, mas também é possível especificar um namespace personalizado.

1. Na página **Etapa 4: revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita a etapa anterior para cada cache de pull-through que deseja criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para registro privado do Amazon ECR em sua conta AWS
<a name="ecr-to-pull-images-from-other-regions-within-your-account"></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, selecione a região na qual você deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na página **Etapa 1: especificar upstream**, em **Registro**, selecione **Amazon ECR Private** e **Esta conta**. Em **Região**, selecione a região para o registro upstream do Amazon ECR e, em seguida, escolha **Avançar**.

1. Na página **Etapa 2: especificar namespaces**, em **Namespace do cache**, escolha se deseja criar repositórios de cache de pull-through com **Um prefixo específico** ou **Sem prefixo**. Se você selecionar **Um prefixo específico**, deverá especificar um nome de prefixo a ser usado como parte do namespace para armazenar imagens do registro upstream em cache.

1. Para o **Namespace upstream**, escolha se deseja extrair de **Um prefixo específico** que existe no registro upstream. Se você **Sem prefixo**, poderá extrair de qualquer repositório no registro upstream. Especifique o prefixo do repositório upstream, se solicitado, e escolha **Avançar**.
**nota**  
Para saber mais sobre como personalizar o cache e os namespaces upstream, consulte [Personalização de prefixos de repositório para cache de pull-through de ECR para ECR](pull-through-cache-private-wildcards.md).

1. Na página **Etapa 3: Revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita essas etapas para cada cache de pull-through que desejar criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para o registro privado do Amazon ECR de outra conta AWS
<a name="w2aac28c27b9b7c13"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na página **Etapa 1: especificar upstream**, em **Registro**, escolha **Amazon ECR Private** e **Entre contas**. Em **Região**, selecione a região para o registro upstream do Amazon ECR. **Em **Conta**, especifique o ID da AWS conta para o registro upstream do Amazon ECR e, em seguida, escolha Avançar.**

1. Na página **Etapa 2: especificar permissões**, em **Perfil do IAM**, selecione uma função a ser usada para obter acesso ao cache de pull-through entre contas e, em seguida, escolha **Criar**.
**nota**  
Certifique-se de selecionar o perfil do IAM que usa as permissões criadas em [Políticas do IAM necessárias para cache de pull-through ECR para ECR entre contas](pull-through-cache-private.md#pull-through-cache-private-permissions).

1. Na página **Etapa 3: especificar namespaces**, em **Namespace do cache**, escolha se deseja criar repositórios de cache de pull-through com **Um prefixo específico** ou **Sem prefixo**. Se você selecionar **Um prefixo específico**, deverá especificar um nome de prefixo a ser usado como parte do namespace para armazenar imagens do registro upstream em cache.

1. Para o **Namespace upstream**, escolha se deseja extrair de **Um prefixo específico** que existe no registro upstream. Se você **Sem prefixo**, poderá extrair de qualquer repositório no registro upstream. Especifique o prefixo do repositório upstream, se solicitado, e escolha **Avançar**.
**nota**  
Para saber mais sobre como personalizar o cache e os namespaces upstream, consulte [Personalização de prefixos de repositório para cache de pull-through de ECR para ECR](pull-through-cache-private-wildcards.md).

1. Na página **Etapa 4: revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita essas etapas para cada cache de pull-through que desejar criar. As regras de cache de pull-through são criadas separadamente para cada região.

### Para Chainguard Registry
<a name="w2aac28c27b9b7c15"></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, selecione a região para a qual deseja ajustar as configurações do registro privado.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página **Pull through cache configuration** (Configuração do cache de pull-through), escolha **Add rule** (Adicionar regra).

1. Na **Etapa 1: Especificar uma página de origem**, em Registro, escolha Chainguard Registry, Avançar.

1. Na página **Etapa 2: Configurar autenticação**, para credenciais **Upstream, você deve armazenar suas credenciais** de autenticação para o Chainguard Registry em um segredo. AWS Secrets Manager Você pode especificar um segredo existente ou usar o console do Amazon ECR para criar um novo segredo.

   1. Para usar um segredo existente, escolha **Usar um AWS segredo existente**. Em **Nome secreto**, use o menu suspenso para selecionar seu segredo existente e, em seguida, escolha **Avançar**. Para obter mais informações sobre como criar um segredo no Secrets Manager usando o console do Secrets Manager, consulte [Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager](pull-through-cache-creating-secret.md).
**nota**  
Exibe Console de gerenciamento da AWS apenas segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo. O segredo também deve estar na mesma conta e região em que a regra de cache de pull-through foi criada.

   1. Para criar um novo segredo, escolha **Criar um AWS segredo**, faça o seguinte e escolha **Avançar**.

      1. Em **Nome secreto**, especifique um nome descritivo para o segredo. Os nomes de segredos devem conter de 1 a 512 caracteres Unicode.

      1. Para nome de usuário do **Chainguard Registry, especifique seu nome de usuário** do Chainguard Registry.

      1. Para o token pull do **Chainguard Registry, especifique seu token pull** do Chainguard Registry. Para obter mais informações sobre como criar um token pull do Chainguard Registry, consulte [Autenticação com um token pull](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token) na documentação do Chainguard.

1. **Na **Etapa 3: Especificar uma página de destino**, para o **prefixo do repositório Amazon ECR**, especifique o namespace do repositório a ser usado ao armazenar em cache imagens retiradas do registro de origem e escolha Avançar.**

   Um namespace é preenchido por padrão, mas também é possível especificar um namespace personalizado.

1. Na página **Etapa 4: revisar e criar**, revise a configuração da regra de cache de pull-through e escolha **Criar**.

1. Repita a etapa anterior para cada cache de pull-through que deseja criar. As regras de cache pull-through são criadas separadamente para cada região.

## Para criar uma regra de cache de pull-through (AWS CLI)
<a name="pull-through-cache-creating-rule-cli"></a>

Use o AWS CLI comando [create-pull-through-cache-rule](https://docs.aws.amazon.com/cli/latest/reference/ecr/create-pull-through-cache-rule.html) para criar uma regra de cache pull through para um registro privado do Amazon ECR. Para registros de upstream que exigem autenticação com segredos, você deve armazenar as credenciais em um segredo do Secrets Manager. Para criar um segredo usando o console do Secrets Manager, consulte [Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager](pull-through-cache-creating-secret.md).

Os exemplos a seguir são fornecidos para cada registro upstream compatível.

### Para o Amazon ECR Public
<a name="w2aac28c27c11b7b1"></a>

O exemplo a seguir cria uma regra de cache de pull-through para o registro público do Amazon ECR. Ele especifica um prefixo de repositório de `ecr-public`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `ecr-public/upstream-repository-name`.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix ecr-public \
     --upstream-registry-url public.ecr.aws \
     --region us-east-2
```

### Para registro de contêineres Kubernetes
<a name="w2aac28c27c11b7b3"></a>

O exemplo a seguir cria uma regra de cache de pull-through para o registro público do Kubernetes. Ele especifica um prefixo de repositório de `kubernetes`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `kubernetes/upstream-repository-name`.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix kubernetes \
     --upstream-registry-url registry.k8s.io \
     --region us-east-2
```

### Para Quay
<a name="w2aac28c27c11b7b5"></a>

O exemplo a seguir cria uma regra de cache de pull-through para o registro público do Quay. Ele especifica um prefixo de repositório de `quay`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `quay/upstream-repository-name`.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix quay \
     --upstream-registry-url quay.io \
     --region us-east-2
```

### Para o Docker Hub
<a name="w2aac28c27c11b7b7"></a>

O exemplo a seguir cria uma regra de cache de pull-through para o registro do Docker Hub. Ele especifica um prefixo de repositório de `docker-hub`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `docker-hub/upstream-repository-name`. É necessário especificar o nome completo do Amazon Resource Name (ARN) do segredo que contém suas credenciais do Docker Hub.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix docker-hub \
     --upstream-registry-url registry-1.docker.io \
     --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \
     --region us-east-2
```

### Para GitHub Container Registry
<a name="w2aac28c27c11b7b9"></a>

O exemplo a seguir cria uma regra de cache pull through para o GitHub Container Registry. Ele especifica um prefixo de repositório de `github`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `github/upstream-repository-name`. Você deve especificar o Amazon Resource Name (ARN) completo do segredo que contém suas credenciais do GitHub Container Registry.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix github \
     --upstream-registry-url ghcr.io \
     --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \
     --region us-east-2
```

### Para o Registro de Contêiner do Microsoft Azure
<a name="w2aac28c27c11b7c11"></a>

O exemplo a seguir cria uma regra de cache de pull-through para o Microsoft Azure Container Registry. Ele especifica um prefixo de repositório de `azure`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `azure/upstream-repository-name`. É necessário especificar o nome completo do Amazon Resource Name (ARN) do segredo que contém suas credenciais do Docker Hub.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix azure \
     --upstream-registry-url myregistry.azurecr.io \
     --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \
     --region us-east-2
```

### Para GitLab Container Registry
<a name="w2aac28c27c11b7c13"></a>

O exemplo a seguir cria uma regra de cache pull through para o GitLab Container Registry. Ele especifica um prefixo de repositório de `gitlab`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `gitlab/upstream-repository-name`. Você deve especificar o Amazon Resource Name (ARN) completo do segredo que contém suas credenciais do GitLab Container Registry.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix gitlab \
     --upstream-registry-url registry.gitlab.com \
     --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \
     --region us-east-2
```

### Para registro privado do Amazon ECR em sua conta AWS
<a name="w2aac28c27c11b7c15"></a>

O exemplo a seguir cria uma regra de cache pull through para o registro privado do Amazon ECR para várias regiões dentro da mesma AWS conta. Ele especifica um prefixo de repositório de `ecr`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `ecr/upstream-repository-name`. 

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix ecr \
     --upstream-registry-url aws_account_id.dkr.ecr.region.amazonaws.com \
     --region us-east-2
```

### Para o registro privado do Amazon ECR de outra conta AWS
<a name="w2aac28c27c11b7c17"></a>

O exemplo a seguir cria uma regra de cache pull through para o registro privado do Amazon ECR para várias regiões dentro da mesma AWS conta. Ele especifica um prefixo de repositório de `ecr`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `ecr/upstream-repository-name`. É necessário especificar o nome do recurso da Amazon (ARN) completo do perfil do IAM com as permissões criadas em [Criar uma regra de cache de pull-through no Amazon ECR](#pull-through-cache-creating-rule).

```
aws ecr create-pull-through-cache-rule \
 --ecr-repository-prefix ecr \
 --upstream-registry-url aws_account_id.dkr.ecr.region.amazonaws.com \
 --custom-role-arn arn:aws:iam::aws_account_id:role/example-role \
 --region us-east-2
```

### Para Chainguard Registry
<a name="w2aac28c27c11b7c19"></a>

O exemplo a seguir cria uma regra de cache pull through para o Chainguard Registry. Ele especifica um prefixo de repositório de `chainguard`, o que faz com que cada repositório criado usando a regra de cache de pull-through receba o esquema de nomes de `chainguard/upstream-repository-name`. Você deve especificar o Amazon Resource Name (ARN) completo do segredo que contém suas credenciais do Chainguard Registry.

```
aws ecr create-pull-through-cache-rule \
     --ecr-repository-prefix chainguard \
     --upstream-registry-url cgr.dev \
     --credential-arn arn:aws:secretsmanager:us-east-2:111122223333:secret:ecr-pullthroughcache/example1234 \
     --region us-east-2
```

## Próximas etapas
<a name="pull-through-cache-creating-rule-next-steps"></a>

Depois de criar as regras de cache de pull-through, as próximas etapas são as seguintes:
+ Crie um modelo de criação de repositório. Um modelo de criação de repositório oferece a você o controle para definir as configurações a serem usadas para novos repositórios criados pelo Amazon ECR em seu nome durante uma ação do cache de pull-through. Para obter mais informações, 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).
+ Valide suas regras de cache de pull-through. Ao validar uma regra de cache de pull-through, o Amazon ECR faz uma conexão de rede com o registro upstream, verifica se ele pode acessar o segredo do Secrets Manager contendo as credenciais do registro upstream e se a autenticação foi bem-sucedida. Para obter mais informações, consulte [Validar regras de cache de pull-through no Amazon ECR](pull-through-cache-working-validating.md).
+ Comece a usar suas regras de cache de pull-through. Para obter mais informações, consulte [Extrair uma imagem com uma regra de cache de pull-through no Amazon ECR](pull-through-cache-working-pulling.md).

# Validar regras de cache de pull-through no Amazon ECR
<a name="pull-through-cache-working-validating"></a>

Após uma regra de cache de pull-through ser criada, para registros upstream que exigem autenticação, você pode validar o funcionamento correto da regra. Ao validar uma regra de cache de pull-through, o Amazon ECR faz uma conexão de rede com o registro upstream, verifica se ele pode acessar o segredo do Secrets Manager que contém as credenciais do registro upstream e verifica se a autenticação teve êxito.

Antes de começar a trabalhar com as regras de cache de pull-through, verifique se você tem as permissões adequadas do IAM. Para obter mais informações, consulte [Permissões do IAM necessárias para sincronizar um registro upstream com um registro privado do Amazon ECR](pull-through-cache-iam.md).

## Para validar uma regra de cache de pull-through (Console de gerenciamento da AWS)
<a name="pull-through-cache-working-verifying-console"></a>

Os seguintes passos mostram como validar uma regra de cache de pull-through usando o console do Amazon ECR.

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 que contém a regra do cache de pull-through a ser validada.

1. No painel de navegação, escolha **Private registry** (Registro privado), **Pull through cache** (Cache de pull-through).

1. Na página de **Configuração do cache de pull-through**, selecione a regra de pull through cache para validar. Em seguida, use o menu suspenso **Ações** e escolha **Exibir detalhes**.

1. Na página de detalhes da regra de cache de pull-through, use o menu suspenso **Ações** e escolha **Verificar autenticação**. O Amazon ECR exibirá um banner com o resultado.

1. Repita essas etapas para cada regra de cache de pull-through que deseja validar.

## Para validar uma regra de cache de pull-through (AWS CLI)
<a name="pull-through-cache-working-verifying-cli"></a>

O AWS CLI comando [validate-pull-through-cache-rule](https://docs.aws.amazon.com/cli/latest/reference/ecr/validate-pull-through-cache-rule.html) é usado para validar uma regra de cache pull through para um registro privado do Amazon ECR. O exemplo a seguir usa o prefixo do `ecr-public` namespace. Substitua esse valor pelo valor do prefixo para validação da regra de cache de pull-through.

```
aws ecr validate-pull-through-cache-rule \
     --ecr-repository-prefix ecr-public \
     --region us-east-2
```

Na resposta, o parâmetro `isValid` indica se a validação foi bem-sucedida ou não. Se`true`, o Amazon ECR conseguisse acessar o registro upstream e a autenticação fosse bem-sucedida. Se `false` houve um problema e a validação falhou. O parâmetro `failure` indica a causa.

# Extrair uma imagem com uma regra de cache de pull-through no Amazon ECR
<a name="pull-through-cache-working-pulling"></a>

Os exemplos a seguir mostram a sintaxe do comando a ser usada ao extrair uma imagem usando uma regra de cache de pull- through. Se você receber um erro ao extrair uma imagem upstream usando uma regra de cache de pull-through, consulte [Solução de problemas de cache de pull-through no Amazon ECR](error-pullthroughcache.md) para ver os erros mais comuns e como resolvê-los.

Antes de começar a trabalhar com as regras de cache de pull-through, verifique se você tem as permissões adequadas do IAM. Para obter mais informações, consulte [Permissões do IAM necessárias para sincronizar um registro upstream com um registro privado do Amazon ECR](pull-through-cache-iam.md).

**nota**  
Os exemplos a seguir usam os valores de namespace padrão do repositório Amazon ECR que eles usam. Console de gerenciamento da AWS Certifique-se de usar o URI do repositório privado do Amazon ECR que você configurou.

## Para o Amazon ECR Public
<a name="w2aac28c31b9b1"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/ecr-public/repository_name/image_name:tag
```

## Registro de contêineres Kubernetes
<a name="w2aac28c31b9b3"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/kubernetes/repository_name/image_name:tag
```

## Quay
<a name="w2aac28c31b9b5"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/quay/repository_name/image_name:tag
```

## Docker Hub
<a name="w2aac28c31b9b7"></a>

Para imagens oficiais do Docker Hub:

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag
```

**nota**  
Para imagens oficiais do Docker Hub, o orefixo `/library` deve ser incluído. Para todos os outros repositórios do Docker Hub, você deve omitir o prefixo `/library`.

Para todas as outras imagens do Docker Hub:

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/repository_name/image_name:tag
```

## GitHub Registro de contêiner
<a name="w2aac28c31b9b9"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/github/repository_name/image_name:tag
```

## Microsoft Azure Container Registry
<a name="w2aac28c31b9c11"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/azure/repository_name/image_name:tag
```

## GitLab Registro de contêiner
<a name="w2aac28c31b9c13"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/gitlab/repository_name/image_name:tag
```

## Registro Chainguard
<a name="w2aac28c31b9c15"></a>

```
docker pull aws_account_id.dkr.ecr.region.amazonaws.com/chainguard/repository_name/image_name:tag
```

# Armazenando suas credenciais do repositório upstream em segredo AWS Secrets Manager
<a name="pull-through-cache-creating-secret"></a>

Ao criar uma regra de cache de pull-through para um repositório upstream que requer autenticação, você deve armazenar as credenciais em um segredo do Secrets Manager. Pode haver um custo para usar um segredo do Secrets Manager. Para obter mais informações, consulte [Preços do AWS Secrets Manager](https://aws.amazon.com/secrets-manager/pricing/).

Os procedimentos a seguir explicam como criar um segredo do Secrets Manager para cada repositório upstream compatível. Opcionalmente, você pode usar o fluxo de trabalho para criar regras de cache de pull-through no console do Amazon ECR para criar o segredo, em vez de criar o segredo usando o console do Secrets Manager. Para obter mais informações, consulte [Criar uma regra de cache de pull-through no Amazon ECR](pull-through-cache-creating-rule.md).

------
#### [ Docker Hub ]

**Para criar um segredo do Secrets Manager para suas credenciais do Docker Hub (Console de gerenciamento da AWS)**Para criar um segredo do Secrets Manager (Console de gerenciamento da AWS)

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selecione **Armazenar um novo segredo**.

1. Na página **Escolher o tipo de segredo**, faça o seguinte:

   1. Em **Tipo de segredo**, escolha **Outro tipo de segredo**.

   1. Em **pares de chave/valor**, crie duas linhas para suas credenciais do Docker Hub. É possível armazenar até 65536 bytes no segredo.

      1. Para o primeiro key/value par, especifique `username` como chave e seu nome de usuário do Docker Hub como valor.

      1. Para o segundo key/value par, especifique `accessToken` como chave e seu token de acesso do Docker Hub como valor. Para obter mais informações sobre como criar um token de acesso do Docker Hub, consulte [Criar e gerenciar tokens de acesso](https://docs.docker.com/security/for-developers/access-tokens/) na documentação do Docker.

   1. Em **Chave de criptografia**, mantenha o AWS KMS key valor padrão **aws/secretsmanager** e escolha **Avançar**. Não há custo para o uso dessa chave. Para obter mais informações, consulte [Criptografia e decodificação secretas no Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) no *Guia do usuário do AWS Secrets Manager *.
**Importante**  
Você deve usar a chave de `aws/secretsmanager` criptografia padrão para criptografar seu segredo. O Amazon ECR não oferece suporte ao uso de uma chave gerenciada pelo cliente (CMK) para isso.

1. Na página **Configurar segredo**, faça o seguinte:

   1. Insira um **Secret name** (Nome de segredo) descritivo e uma **Description** (Descrição). Os nomes de segredos devem conter de 1 a 512 caracteres Unicode e ter prefixo com `ecr-pullthroughcache/`.
**Importante**  
O Amazon ECR exibe Console de gerenciamento da AWS somente segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo.

   1. (Opcional) Na seção **Tags**, adicione tags ao segredo. Para estratégias de marcação, consulte [os segredos do Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) no *Guia do usuário do AWS Secrets Manager *. Não armazene informações sigilosas em tags porque elas não são criptografadas.

   1. (Opcional) Em **Resource permissions** (Permissões do recurso), para adicionar uma política de recursos ao segredo, escolha **Edit permissions** (Editar permissões). Para obter mais informações, consulte [Anexo de uma política de permissões a um segredo do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) no *Guia do usuário do AWS Secrets Manager *.

   1. (Opcional) Em **Replicar segredo**, para replicar seu segredo para outro Região da AWS, escolha **Replicar** segredo. É possível replicar seu segredo agora ou voltar e replicá-lo mais tarde. Para obter mais informações, consulte [Replicar um segredo para outras Regiões](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) no *Guia do usuário do AWS Secrets Manager *.

   1. Escolha **Próximo**.

1. (Opcional) Na página **Configure rotation** (Configurar alternância), habilite alternância automática para os segredos. Você também pode manter a alternância desabilitada por enquanto e habilitá-la mais tarde. Para obter mais informações, consulte o [Guia do usuário do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) no *Guia do usuário do AWS Secrets Manager *. Escolha **Próximo**.

1. Na página **Review** (Revisar), revise os detalhes do segredo e escolha **Store** (Armazenar).

   O Secrets Manager retorna para a lista de segredos. Se o segredo não aparecer, escolha Refresh (Atualizar).

------
#### [ GitHub Container Registry ]

**Para criar um segredo do Secrets Manager para suas credenciais do GitHub Container Registry ()Console de gerenciamento da AWS**Para criar um segredo do Secrets Manager (Console de gerenciamento da AWS)

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selecione **Armazenar um novo segredo**.

1. Na página **Escolher o tipo de segredo**, faça o seguinte:

   1. Em **Tipo de segredo**, escolha **Outro tipo de segredo**.

   1. Em **pares de chave/valor**, crie duas linhas para suas GitHub credenciais. É possível armazenar até 65536 bytes no segredo.

      1. Para o primeiro key/value par, especifique `username` como chave e seu GitHub nome de usuário como valor.

      1. Para o segundo key/value par, especifique `accessToken` como chave e seu token de GitHub acesso como valor. Para obter mais informações sobre a criação de um token de GitHub acesso, consulte [Gerenciando seus tokens de acesso pessoais](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) na GitHub documentação.

   1. Em **Chave de criptografia**, mantenha o AWS KMS key valor padrão **aws/secretsmanager** e escolha **Avançar**. Não há custo para o uso dessa chave. Para obter mais informações, consulte [Criptografia e decodificação secretas no Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) no *Guia do usuário do AWS Secrets Manager *.
**Importante**  
Você deve usar a chave de `aws/secretsmanager` criptografia padrão para criptografar seu segredo. O Amazon ECR não oferece suporte ao uso de uma chave gerenciada pelo cliente (CMK) para isso.

1. Na página **Configure secret** (Configurar segredo), faça o seguinte:

   1. Insira um **Secret name** (Nome de segredo) descritivo e uma **Description** (Descrição). Os nomes de segredos devem conter de 1 a 512 caracteres Unicode e ter prefixo com `ecr-pullthroughcache/`.
**Importante**  
O Amazon ECR exibe Console de gerenciamento da AWS somente segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo.

   1. (Opcional) Na seção **Tags**, adicione tags ao segredo. Para estratégias de marcação, consulte [os segredos do Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) no *Guia do usuário do AWS Secrets Manager *. Não armazene informações sigilosas em tags porque elas não são criptografadas.

   1. (Opcional) Em **Resource permissions** (Permissões do recurso), para adicionar uma política de recursos ao segredo, escolha **Edit permissions** (Editar permissões). Para obter mais informações, consulte [Anexo de uma política de permissões a um segredo do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) no *Guia do usuário do AWS Secrets Manager *.

   1. (Opcional) Em **Replicar segredo**, para replicar seu segredo para outro Região da AWS, escolha **Replicar** segredo. É possível replicar seu segredo agora ou voltar e replicá-lo mais tarde. Para obter mais informações, consulte [Replicar um segredo para outras Regiões](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) no *Guia do usuário do AWS Secrets Manager *.

   1. Escolha **Próximo**.

1. (Opcional) Na página **Configure rotation** (Configurar alternância), habilite alternância automática para os segredos. Você também pode manter a alternância desabilitada por enquanto e habilitá-la mais tarde. Para obter mais informações, consulte o [Guia do usuário do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) no *Guia do usuário do AWS Secrets Manager *. Escolha **Próximo**.

1. Na página **Review** (Revisar), revise os detalhes do segredo e escolha **Store** (Armazenar).

   O Secrets Manager retorna para a lista de segredos. Se o segredo não aparecer, escolha Refresh (Atualizar).

------
#### [ Microsoft Azure Container Registry ]

**Para criar um segredo do Secrets Manager para suas credenciais do Microsoft Azure Container Registry (Console de gerenciamento da AWS)**Para criar um segredo do Secrets Manager (Console de gerenciamento da AWS)

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selecione **Armazenar um novo segredo**.

1. Na página **Escolher o tipo de segredo**, faça o seguinte:

   1. Em **Tipo de segredo**, escolha **Outro tipo de segredo**.

   1. Em **pares de chave/valor**, crie duas linhas para suas credenciais do GitHub. É possível armazenar até 65536 bytes no segredo.

      1. Para o primeiro key/value par, especifique `username` como chave e seu nome de usuário do Registro de Contêiner do Microsoft Azure como valor.

      1. Para o segundo key/value par, especifique `accessToken` como chave e seu token de acesso ao Registro de Contêiner do Microsoft Azure como valor. Para obter mais informações sobre a criação de um token de acesso do Microsoft Azure, consulte [Criar token - portal](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal) na documentação do Microsoft Azure.

   1. Em **Chave de criptografia**, mantenha o AWS KMS key valor padrão **aws/secretsmanager** e escolha **Avançar**. Não há custo para o uso dessa chave. Para obter mais informações, consulte [Criptografia e decodificação secretas no Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) no *Guia do usuário do AWS Secrets Manager *.
**Importante**  
Você deve usar a chave de `aws/secretsmanager` criptografia padrão para criptografar seu segredo. O Amazon ECR não oferece suporte ao uso de uma chave gerenciada pelo cliente (CMK) para isso.

1. Na página **Configure secret** (Configurar segredo), faça o seguinte:

   1. Insira um **Secret name** (Nome de segredo) descritivo e uma **Description** (Descrição). Os nomes de segredos devem conter de 1 a 512 caracteres Unicode e ter prefixo com `ecr-pullthroughcache/`.
**Importante**  
O Amazon ECR exibe Console de gerenciamento da AWS somente segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo.

   1. (Opcional) Na seção **Tags**, adicione tags ao segredo. Para estratégias de marcação, consulte [os segredos do Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) no *Guia do usuário do AWS Secrets Manager *. Não armazene informações sigilosas em tags porque elas não são criptografadas.

   1. (Opcional) Em **Resource permissions** (Permissões do recurso), para adicionar uma política de recursos ao segredo, escolha **Edit permissions** (Editar permissões). Para obter mais informações, consulte [Anexo de uma política de permissões a um segredo do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) no *Guia do usuário do AWS Secrets Manager *.

   1. (Opcional) Em **Replicar segredo**, para replicar seu segredo para outro Região da AWS, escolha **Replicar** segredo. É possível replicar seu segredo agora ou voltar e replicá-lo mais tarde. Para obter mais informações, consulte [Replicar um segredo para outras Regiões](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) no *Guia do usuário do AWS Secrets Manager *.

   1. Escolha **Próximo**.

1. (Opcional) Na página **Configure rotation** (Configurar alternância), habilite alternância automática para os segredos. Você também pode manter a alternância desabilitada por enquanto e habilitá-la mais tarde. Para obter mais informações, consulte o [Guia do usuário do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) no *Guia do usuário do AWS Secrets Manager *. Escolha **Próximo**.

1. Na página **Review** (Revisar), revise os detalhes do segredo e escolha **Store** (Armazenar).

   O Secrets Manager retorna para a lista de segredos. Se o segredo não aparecer, escolha Refresh (Atualizar).

------
#### [ GitLab Container Registry ]

**Para criar um segredo do Secrets Manager para suas credenciais do GitLab Container Registry ()Console de gerenciamento da AWS**Para criar um segredo do Secrets Manager (Console de gerenciamento da AWS)

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selecione **Armazenar um novo segredo**.

1. Na página **Escolher o tipo de segredo**, faça o seguinte:

   1. Em **Tipo de segredo**, escolha **Outro tipo de segredo**.

   1. Em **pares de chave/valor**, crie duas linhas para suas GitLab credenciais. É possível armazenar até 65536 bytes no segredo.

      1. Para o primeiro key/value par, especifique `username` como chave e seu nome de usuário do GitLab Container Registry como valor.

      1. Para o segundo key/value par, especifique `accessToken` como chave e seu token de acesso do GitLab Container Registry como valor. Para obter mais informações sobre a criação de um token de acesso ao GitLab Container Registry, consulte [Tokens de acesso pessoal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)[, Tokens de acesso de grupo](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) ou [Tokens de acesso ao projeto](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html), na GitLab documentação.

   1. Em **Chave de criptografia**, mantenha o AWS KMS key valor padrão **aws/secretsmanager** e escolha **Avançar**. Não há custo para o uso dessa chave. Para obter mais informações, consulte [Criptografia e decodificação secretas no Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) no *Guia do usuário do AWS Secrets Manager *.
**Importante**  
Você deve usar a chave de `aws/secretsmanager` criptografia padrão para criptografar seu segredo. O Amazon ECR não oferece suporte ao uso de uma chave gerenciada pelo cliente (CMK) para isso.

1. Na página **Configure secret** (Configurar segredo), faça o seguinte:

   1. Insira um **Secret name** (Nome de segredo) descritivo e uma **Description** (Descrição). Os nomes de segredos devem conter de 1 a 512 caracteres Unicode e ter prefixo com `ecr-pullthroughcache/`.
**Importante**  
O Amazon ECR exibe Console de gerenciamento da AWS somente segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo.

   1. (Opcional) Na seção **Tags**, adicione tags ao segredo. Para estratégias de marcação, consulte [os segredos do Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) no *Guia do usuário do AWS Secrets Manager *. Não armazene informações sigilosas em tags porque elas não são criptografadas.

   1. (Opcional) Em **Resource permissions** (Permissões do recurso), para adicionar uma política de recursos ao segredo, escolha **Edit permissions** (Editar permissões). Para obter mais informações, consulte [Anexo de uma política de permissões a um segredo do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) no *Guia do usuário do AWS Secrets Manager *.

   1. (Opcional) Em **Replicar segredo**, para replicar seu segredo para outro Região da AWS, escolha **Replicar** segredo. É possível replicar seu segredo agora ou voltar e replicá-lo mais tarde. Para obter mais informações, consulte [Replicar um segredo para outras Regiões](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) no *Guia do usuário do AWS Secrets Manager *.

   1. Escolha **Próximo**.

1. (Opcional) Na página **Configure rotation** (Configurar alternância), habilite alternância automática para os segredos. Você também pode manter a alternância desabilitada por enquanto e habilitá-la mais tarde. Para obter mais informações, consulte o [Guia do usuário do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) no *Guia do usuário do AWS Secrets Manager *. Escolha **Próximo**.

1. Na página **Review** (Revisar), revise os detalhes do segredo e escolha **Store** (Armazenar).

   O Secrets Manager retorna para a lista de segredos. Se o segredo não aparecer, escolha Refresh (Atualizar).

------
#### [ Chainguard Registry ]

**Para criar um segredo do Secrets Manager para suas credenciais do Chainguard ()Console de gerenciamento da AWS**Para criar um segredo do Secrets Manager (Console de gerenciamento da AWS)

1. Abra o console do Secrets Manager em [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Selecione **Armazenar um novo segredo**.

1. Na página **Escolher o tipo de segredo**, faça o seguinte:

   1. Em **Tipo de segredo**, escolha **Outro tipo de segredo**.

   1. Em **pares de chave/valor**, crie duas linhas para suas credenciais do Chainguard. É possível armazenar até 65536 bytes no segredo.

      1. Para o primeiro key/value par, especifique `username` como chave e seu nome de usuário do Chainguard Registry como valor.

      1. Para o segundo key/value par, especifique `accessToken` como chave e seu token de acesso ao Chainguard Registry como valor. Para obter mais informações sobre como criar um token pull do Chainguard Registry, consulte [Autenticação com um token pull](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token) na documentação do Chainguard.

   1. Em **Chave de criptografia**, mantenha o AWS KMS key valor padrão **aws/secretsmanager** e escolha **Avançar**. Não há custo para o uso dessa chave. Para obter mais informações, consulte [Criptografia e decodificação secretas no Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) no *Guia do usuário do AWS Secrets Manager *.
**Importante**  
Você deve usar a chave de `aws/secretsmanager` criptografia padrão para criptografar seu segredo. O Amazon ECR não oferece suporte ao uso de uma chave gerenciada pelo cliente (CMK) para isso.

1. Na página **Configure secret** (Configurar segredo), faça o seguinte:

   1. Insira um **Secret name** (Nome de segredo) descritivo e uma **Description** (Descrição). Os nomes de segredos devem conter de 1 a 512 caracteres Unicode e ter prefixo com `ecr-pullthroughcache/`.
**Importante**  
O Amazon ECR exibe Console de gerenciamento da AWS somente segredos do Secrets Manager com nomes usando o `ecr-pullthroughcache/` prefixo.

   1. (Opcional) Na seção **Tags**, adicione tags ao segredo. Para estratégias de marcação, consulte [os segredos do Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) no *Guia do usuário do AWS Secrets Manager *. Não armazene informações sigilosas em tags porque elas não são criptografadas.

   1. (Opcional) Em **Resource permissions** (Permissões do recurso), para adicionar uma política de recursos ao segredo, escolha **Edit permissions** (Editar permissões). Para obter mais informações, consulte [Anexo de uma política de permissões a um segredo do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) no *Guia do usuário do AWS Secrets Manager *.

   1. (Opcional) Em **Replicar segredo**, para replicar seu segredo para outro Região da AWS, escolha **Replicar** segredo. É possível replicar seu segredo agora ou voltar e replicá-lo mais tarde. Para obter mais informações, consulte [Replicar um segredo para outras Regiões](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) no *Guia do usuário do AWS Secrets Manager *.

   1. Escolha **Próximo**.

1. (Opcional) Na página **Configure rotation** (Configurar alternância), habilite alternância automática para os segredos. Você também pode manter a alternância desabilitada por enquanto e habilitá-la mais tarde. Para obter mais informações, consulte o [Guia do usuário do Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) no *Guia do usuário do AWS Secrets Manager *. Escolha **Próximo**.

1. Na página **Review** (Revisar), revise os detalhes do segredo e escolha **Store** (Armazenar).

   O Secrets Manager retorna para a lista de segredos. Se o segredo não aparecer, escolha Refresh (Atualizar).

------

# Personalização de prefixos de repositório para cache de pull-through de ECR para ECR
<a name="pull-through-cache-private-wildcards"></a>

As regras de cache pull-through oferecem suporte tanto ao **prefixo do repositório ecr** quanto ao **prefixo do repositório upstream**. O **prefixo do repositório ecr** é o prefixo do namespace do repositório no registro de cache do Amazon ECR que está associado à regra. Todos os repositórios que usam esse prefixo se tornam repositórios habilitados por cache para pull-through para o registro upstream definido na regra. Por exemplo, um prefixo de `prod` se aplica a todos os repositórios que começam com `prod/`. Para aplicar um modelo a todos os repositórios em seu registro que não têm uma regra para cache de pull-through associada, use `ROOT` como prefixo.

**Importante**  
Sempre há uma suposição `/` aplicada ao fim do prefixo. Se você especificar `ecr-public` como prefixo, o Amazon ECR tratará isso como `ecr-public/`.

O **prefixo do repositório upstream** corresponde ao nome do repositório upstream. Por padrão, ele é definido como `ROOT`, o que permite a correspondência com qualquer repositório upstream. Você pode definir o **prefixo do repositório upstream** somente quando o prefixo do repositório Amazon ECR não tiver o valor `ROOT`.

A tabela a seguir mostra o mapeamento entre nomes de repositórios de cache e nomes de repositórios upstream com base em suas configurações de prefixo nas regras de cache de pull-through.


|  Namespace do cache  |  Namespace upstream  |  Relacionamento de mapeamento (repositório de cache → repositório upstream)  | 
| --- | --- | --- | 
|  ecr-public  |  ROOT (padrão)  |  `ecr-public/my-app/image1` → `my-app/image1` `ecr-public/my-app/image2` → `my-app/image2`  | 
|  ROOT  |  ROOT  |  `my-app/image1` → `my-app/image1`  | 
|  team-a  |  team-a  |  `team-a/myapp/image1` → `team-a/myapp/image1`  | 
|  my-app  |  aplicação upstream  |  `my-app/image1` → `upstream-app/image1`  | 

# Solução de problemas de cache de pull-through no Amazon ECR
<a name="error-pullthroughcache"></a>

Ao extrair uma imagem upstream usando uma regra de cache pull-through, os erros a seguir são os mais comuns que você pode receber.

**Repository does not exist**  
Um erro que indica que o repositório não existe é mais frequentemente causado pela inexistência do repositório no seu registro privado do Amazon ECR ou porque a permissão `ecr:CreateRepository` não foi concedida à entidade principal do IAM que está extraindo a imagem upstream. Para resolver esse erro, você deve verificar se o URI do repositório no comando pull está correto, as permissões do IAM necessárias foram concedidas à entidade do IAM que está extraindo a imagem upstream ou se o repositório para a imagem upstream a ser enviada foi criado no registro privado do Amazon ECR antes da extração da imagem upstream. Para obter mais informações sobre as permissões necessárias do IAM, consulte [Permissões do IAM necessárias para sincronizar um registro upstream com um registro privado do Amazon ECR](pull-through-cache-iam.md)  
A seguir, temos um exemplo desse erro.  

```
Error response from daemon: repository 111122223333.dkr.ecr.us-east-1.amazonaws.com/ecr-public/amazonlinux/amazonlinux not found: name unknown: The repository with name 'ecr-public/amazonlinux/amazonlinux' does not exist in the registry with id '111122223333'
```

**Requested image not found**  
Um erro que indica que o repositório não pode ser encontrado é mais frequentemente causado pela inexistência do repositório upstream ou porque a permissão `ecr:BatchImportUpstreamImage` não foi concedida à entidade principal do IAM que está extraindo a imagem upstream, mas o repositório já está sendo criado no seu registro privado do Amazon ECR. Para resolver esse erro, você deve verificar se o nome da imagem upstream e da etiqueta da imagem está correto, se ela existe e se as permissões do IAM necessárias foram concedidas à entidade principal do IAM que está extraindo a imagem upstream. Para obter mais informações sobre as permissões necessárias do IAM, consulte [Permissões do IAM necessárias para sincronizar um registro upstream com um registro privado do Amazon ECR](pull-through-cache-iam.md).  
A seguir, temos um exemplo desse erro.  

```
Error response from daemon: manifest for 111122223333.dkr.ecr.us-east-1.amazonaws.com/ecr-public/amazonlinux/amazonlinux:latest not found: manifest unknown: Requested image not found
```

**403 Forbidden when pulling from a Docker Hub repository**  
Ao puxar de um repositório Docker Hub marcado como uma **imagem oficial do Docker**, você deve incluir o `/library/` no URI que você usa. Por exemplo, .`aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag` Se você omitir a `/library/` das imagens oficiais do Docker Hub, um erro `403 Forbidden` será retornado quando você tentar extrair a imagem usando uma regra de cache de pull-through. Para obter mais informações, consulte [Extrair uma imagem com uma regra de cache de pull-through no Amazon ECR](pull-through-cache-working-pulling.md).  
A seguir, temos um exemplo desse erro.  

```
Error response from daemon: failed to resolve reference "111122223333.dkr.ecr.us-west-2.amazonaws.com/docker-hub/amazonlinux:2023": pulling from host 111122223333.dkr.ecr.us-west-2.amazonaws.com failed with status code [manifests 2023]: 403 Forbidden
```