

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Sincronización de un registro principal con un registro privado de Amazon ECR
<a name="pull-through-cache"></a>

Mediante las reglas de caché de extracción, puede sincronizar el contenido de un registro principal con su registro privado de Amazon ECR.

Amazon ECR permite actualmente crear reglas de caché de extracción para los siguientes registros ascendentes:
+ Amazon ECR Public, el registro de imágenes de contenedores de Kubernetes y Quay (no requiere autenticación)
+ Docker Hub, Microsoft Azure Container Registry, GitHub Container Registry, GitLab Container Registry y Chainguard Registry (requiere autenticación con AWS Secrets Manager secreto)
+ Amazon ECR (requiere autenticación con la función de AWS IAM)

En el GitLab caso de Container Registry, Amazon ECR solo admite la extracción GitLab de memoria caché con la oferta de software como servicio (SaaS). [Para obtener más información sobre el uso GitLab de la oferta de SaaS, visite GitLab .com.](https://docs.gitlab.com/17.5/subscriptions/choosing_subscription/)

En el caso de los registros originales que requieren autenticación con secretos (como Docker Hub), debe almacenar sus credenciales en secreto. AWS Secrets Manager Utilice la consola de Amazon ECR para crear secretos de Secrets Manager para cada registro ascendente autenticado. Para obtener más información acerca de la creación de un secreto de Secrets Manager mediante la consola de Secrets Manager, consulte [Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager](pull-through-cache-creating-secret.md).

Para Amazon ECR, debe crear un rol de IAM si los registros de Amazon ECR ascendentes y descendentes pertenecen a cuentas diferentes. AWS Para obtener más información sobre cómo crear un rol de IAM, consulte [Las políticas de IAM son obligatorias para transferir el caché de extracción de ECR a ECR entre cuentas](pull-through-cache-private.md#pull-through-cache-private-permissions).

Después de crear una regla de caché de extracción para el registro ascendente, extraiga una imagen de ese registro mediante el URI del registro privado de Amazon ECR. A continuación, Amazon ECR crea un repositorio y guarda en caché la imagen en su registro privado. En el caso de la siguiente solicitud de extracción de la imagen en caché con una etiqueta determinada, Amazon ECR verificará el registro ascendente para una nueva versión de la imagen con esa etiqueta específica e intentará actualizar la imagen en su registro privado al menos una vez cada 24 horas.

## Plantillas de creación de repositorios
<a name="pull-through-cache-respository-creation-template"></a>

Amazon ECR ha agregado soporte para las plantillas de creación de repositorios, lo que le permite especificar las configuraciones iniciales de los nuevos repositorios creados por Amazon ECR en su nombre mediante reglas de caché de extracción. Cada plantilla contiene un prefijo de espacio de nombres de repositorio que se utiliza para hacer coincidir los nuevos repositorios con una plantilla específica. Las plantillas pueden especificar la configuración de todos los ajustes del repositorio, incluidas las políticas de acceso basadas en los recursos, la inmutabilidad de las etiquetas, el cifrado y las políticas de ciclo de vida. La configuración de una plantilla de creación de repositorios solo se aplica durante la creación del repositorio y no tiene ningún efecto en los repositorios existentes ni en los repositorios creados mediante cualquier otro método. Para obtener más información, consulte [Plantillas para controlar los repositorios creados durante una acción de extracción, creación mediante inserción o replicación](repository-creation-templates.md).

## Consideraciones para utilizar las reglas de caché de extracción
<a name="pull-through-cache-considerations"></a>

Tenga en cuenta lo siguiente al utilizar las reglas de caché de extracción de Amazon ECR.
+ La creación de reglas de caché de extracción no se admite en las siguientes regiones.
  + China (Pekín) (`cn-north-1`)
  + China (Ningxia) (`cn-northwest-1`)
  + AWS GovCloud (Este de EE. UU.) (`us-gov-east-1`)
  + AWS GovCloud (EEUU-Oeste) () `us-gov-west-1`
+ AWS Lambda no admite la extracción de imágenes de contenedores de Amazon ECR mediante una regla de extracción de caché.
+ Al extraer imágenes mediante caché de extracción, los puntos de conexión de servicio de FIPS de Amazon ECR no se admiten la primera vez que se extrae una imagen. Sin embargo, el uso de los puntos de conexión de servicio de FIPS de Amazon ECR funciona en extracciones posteriores.
+ En el caso de los repositorios ascendentes que requieren autenticación, cuando se extrae una imagen a través del URI del registro privado de Amazon ECR por primera vez o para actualizar la caché, las extracciones de imágenes las inicia el usuario asociado a las credenciales configuradas en la regla de extracción de memoria caché. Las extracciones posteriores devolverán la imagen directamente desde la memoria caché del registro privado del cliente.
+ En el caso de los repositorios ascendentes que no requieren autenticación, cuando se extrae una imagen a través del URI del registro privado de Amazon ECR, las extracciones de imágenes se inician mediante direcciones IP. AWS 
+ Cuando una imagen almacenada en caché se extrae a través del URI del registro privado de Amazon ECR, Amazon ECR comprueba el repositorio ascendente al menos una vez cada 24 horas para verificar si la imagen almacenada en caché es la última versión. Si hay una imagen más reciente en el registro original, Amazon ECR intenta actualizar la imagen en caché. Este temporizador se basa en la última extracción de la imagen almacenada en caché.
+ Si Amazon ECR no puede actualizar la imagen desde el registro original por algún motivo y se extrae la imagen, se seguirá extrayendo la última imagen en caché.
+ Al crear el secreto de Secrets Manager que contiene las credenciales de registro anteriores, el nombre del secreto debe usar el `ecr-pullthroughcache/` prefijo. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción.
+ Cuando se extrae una imagen multiarquitectura mediante una regla de caché de extracción, la lista de manifiestos y cada imagen a la que se hace referencia en la lista de manifiestos se extraen al repositorio de Amazon ECR. Si solo desea extraer una arquitectura específica, puede extraer la imagen mediante el resumen de imagen o la etiqueta asociada a la arquitectura en lugar de la etiqueta asociada a la lista de manifiestos.
+ Amazon ECR utiliza un rol de IAM vinculada al servicio, que proporciona los permisos necesarios para que Amazon ECR cree el repositorio, recupere el valor secreto de Secrets Manager para la autenticación y envíe la imagen almacenada en caché en su nombre. El rol de IAM vinculado a servicios se crea automáticamente cuando se crea una regla de caché de extracción. Para obtener más información, consulte [Rol vinculado a servicios de Amazon ECR para la caché de extracción](slr-pullthroughcache.md).
+ De forma predeterminada, la entidad principal de IAM que extrae la imagen almacenada en caché tiene los permisos otorgados a través de su política de IAM. Puede utilizar la política de permisos de registro privado de Amazon ECR para ampliar los permisos de una entidad de IAM. Para obtener más información, consulte [Uso de permisos de registro](pull-through-cache-iam.md#pull-through-cache-registry-permissions).
+ Los repositorios de Amazon ECR creados mediante el flujo de trabajo de caché de extracción se tratan como cualquier otro repositorio de Amazon ECR. Se admiten todas las características del repositorio, como la replicación y el escaneo de imágenes.
+ Cuando Amazon ECR crea un repositorio nuevo en su nombre mediante una acción de caché de extracción, se aplican las siguientes configuraciones predeterminadas al repositorio, a menos que haya una plantilla de creación de repositorios coincidente. Puede utilizar una plantilla de creación de repositorios para definir la configuración que se aplicará a los repositorios creados por Amazon ECR en su nombre. Para obtener más información, consulte [Plantillas para controlar los repositorios creados durante una acción de extracción, creación mediante inserción o replicación](repository-creation-templates.md).
  + Inmutabilidad de la etiqueta: la inmutabilidad de la etiqueta especifica si las etiquetas de imagen se pueden sobrescribir. Por defecto, las etiquetas de imagen son mutables (se pueden sobrescribir). Puede modificar el comportamiento de las etiquetas al configurar los filtros de exclusión de etiquetas en el cuadro de texto de **Exclusión de etiquetas mutables** cuando se selecciona **Mutable**, o en el cuadro de texto de **Exclusión de etiquetas inmutables** cuando se selecciona **Inmutable**.
  + Cifrado: se usa el cifrado predeterminado `AES256`.
  + Permisos de repositorio: se omiten, no se aplica ninguna política de permisos de repositorio.
  + Política de ciclo de vida: se omite, no se aplica ninguna política de ciclo de vida.
  + Etiquetas de recursos: se omiten, no se aplica ninguna etiqueta de recursos.
+ Al activar la inmutabilidad de las etiquetas de imagen en los repositorios mediante una regla de caché de extracción impedirá que Amazon ECR actualice las imágenes que utilicen la misma etiqueta.
+ Cuando se extrae una imagen mediante la regla de caché de extracción por primera vez, es posible que se requiera una ruta a Internet. Hay ciertas circunstancias en las que se requiere una ruta a Internet, por lo que es mejor configurar una ruta para evitar errores. Por lo tanto, si ha configurado Amazon ECR para que utilice una interfaz que AWS PrivateLink utilice un punto de enlace de VPC, debe asegurarse de que la primera extracción tenga una ruta a Internet. Una forma de hacerlo es crear una subred pública en la misma VPC, con una puerta de enlace de Internet, y luego enrutar todo el tráfico saliente a Internet desde su subred privada a la subred pública. Esto no será necesario la próxima vez que realice una extracción de imágenes mediante la regla de caché de extracción. Para obtener más información, consulte [Opciones de enrutamiento](https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html) de ejemplo en la *guía de usuarios de Amazon Virtual Private Cloud*.

# Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR
<a name="pull-through-cache-iam"></a>

Además de los permisos de la API de Amazon ECR necesarios para autenticarse en un registro privado y para insertar y extraer imágenes, se necesitan los siguientes permisos adicionales para utilizar reglas de caché de extracción.
+ `ecr:CreatePullThroughCacheRule`: otorga permiso para crear una regla de caché de extracción. Este permiso debe otorgarse a través de una política de IAM basada en identidad.
+ `ecr:BatchImportUpstreamImage`: otorga permiso para recuperar la imagen externa e importarla a su registro privado. Este permiso se puede otorgar utilizando la política de permisos de registro privado, una política de IAM basada en identidad o mediante la política de permisos de repositorio basada en recursos. Para obtener más información sobre el uso de permisos de repositorio, consulte [Políticas de repositorios privados en Amazon ECR](repository-policies.md).
+ `ecr:CreateRepository`: otorga permiso para crear un repositorio en un registro privado. Este permiso es necesario si el repositorio donde se conservan las imágenes almacenadas en caché no existe todavía. Este permiso se puede otorgar mediante una política de IAM basada en identidad o bien mediante la política de permisos de registro privado.

## Uso de permisos de registro
<a name="pull-through-cache-registry-permissions"></a>

Los permisos de registro privado de Amazon ECR se pueden utilizar para abarcar los permisos de entidades de IAM individuales a fin de utilizar caché de extracción. Si una entidad de IAM tiene más permisos otorgados por una política de IAM de los que la política de permisos de registro concede, prevalece la política de IAM. Por ejemplo, si un usuario tiene concedidos permisos de `ecr:*`, no se necesitan permisos adicionales en el nivel del registro.

### Para crear una política de permisos de registro privado (Consola de administración de AWS):
<a name="pull-through-cache-registry-permissions-console"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. En la barra de navegación, elija la región en la que configurar su declaración de permisos de registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Registry permissions** (Permisos de registro).

1. En la página **Registry permissions** (Permisos de registro), elija **Generate statement** (Generar declaración) .

1. Para cada declaración de política de permisos de caché de extracción que desee crear, haga lo siguiente.

   1. Para **Policy type** (Tipo de política), elija **Pull through cache policy** (Política de caché de extracción).

   1. Para **Statement id** (ID de declaración), proporcione un nombre para la política de declaración de caché de extracción.

   1. Para **AM entities** (Entidades de IAM), especifique los usuarios, grupos o roles que se deben incluir en la política.

   1. Para **Repository namespace** (Espacio de nombres de repositorio), seleccione la regla de caché de extracción a la que asociar la política.

   1. Para **Repository names** (Nombres de repositorio), especifique el nombre base del repositorio para el que se va a aplicar la regla. Por ejemplo, si desea especificar el repositorio de Amazon Linux en Amazon ECR Public, el nombre del repositorio sería `amazonlinux`.

### Para crear una política de permisos de registro privado (AWS CLI):
<a name="pull-through-cache-registry-permissions-cli"></a>

Utilice el siguiente AWS CLI comando para especificar los permisos de registro privado mediante el AWS CLI.

1. Cree un archivo local denominado `ptc-registry-policy.json` con el contenido de la política de registro. En el siguiente ejemplo se concede el permiso `ecr-pull-through-cache-user` para crear un repositorio y extraer una imagen de la galería pública de Amazon ECR, que es el origen ascendente asociado a la regla de caché de extracción creada previamente.

------
#### [ 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**  
El permiso `ecr-CreateRepository` solo es necesario si el repositorio donde se conservan las imágenes almacenadas en caché no existe todavía. Por ejemplo, si la acción de creación del repositorio y las acciones de extracción de imágenes las realizan entidades principales de IAM independientes, como un administrador y un desarrollador.

1. Utilice el [put-registry-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/put-registry-policy.html)comando para establecer la política de registro.

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

## Siguientes pasos
<a name="pull-through-cache-next-steps"></a>

Una vez que esté listo para empezar a utilizar las reglas de caché de extracción, siga estos pasos.
+ Crear una regla de caché de extracción. Para obtener más información, consulte [Creación de una regla de caché de extracción en Amazon ECR](pull-through-cache-creating-rule.md).
+ Cree una plantilla de creación de repositorios. Puede utilizar una plantilla de creación de repositorios para definir la configuración que se aplicará a los repositorios creados por Amazon ECR en su nombre durante una acción de caché de extracción. Para obtener más información, consulte [Plantillas para controlar los repositorios creados durante una acción de extracción, creación mediante inserción o replicación](repository-creation-templates.md).

# Configurar los permisos de ECR entre cuentas a ECR PTC
<a name="pull-through-cache-private"></a>

La función de caché de extracción de Amazon ECR a Amazon ECR (ECR a ECR) permite la sincronización automática de imágenes entre regiones, AWS cuentas o ambas. Con ECR a ECR PTC, puede insertar imágenes en el registro principal de Amazon ECR y configurar una regla de caché de extracción para almacenar en caché las imágenes en los registros descendentes de Amazon ECR.

## Las políticas de IAM son obligatorias para transferir el caché de extracción de ECR a ECR entre cuentas
<a name="pull-through-cache-private-permissions"></a>

Para almacenar en caché imágenes entre los registros de Amazon ECR de distintas AWS cuentas, cree un rol de IAM en la cuenta descendente y configure las políticas de esta sección para proporcionar los siguientes permisos:
+ Amazon ECR necesita permisos para extraer imágenes del registro ascendente de Amazon ECR en su nombre. Puede otorgar estos permisos al crear un rol de IAM y luego especificarlo en la regla de caché de extracción. 
+ El propietario del registro ascendente también debe otorgar al propietario del registro de caché los permisos necesarios para insertar imágenes en las políticas de recursos.

**Topics**
+ [Crear un rol de IAM para definir los permisos de caché de extracción](#ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache)
+ [Crear una política de confianza para el rol de IAM](#ecr-creating-a-trust-policy-for-the-iam-role)
+ [Crear una política de recursos en el registro ascendente de Amazon ECR](#ecr-creating-registry-permissions-policy-in-upstream-registry)

### Crear un rol de IAM para definir los permisos de caché de extracción
<a name="ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache"></a>

El siguiente ejemplo muestra una política de permisos que otorga a un rol de IAM permiso para extraer imágenes del registro ascendente de Amazon ECR en su nombre. Cuando Amazon ECR asume el rol, recibe los permisos especificados en esta 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": "*"
        }
    ]
}
```

------

### Crear una política de confianza para el rol de IAM
<a name="ecr-creating-a-trust-policy-for-the-iam-role"></a>

El siguiente ejemplo muestra una política de confianza que identifica a Amazon ECR pull through cache como el principal de AWS servicio que puede asumir la función.

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

****  

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

------

### Crear una política de recursos en el registro ascendente de Amazon ECR
<a name="ecr-creating-registry-permissions-policy-in-upstream-registry"></a>

El propietario del registro ascendente de Amazon ECR también debe agregar una política de registro o una política de repositorio para otorgarle al propietario del registro descendente los permisos necesarios para realizar las siguientes acciones. 

**nota**  
La siguiente política de recursos solo es necesaria para las configuraciones de **caché de extracción de ECR a ECR entre cuentas**. Para la memoria caché **de extracción entre regiones y cuentas de la misma** cuenta, solo necesita la política de funciones de IAM y la política de confianza que se muestran en las secciones anteriores. El permiso principal de la cuenta raíz no es necesario cuando los registros ascendentes y descendentes están en la misma cuenta. 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/*"
}
```

# Creación de una regla de caché de extracción en Amazon ECR
<a name="pull-through-cache-creating-rule"></a>

Para cada registro principal que contenga imágenes que desee almacenar en caché en su registro privado de Amazon ECR, deberá crear una regla de caché de extracción.

En el caso de los registros ascendentes que requieren autenticación con secretos, debe almacenar las credenciales en un secreto de Secrets Manager. Puede usar un secreto existente de o crear uno nuevo. Puede crear el secreto de Secrets Manager en la consola de Amazon ECR o en la de Secrets Manager. Para crear el secreto de Secrets Manager en la consola de Secrets Manager en lugar de la de Amazon ECR, consulte [Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager](pull-through-cache-creating-secret.md).

## Requisitos previos
<a name="cache-rule-prereq"></a>
+ Compruebe que tiene los permisos de IAM necesarios para crear reglas de caché de extracción. Para obtener información, consulte [Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR](pull-through-cache-iam.md).
+ En el caso de los registros ascedentes que requieren autenticación con secretos: si desea utilizar un secreto existente, compruebe que el secreto de Secrets Manager cumpla los siguientes requisitos:
  + El nombre del secreto comienza con `ecr-pullthroughcache/`. La Consola de administración de AWS solo muestra los secretos de Secrets Manager con el prefijo `ecr-pullthroughcache/`.
  + La cuenta y la región en las que se encuentra el secreto deben coincidir con la cuenta y la región en las que se encuentra la regla de caché de extracción.

## Para crear una regla de caché de extracción (Consola de administración de AWS)
<a name="pull-through-cache-creating-rule-console"></a>

Los siguientes pasos muestran cómo crear una regla de caché de extracción y un secreto de Secrets Manager mediante la consola de Amazon ECR. Para crear un secreto desde la consola de Secrets Manager, consulte [Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager](pull-through-cache-creating-secret.md).

### Para Amazon ECR Public, Kubernetes Container Registry o Quay
<a name="w2aac28c27b9b7b1"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En la página del **Paso 1: Especificar un origen**, en **Registro**, elija Amazon ECR Public, Kubernetes o Quay de la lista de registros principales y, a continuación, elija **Siguiente**.

1. En la página del **Paso 2: Especificar un destino**, en **Prefijo del repositorio de Amazon ECR**, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione **Siguiente**. De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.

1. En la página del **Paso 3: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

### Para Docker Hub
<a name="w2aac28c27b9b7b3"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En la página del **Paso 1: Especificar un origen**, en **Registro**, elija **Docker Hub**, **Siguiente**. 

1. En la página del **Paso 2: Configurar la autenticación**, en **Credenciales principales**, debe almacenar las credenciales de autenticación de Docker Hub en un secreto de AWS Secrets Manager . Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

   1. Para usar un secreto existente, elija **Usar un AWS secreto existente**. En **Nombre secreto**, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona **Siguiente**.
**nota**  
 Consola de administración de AWS Solo muestra los secretos de Secrets Manager con nombres que usan el `ecr-pullthroughcache/` prefijo. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción.

   1. Para crear un secreto nuevo, selecciona **Crear un AWS secreto**, haz lo siguiente y, a continuación, selecciona **Siguiente**.

      1. En **Nombre secreto**, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      1. En **correo de Docker Hub**, especifique su correo de Docker Hub.

      1. Para el token de **acceso a Docker Hub, especifique su token** de acceso a Docker Hub. Para obtener más información sobre cómo crear un token de acceso de Docker Hub, consulta [Crear y administrar los tokens de acceso](https://docs.docker.com/security/for-developers/access-tokens/) en la documentación de Docker.

1. En la página del **Paso 3: Especificar un destino**, para **Prefijo del repositorio de Amazon ECR**, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione **Siguiente**.

   De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.

1. En la página del **Paso 4: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

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

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En el **paso 1: especifique una página de origen**, en **Registry**, elija **GitHub Container Registry** y, a **continuación**. 

1. En la página **Paso 2: Configurar la autenticación**, en el caso de **las credenciales de Upstream**, debe guardar en AWS Secrets Manager secreto las credenciales de autenticación de GitHub Container Registry. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

   1. Para usar un secreto existente, selecciona **Usar un AWS secreto existente**. En **Nombre secreto**, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona **Siguiente**.
**nota**  
 Consola de administración de AWS Solo muestra los secretos de Secrets Manager con nombres que usan el `ecr-pullthroughcache/` prefijo. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción.

   1. Para crear un secreto nuevo, selecciona **Crear un AWS secreto**, haz lo siguiente y, a continuación, selecciona **Siguiente**.

      1. En **Nombre secreto**, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      1. Como nombre de **usuario de GitHub Container Registry**, especifique su nombre de usuario de GitHub Container Registry.

      1. Para el token de **acceso a GitHub Container Registry, especifique su token** de acceso a GitHub Container Registry. Para obtener más información sobre cómo crear un token de GitHub acceso, consulta [Administrar tus tokens de acceso personales](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) en la GitHub documentación.

1. En la página del **Paso 3: Especificar un destino**, para **Prefijo del repositorio de Amazon ECR**, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione **Siguiente**.

   De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.

1. En la página del **Paso 4: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

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

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En la página del **Paso 1: Especificar un origen**, haga lo siguiente.

   1. Para **Registry**, elija **Microsoft Azure Container Registry**

   1. En **URL del registro de origen**, especifique el nombre de Microsoft Azure Container Registry y, a continuación, elija **Siguiente**.
**importante**  
Solo necesita especificar el prefijo, ya que el `.azurecr.io` sufijo se rellena en su nombre.

1. En la página del **Paso 2: Configurar la autenticación**, en **Credenciales principales**, debe almacenar las credenciales de autenticación de Microsoft Azure Container Registry en un secreto de AWS Secrets Manager . Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

   1. Para usar un secreto existente, elija **Usar un AWS secreto existente**. En **Nombre secreto**, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona **Siguiente**.
**nota**  
 Consola de administración de AWS Solo muestra los secretos de Secrets Manager con nombres que usan el `ecr-pullthroughcache/` prefijo. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción.

   1. Para crear un secreto nuevo, selecciona **Crear un AWS secreto**, haz lo siguiente y, a continuación, selecciona **Siguiente**.

      1. En **Nombre secreto**, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      1. Para el nombre de **usuario de Microsoft Azure Container Registry**, especifique su nombre de usuario de Microsoft Azure Container Registry.

      1. Para el nombre de **usuario de Microsoft Azure Container Registry**, especifique su nombre de usuario de Microsoft Azure Container Registry. Para obtener más información sobre la creación de un token de acceso a Microsoft Azure Container Registry, consulte [Crear token: portal](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal) en la documentación de Microsoft Azure.

1. En la página del **Paso 3: Especificar un destino**, para **Prefijo del repositorio de Amazon ECR**, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione **Siguiente**.

   De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.

1. En la página del **Paso 4: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

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

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En el **paso 1: especifique una página de origen**, en Registry, elija GitLab Container Registry y, a continuación.

1. En la página **Paso 2: Configurar la autenticación**, en el caso de **las credenciales de Upstream**, debe guardar en AWS Secrets Manager secreto las credenciales de autenticación de GitLab Container Registry. Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

   1. Para usar un secreto existente, selecciona **Usar un AWS secreto existente**. En **Nombre secreto**, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona **Siguiente**. Para obtener más información sobre la creación de un secreto de Secrets Manager mediante la consola de Secrets Manager, consulte[Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager](pull-through-cache-creating-secret.md).
**nota**  
 Consola de administración de AWS Solo muestra los secretos de Secrets Manager con nombres que usan el `ecr-pullthroughcache/` prefijo. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción.

   1. Para crear un secreto nuevo, selecciona **Crear un AWS secreto**, haz lo siguiente y, a continuación, selecciona **Siguiente**.

      1. En **Nombre secreto**, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      1. Como nombre de **usuario de GitLab Container Registry**, especifique su nombre de usuario de GitLab Container Registry.

      1. Para el token de **acceso a GitLab Container Registry, especifique su token** de acceso a GitLab Container Registry. Para obtener más información sobre cómo crear un token de acceso a GitLab Container Registry, consulta los [tokens de acceso personal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)[, los tokens de acceso grupal](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) o los [tokens de acceso a proyectos](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) en la GitLab documentación.

1. En la página del **Paso 3: Especificar un destino**, para **Prefijo del repositorio de Amazon ECR**, especifique el prefijo del espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro público de origen y, a continuación, seleccione **Siguiente**.

   De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.

1. En la página del **Paso 4: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

### Para el registro privado de Amazon ECR en su cuenta AWS
<a name="ecr-to-pull-images-from-other-regions-within-your-account"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En la página **Step 1: Specify upstream** (Paso 1: especificar origen), en **Registry** (Registro), seleccione **Amazon ECR Private** y **This account** (Esta cuenta). En **Region** (Región), seleccione la región para el registro original de Amazon ECR y luego **Next** (Siguiente).

1. En la página **Step 2: Specify namespaces** (Paso 2: especificar los espacios de nombres), en **Cache namespace** (Espacio de nombres de caché), elija si desea crear repositorios de caché de extracción con **A specific prefix** (Un prefijo específico) o **no prefix** (sin prefijo). Si selecciona **A specific prefix** (Un prefijo específico), debe especificar un nombre de prefijo para usarlo como parte del espacio de nombres para almacenar en caché las imágenes del registro ascendente.

1. En el caso del **Upstream namespace** (Espacio de nombres ascendente), elija si desea extraer **A specific prefix** (Un prefijo específico) que exista en el registro ascendente. Si selecciona **no prefix** (sin prefijo), puede extraerlo de cualquier repositorio del registro ascendente. Especifique el prefijo del repositorio ascendente si se le solicita y luego seleccione **Next** (Siguiente).
**nota**  
Para obtener más información sobre la personalización de los espacios de nombres de caché y de origen, consulte [Personalizar los prefijos de repositorios para el caché de extracción de ECR a ECR.](pull-through-cache-private-wildcards.md).

1. En la página del **Paso 3: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita dichos pasos para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

### Para el registro privado de Amazon ECR desde otra cuenta AWS
<a name="w2aac28c27b9b7c13"></a>

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En la página **Step 1: Specify upstream** (Paso 1: especificar origen), en **Registry** (Registro), seleccione **Amazon ECR Private** y **Cross account** (Entre cuentas). En **Region** (Región), seleccione la región para el registro ascendente de Amazon ECR. **En **Cuenta**, especifique el ID de AWS cuenta para el registro de Amazon ECR original y, a continuación, seleccione Siguiente.**

1. En la página **Step 2: Specify permissions** (Paso 2: especificar permisos), en **IAM role** (Rol de IAM), seleccione el rol que desee utilizar para el acceso al caché de extracción entre cuentas y luego seleccione **Create** (Crear).
**nota**  
Asegúrese de seleccionar el rol de IAM que utiliza los permisos creados en [Las políticas de IAM son obligatorias para transferir el caché de extracción de ECR a ECR entre cuentas](pull-through-cache-private.md#pull-through-cache-private-permissions).

1. En la página **Step 3: Specify namespaces** (Paso 3: especificar los espacios de nombres), en **Cache namespace** (Espacio de nombres de caché), elija si desea crear repositorios de caché de extracción con **A specific prefix** (Un prefijo específico) o **no prefix** (sin prefijo). Si selecciona **A specific prefix** (Un prefijo específico), debe especificar un nombre de prefijo para usarlo como parte del espacio de nombres para almacenar en caché las imágenes del registro ascendente.

1. En el caso del **Upstream namespace** (Espacio de nombres ascendente), elija si desea extraer **A specific prefix** (Un prefijo específico) que exista en el registro ascendente. Si selecciona **no prefix** (sin prefijo), puede extraerlo de cualquier repositorio del registro ascendente. Especifique el prefijo del repositorio ascendente si se le solicita y luego seleccione **Next** (Siguiente).
**nota**  
Para obtener más información sobre la personalización de los espacios de nombres de caché y de origen, consulte [Personalizar los prefijos de repositorios para el caché de extracción de ECR a ECR.](pull-through-cache-private-wildcards.md).

1. En la página del **Paso 4: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita dichos pasos para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

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

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. Desde la barra de navegación, elija la región en la que desea configurar su registro privado.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página **Pull through cache configuration**(Configuración de caché de extracción), elija **Add rule** (Agregar regla).

1. En el **paso 1: especifique una página de origen**, en Registry, elija Chainguard Registry y Next.

1. En la página **Paso 2: Configurar la autenticación**, en el caso de **las credenciales de Upstream**, debe guardar en secreto las credenciales de autenticación de Chainguard Registry. AWS Secrets Manager Puede especificar un secreto existente o utilizar la consola Amazon ECR para crear uno nuevo.

   1. Para usar un secreto existente, selecciona **Usar un secreto existente AWS **. En **Nombre secreto**, usa el menú desplegable para seleccionar tu secreto existente y, a continuación, selecciona **Siguiente**. Para obtener más información sobre la creación de un secreto de Secrets Manager mediante la consola de Secrets Manager, consulte[Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager](pull-through-cache-creating-secret.md).
**nota**  
 Consola de administración de AWS Solo muestra los secretos de Secrets Manager con nombres que usan el `ecr-pullthroughcache/` prefijo. El secreto también debe estar en la misma cuenta y región en las que se creó la regla de caché de extracción.

   1. Para crear un secreto nuevo, selecciona **Crear un AWS secreto**, haz lo siguiente y, a continuación, selecciona **Siguiente**.

      1. En **Nombre secreto**, especifique un nombre descriptivo para el secreto. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode.

      1. Para el nombre de usuario de **Chainguard Registry, especifique su nombre de usuario** de Chainguard Registry.

      1. Para el token de **extracción de Chainguard Registry, especifica tu token** de extracción de Chainguard Registry. Para obtener más información sobre cómo crear un token de extracción de Chainguard Registry, consulta Cómo [autenticarse con un token de extracción](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token) en la documentación de Chainguard.

1. **En el **paso 3: especifique una página de destino**, para el **prefijo del repositorio de Amazon ECR**, especifique el espacio de nombres del repositorio que se utilizará al almacenar en caché las imágenes extraídas del registro de origen y, a continuación, seleccione Siguiente.**

   De forma predeterminada, se rellena un espacio de nombres pero también se puede especificar un espacio de nombres personalizado.

1. En la página del **Paso 4: Revisar y crear**, revise la configuración de la regla de caché de extracción y, a continuación, seleccione **Crear**.

1. Repita el paso anterior para cada caché de extracción que desee crear. Las reglas de caché de extracción se crean por separado para cada región.

## Para crear una regla de caché de extracción (AWS CLI)
<a name="pull-through-cache-creating-rule-cli"></a>

Utilice el AWS CLI comando [create-pull-through-cache-rule](https://docs.aws.amazon.com/cli/latest/reference/ecr/create-pull-through-cache-rule.html) para crear una regla de extracción de caché para un registro privado de Amazon ECR. En el caso de los registros ascendentes que requieren autenticación con secretos, debe almacenar las credenciales en un secreto de Secrets Manager. Para crear un secreto desde la consola de Secrets Manager, consulte [Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager](pull-through-cache-creating-secret.md).

Se proporcionan los siguientes ejemplos para cada registro ascendente compatible.

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

En el siguiente ejemplo se crea una regla de caché de extracción para el registro público de Amazon ECR. Especifica un prefijo de repositorio `ecr-public`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura 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 el registro de contenedores de Kubernetes
<a name="w2aac28c27c11b7b3"></a>

En el siguiente ejemplo se crea una regla de extracción de caché para el registro público de Kubernetes. Especifica un prefijo de repositorio `kubernetes`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura 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>

El siguiente ejemplo crea una regla de extracción de caché para el registro público de Quay. Especifica un prefijo de repositorio `quay`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura 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 Docker Hub
<a name="w2aac28c27c11b7b7"></a>

El siguiente ejemplo crea una regla de caché de extracción para el registro de Docker Hub. Especifica un prefijo de repositorio `docker-hub`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de `docker-hub/upstream-repository-name`. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de 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>

En el siguiente ejemplo, se crea una regla de extracción de caché para el registro de GitHub contenedores. Especifica un prefijo de repositorio `github`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de `github/upstream-repository-name`. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene sus credenciales de 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 Microsoft Azure Container Registry
<a name="w2aac28c27c11b7c11"></a>

El siguiente ejemplo crea una regla de caché de extracción para el Microsoft Azure Container Registry. Especifica un prefijo de repositorio `azure`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de `azure/upstream-repository-name`. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene las credenciales de Microsoft Azure Container Registry.

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

En el siguiente ejemplo, se crea una regla de extracción de caché para el registro de GitLab contenedores. Especifica un prefijo de repositorio `gitlab`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de `gitlab/upstream-repository-name`. Debe especificar el nombre de recurso de Amazon (ARN) completo del secreto que contiene sus credenciales de 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 el registro privado de Amazon ECR en su cuenta AWS
<a name="w2aac28c27c11b7c15"></a>

El siguiente ejemplo crea una regla de extracción de caché para el registro privado de Amazon ECR para Cross-Region dentro de la misma AWS cuenta. Especifica un prefijo de repositorio `ecr`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura 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 el registro privado de Amazon ECR desde otra cuenta AWS
<a name="w2aac28c27c11b7c17"></a>

El siguiente ejemplo crea una regla de extracción de caché para el registro privado de Amazon ECR para Cross-Region dentro de la misma AWS cuenta. Especifica un prefijo de repositorio `ecr`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de `ecr/upstream-repository-name`. Debe especificar el nombre de recurso de Amazon (ARN) completo del rol de IAM con los permisos creados en [Creación de una regla de caché de extracción en 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>

El siguiente ejemplo crea una regla de extracción de caché para el registro de Chainguard. Especifica un prefijo de repositorio `chainguard`, lo que da como resultado que cada repositorio se cree mediante la regla de caché de extracción para tener el esquema de nomenclatura de `chainguard/upstream-repository-name`. Debe especificar el nombre completo del recurso de Amazon (ARN) del secreto que contiene sus credenciales de 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
```

## Siguientes pasos
<a name="pull-through-cache-creating-rule-next-steps"></a>

Una vez que haya creado las reglas de caché de extracción, continúe con los siguientes pasos:
+ Cree una plantilla de creación de repositorios. Puede utilizar una plantilla de creación de repositorios para definir la configuración que se aplicará a los repositorios creados por Amazon ECR en su nombre durante una acción de caché de extracción. Para obtener más información, consulte [Plantillas para controlar los repositorios creados durante una acción de extracción, creación mediante inserción o replicación](repository-creation-templates.md).
+ Valide sus reglas de caché de extracción. Al validar una regla de caché de extracción, Amazon ECR establece una conexión de red con el registro principal, comprueba que puede acceder al secreto de Secrets Manager que contiene las credenciales del registro ascendente y que la autenticación se ha realizado correctamente. Para obtener más información, consulte [Validación de reglas de caché de extracción en Amazon ECR](pull-through-cache-working-validating.md).
+ Comience a usar sus reglas de caché de extracción. Para obtener más información, consulte [Extracción de una imagen con una regla de caché de extracción en Amazon ECR](pull-through-cache-working-pulling.md).

# Validación de reglas de caché de extracción en Amazon ECR
<a name="pull-through-cache-working-validating"></a>

Después de crear una regla de caché de extracción para los registros principales que requieren autenticación, puede validar que la regla funciona correctamente. Al validar una regla de caché de extracción, Amazon ECR establece una conexión de red con el registro principal, comprueba que puede acceder al secreto de Secrets Manager que contiene las credenciales del registro ascendente y verifica que la autenticación se ha realizado correctamente.

Antes de empezar a trabajar con las reglas de caché de extracción, verifique que dispone de los permisos de IAM adecuados. Para obtener más información, consulte [Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR](pull-through-cache-iam.md).

## Para validar una regla de caché de extracción (Consola de administración de AWS)
<a name="pull-through-cache-working-verifying-console"></a>

Los siguientes pasos muestran cómo crear una regla de caché de extracción mediante la consola de Amazon ECR.

1. Abra la consola Amazon ECR en [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/).

1. En la barra de navegación, elija la región que contiene la regla de caché de extracción que desea validar.

1. En el panel de navegación, elija **Private registry** (Registro privado), **Pull through cache** (Caché de extracción).

1. En la página de **Configuración de caché de extracción**, seleccione la regla de caché de extracción que desee validar. A continuación, usa el menú desplegable **Acciones** y selecciona **Ver detalles**.

1. En la página de detalles de la regla de caché de extracción, use el menú desplegable **Acciones** y seleccione **Verificar la autenticación**. Amazon ECR mostrará un banner con el resultado.

1. Repita estos pasos para cada regla de caché de extracción que desee validar.

## Para validar una regla de caché de extracción (AWS CLI)
<a name="pull-through-cache-working-verifying-cli"></a>

El AWS CLI comando [validate-pull-through-cache-rule](https://docs.aws.amazon.com/cli/latest/reference/ecr/validate-pull-through-cache-rule.html) se utiliza para validar una regla de extracción de caché para un registro privado de Amazon ECR. En el siguiente ejemplo, se utiliza `ecr-public` el prefijo del espacio de nombres. Sustituya ese valor por el valor de prefijo de la regla de caché de extracción que desee validar.

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

En la respuesta, el `isValid` parámetro indica si la validación se ha realizado correctamente o no. Si es `true`, Amazon ECR pudo acceder al registro principal y la autenticación se realizó correctamente. Si`false`, se ha producido un problema y la validación ha fallado. El `failure` parámetro indica la causa.

# Extracción de una imagen con una regla de caché de extracción en Amazon ECR
<a name="pull-through-cache-working-pulling"></a>

En los ejemplos siguientes se muestra la sintaxis del comando que se debe utilizar al extraer una imagen mediante una regla de caché de extracción. Si aparece un error al extraer una imagen ascendente mediante una regla de caché de extracción, consulte [Solución de problemas con la caché de extracción en Amazon ECR](error-pullthroughcache.md) para ver los errores más habituales y cómo resolverlos.

Antes de empezar a trabajar con las reglas de caché de extracción, verifique que dispone de los permisos de IAM adecuados. Para obtener más información, consulte [Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR](pull-through-cache-iam.md).

**nota**  
En los ejemplos siguientes se utilizan los valores de espacio de nombres del repositorio de Amazon ECR predeterminados que utilizan. Consola de administración de AWS Asegúrese de utilizar el URI del repositorio privado de Amazon ECR que ha configurado.

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

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

## Kubernetes Container Registry
<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 ver las imágenes oficiales de Docker Hub:

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

**nota**  
En el caso de las imágenes oficiales de Docker Hub, se debe `/library` incluir el prefijo. Para todos los demás repositorios de Docker Hub, debes omitir el prefijo. `/library`

Para el resto de imágenes de Docker Hub:

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

## GitHub Registro de contenedores
<a name="w2aac28c31b9b9"></a>

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

## Para 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 contenedores
<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
```

# Almacenar en secreto las credenciales de su repositorio principal AWS Secrets Manager
<a name="pull-through-cache-creating-secret"></a>

Al crear una regla de caché de extracción para un repositorio ascendente que requiera autenticación, debe almacenar las credenciales en un secreto de Secrets Manager. El uso de un secreto de Secrets Manager puede tener un coste. Para obtener más información, consulte [Precios de AWS Secrets Manager](https://aws.amazon.com/secrets-manager/pricing/).

Los siguientes procedimientos explican cómo crear un secreto de Secrets Manager para cada repositorio upstream compatible. Si lo desea, puede utilizar el flujo de trabajo de creación de reglas de caché de extracción en la consola de Amazon ECR para crear el secreto en lugar de crearlo mediante la consola Secrets Manager. Para obtener más información, consulte [Creación de una regla de caché de extracción en Amazon ECR](pull-through-cache-creating-rule.md).

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

**Para crear un secreto de Secrets Manager para tus credenciales de Docker Hub (Consola de administración de AWS)**Crear un secreto en Secrets Manager (Consola de administración de AWS)

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En la página **Elegir tipo de secreto**, haga lo siguiente:

   1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

   1. En **pares clave/valor**, cree dos filas para sus credenciales de Docker Hub. Puede almacenar hasta 65536 bytes en el secreto.

      1. Para el primer key/value par, especifique `username` como clave y su nombre de usuario de Docker Hub como valor.

      1. Para el segundo key/value par, `accessToken` especifíquelo como clave y su token de acceso a Docker Hub como valor. Para obtener más información sobre cómo crear un token de acceso de Docker Hub, consulta [Crear y administrar los tokens de acceso](https://docs.docker.com/security/for-developers/access-tokens/) en la documentación de Docker.

   1. **En el caso de la **clave de cifrado**, mantenga el valor predeterminado de **aws/secretsmanager** AWS KMS key y, a continuación, seleccione Siguiente.** No se aplica ningún cargo por el uso de esta clave. Para obtener más información, consulte [Cifrado y descifrado secretos en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en la *Guía del AWS Secrets Manager usuario*.
**importante**  
Debe utilizar la clave de `aws/secretsmanager` cifrado predeterminada para cifrar su secreto. Amazon ECR no permite usar una clave administrada por el cliente (CMK) para esto.

1. En la página **Configurar el secreto**, haga lo siguiente:

   1. Ingrese un **Nombre de secreto** descriptivo y una **Descripción**. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode con el prefijo `ecr-pullthroughcache/`.
**importante**  
El Amazon ECR Consola de administración de AWS solo muestra los secretos de Secrets Manager cuyos nombres utilizan el `ecr-pullthroughcache/` prefijo.

   1. (Opcional) En la sección **Tags (Etiquetas)**, agregue etiquetas a su secreto. Para conocer las estrategias de etiquetado, consulte [los secretos de Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) en la *Guía del AWS Secrets Manager usuario*. No almacene información confidencial en etiquetas porque no están cifradas.

   1. (Opcional) En **Resource permissions (Permisos de recursos)**, para agregar una política de recursos a su secreto, elija **Edit permissions (Editar permisos)**. Para obtener más información, consulte [Adición de una política de permisos a un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. (Opcional) En **Replicar secreto**, para replicar su secreto en otra persona Región de AWS, elija **Replicar** secreto. Puede replicar el secreto ahora o volver y replicarlo más tarde. Para obtener más información, consulte [Replicar un secreto a otras regiones](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. Elija **Siguiente**.

1. (Opcional) En la página **Configure rotation** (Configurar rotación), puede activar la rotación automática. También puede mantener la rotación desactivada por ahora y activarla más tarde. Para obtener más información, consulte [Rotar secretos de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) en la *Guía del usuario de AWS Secrets Manager *. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise los detalles del secreto y, a continuación, elija **Store (Almacenar)**.

   Secrets Manager vuelve a la lista de secretos. Si el nuevo secreto no aparece, elija el botón Refresh (Actualizar).

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

**Para crear un secreto de Secrets Manager para tus credenciales de GitHub Container Registry (Consola de administración de AWS)**Crear un secreto en Secrets Manager (Consola de administración de AWS)

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En la página **Elegir tipo de secreto**, haga lo siguiente:

   1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

   1. En **pares clave/valor**, cree dos filas para sus GitHub credenciales. Puede almacenar hasta 65536 bytes en el secreto.

      1. Para el primer key/value par, especifique `username` como clave y su GitHub nombre de usuario como valor.

      1. Para el segundo key/value par, especifique `accessToken` como clave y su token de GitHub acceso como valor. Para obtener más información sobre cómo crear un token de GitHub acceso, consulte [Administrar sus tokens de acceso personales](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) en la GitHub documentación.

   1. **En el caso de la **clave de cifrado**, mantenga el valor predeterminado de **aws/secretsmanager** AWS KMS key y, a continuación, seleccione Siguiente.** No se aplica ningún cargo por el uso de esta clave. Para obtener más información, consulte [Cifrado y descifrado secretos en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en la *Guía del AWS Secrets Manager usuario*.
**importante**  
Debe utilizar la clave de `aws/secretsmanager` cifrado predeterminada para cifrar su secreto. Amazon ECR no permite usar una clave administrada por el cliente (CMK) para esto.

1. En la página **Configure secret** (Configurar el secreto), haga lo siguiente:

   1. Ingrese un **Nombre de secreto** descriptivo y una **Descripción**. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode con el prefijo `ecr-pullthroughcache/`.
**importante**  
El Amazon ECR Consola de administración de AWS solo muestra los secretos de Secrets Manager cuyos nombres utilizan el `ecr-pullthroughcache/` prefijo.

   1. (Opcional) En la sección **Tags (Etiquetas)**, agregue etiquetas a su secreto. Para conocer las estrategias de etiquetado, consulte [los secretos de Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) en la *Guía del AWS Secrets Manager usuario*. No almacene información confidencial en etiquetas porque no están cifradas.

   1. (Opcional) En **Resource permissions (Permisos de recursos)**, para agregar una política de recursos a su secreto, elija **Edit permissions (Editar permisos)**. Para obtener más información, consulte [Adición de una política de permisos a un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. (Opcional) En **Replicar secreto**, para replicar su secreto en otra persona Región de AWS, elija **Replicar** secreto. Puede replicar el secreto ahora o volver y replicarlo más tarde. Para obtener más información, consulte [Replicar un secreto a otras regiones](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. Elija **Siguiente**.

1. (Opcional) En la página **Configure rotation** (Configurar rotación), puede activar la rotación automática. También puede mantener la rotación desactivada por ahora y activarla más tarde. Para obtener más información, consulte [Rotar secretos de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) en la *Guía del usuario de AWS Secrets Manager *. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise los detalles del secreto y, a continuación, elija **Store (Almacenar)**.

   Secrets Manager vuelve a la lista de secretos. Si el nuevo secreto no aparece, elija el botón Refresh (Actualizar).

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

**Para crear un secreto de Secrets Manager para sus credenciales de Microsoft Azure Container Registry (Consola de administración de AWS)**Crear un secreto en Secrets Manager (Consola de administración de AWS)

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En la página **Elegir tipo de secreto**, haga lo siguiente:

   1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

   1. En **pares clave/valor**, cree dos filas para sus credenciales de GitHub. Puede almacenar hasta 65536 bytes en el secreto.

      1. Para el primer key/value par, especifique `username` como clave y su nombre de usuario de Microsoft Azure Container Registry como valor.

      1. Para el segundo key/value par, especifique `accessToken` como clave y su token de acceso a Microsoft Azure Container Registry como valor. Para obtener más información sobre la creación de un token de acceso a Microsoft Azure Container Registry, consulte [Crear token: portal](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal) en la documentación de Microsoft Azure.

   1. **En el caso de la **clave de cifrado**, mantenga el valor predeterminado de **aws/secretsmanager** AWS KMS key y, a continuación, seleccione Siguiente.** No se aplica ningún cargo por el uso de esta clave. Para obtener más información, consulte [Cifrado y descifrado secretos en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en la *Guía del AWS Secrets Manager usuario*.
**importante**  
Debe utilizar la clave de `aws/secretsmanager` cifrado predeterminada para cifrar su secreto. Amazon ECR no permite usar una clave administrada por el cliente (CMK) para esto.

1. En la página **Configure secret** (Configurar el secreto), haga lo siguiente:

   1. Ingrese un **Nombre de secreto** descriptivo y una **Descripción**. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode con el prefijo `ecr-pullthroughcache/`.
**importante**  
El Amazon ECR Consola de administración de AWS solo muestra los secretos de Secrets Manager cuyos nombres utilizan el `ecr-pullthroughcache/` prefijo.

   1. (Opcional) En la sección **Tags (Etiquetas)**, agregue etiquetas a su secreto. Para conocer las estrategias de etiquetado, consulte [los secretos de Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) en la *Guía del AWS Secrets Manager usuario*. No almacene información confidencial en etiquetas porque no están cifradas.

   1. (Opcional) En **Resource permissions (Permisos de recursos)**, para agregar una política de recursos a su secreto, elija **Edit permissions (Editar permisos)**. Para obtener más información, consulte [Adición de una política de permisos a un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. (Opcional) En **Replicar secreto**, para replicar su secreto en otra persona Región de AWS, elija **Replicar** secreto. Puede replicar el secreto ahora o volver y replicarlo más tarde. Para obtener más información, consulte [Replicar un secreto a otras regiones](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. Elija **Siguiente**.

1. (Opcional) En la página **Configure rotation** (Configurar rotación), puede activar la rotación automática. También puede mantener la rotación desactivada por ahora y activarla más tarde. Para obtener más información, consulte [Rotar secretos de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) en la *Guía del usuario de AWS Secrets Manager *. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise los detalles del secreto y, a continuación, elija **Store (Almacenar)**.

   Secrets Manager vuelve a la lista de secretos. Si el nuevo secreto no aparece, elija el botón Refresh (Actualizar).

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

**Para crear un secreto de Secrets Manager para tus credenciales de GitLab Container Registry (Consola de administración de AWS)**Crear un secreto en Secrets Manager (Consola de administración de AWS)

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En la página **Elegir tipo de secreto**, haga lo siguiente:

   1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

   1. En **pares clave/valor**, cree dos filas para sus GitLab credenciales. Puede almacenar hasta 65536 bytes en el secreto.

      1. Para el primer key/value par, especifique `username` como clave y su nombre de usuario de GitLab Container Registry como valor.

      1. Para el segundo key/value par, especifique `accessToken` como clave y su token de acceso a GitLab Container Registry como valor. Para obtener más información sobre cómo crear un token de acceso a GitLab Container Registry, consulte [Tokens de acceso personal](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html), [Tokens de acceso grupal](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) o [Tokens de acceso de Project](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) en la GitLab documentación.

   1. **En el caso de la **clave de cifrado**, mantenga el valor predeterminado de **aws/secretsmanager** AWS KMS key y, a continuación, seleccione Siguiente.** No se aplica ningún cargo por el uso de esta clave. Para obtener más información, consulte [Cifrado y descifrado secretos en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en la *Guía del AWS Secrets Manager usuario*.
**importante**  
Debe utilizar la clave de `aws/secretsmanager` cifrado predeterminada para cifrar su secreto. Amazon ECR no permite usar una clave administrada por el cliente (CMK) para esto.

1. En la página **Configure secret** (Configurar el secreto), haga lo siguiente:

   1. Ingrese un **Nombre de secreto** descriptivo y una **Descripción**. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode con el prefijo `ecr-pullthroughcache/`.
**importante**  
El Amazon ECR Consola de administración de AWS solo muestra los secretos de Secrets Manager cuyos nombres utilizan el `ecr-pullthroughcache/` prefijo.

   1. (Opcional) En la sección **Tags (Etiquetas)**, agregue etiquetas a su secreto. Para conocer las estrategias de etiquetado, consulte [los secretos de Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) en la *Guía del AWS Secrets Manager usuario*. No almacene información confidencial en etiquetas porque no están cifradas.

   1. (Opcional) En **Resource permissions (Permisos de recursos)**, para agregar una política de recursos a su secreto, elija **Edit permissions (Editar permisos)**. Para obtener más información, consulte [Adición de una política de permisos a un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. (Opcional) En **Replicar secreto**, para replicar su secreto en otra persona Región de AWS, elija **Replicar** secreto. Puede replicar el secreto ahora o volver y replicarlo más tarde. Para obtener más información, consulte [Replicar un secreto a otras regiones](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. Elija **Siguiente**.

1. (Opcional) En la página **Configure rotation** (Configurar rotación), puede activar la rotación automática. También puede mantener la rotación desactivada por ahora y activarla más tarde. Para obtener más información, consulte [Rotar secretos de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) en la *Guía del usuario de AWS Secrets Manager *. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise los detalles del secreto y, a continuación, elija **Store (Almacenar)**.

   Secrets Manager vuelve a la lista de secretos. Si el nuevo secreto no aparece, elija el botón Refresh (Actualizar).

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

**Para crear un secreto de Secrets Manager para tus credenciales de Chainguard ()Consola de administración de AWS**Crear un secreto en Secrets Manager (Consola de administración de AWS)

1. Abra la consola de Secrets Manager en [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto nuevo**.

1. En la página **Elegir tipo de secreto**, haga lo siguiente:

   1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

   1. En **pares clave/valor**, crea dos filas para tus credenciales de Chainguard. Puede almacenar hasta 65536 bytes en el secreto.

      1. Para el primer key/value par, especifíquelo `username` como clave y su nombre de usuario de Chainguard Registry como valor.

      1. Para el segundo key/value par, especifícalo `accessToken` como clave y tu token de acceso a Chainguard Registry como valor. Para obtener más información sobre cómo crear un token de extracción de Chainguard Registry, consulta Cómo [autenticarse con un token de extracción](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token) en la documentación de Chainguard.

   1. **En el caso de la **clave de cifrado**, mantenga el valor predeterminado de **aws/secretsmanager** AWS KMS key y, a continuación, seleccione Siguiente.** No se aplica ningún cargo por el uso de esta clave. Para obtener más información, consulte [Cifrado y descifrado secretos en Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) en la *Guía del AWS Secrets Manager usuario*.
**importante**  
Debe utilizar la clave de `aws/secretsmanager` cifrado predeterminada para cifrar su secreto. Amazon ECR no permite usar una clave administrada por el cliente (CMK) para esto.

1. En la página **Configure secret** (Configurar el secreto), haga lo siguiente:

   1. Ingrese un **Nombre de secreto** descriptivo y una **Descripción**. Los nombres de los secretos deben contener de 1 a 512 caracteres Unicode con el prefijo `ecr-pullthroughcache/`.
**importante**  
El Amazon ECR Consola de administración de AWS solo muestra los secretos de Secrets Manager cuyos nombres utilizan el `ecr-pullthroughcache/` prefijo.

   1. (Opcional) En la sección **Tags (Etiquetas)**, agregue etiquetas a su secreto. Para conocer las estrategias de etiquetado, consulte [los secretos de Tag Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) en la *Guía del AWS Secrets Manager usuario*. No almacene información confidencial en etiquetas porque no están cifradas.

   1. (Opcional) En **Resource permissions (Permisos de recursos)**, para agregar una política de recursos a su secreto, elija **Edit permissions (Editar permisos)**. Para obtener más información, consulte [Adición de una política de permisos a un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. (Opcional) En **Replicar secreto**, para replicar su secreto en otra persona Región de AWS, elija **Replicar** secreto. Puede replicar el secreto ahora o volver y replicarlo más tarde. Para obtener más información, consulte [Replicar un secreto a otras regiones](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) en la *Guía del usuario de AWS Secrets Manager *.

   1. Elija **Siguiente**.

1. (Opcional) En la página **Configure rotation** (Configurar rotación), puede activar la rotación automática. También puede mantener la rotación desactivada por ahora y activarla más tarde. Para obtener más información, consulte [Rotar secretos de Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) en la *Guía del usuario de AWS Secrets Manager *. Elija **Siguiente**.

1. En la página **Review (Revisar)**, revise los detalles del secreto y, a continuación, elija **Store (Almacenar)**.

   Secrets Manager vuelve a la lista de secretos. Si el nuevo secreto no aparece, elija el botón Refresh (Actualizar).

------

# Personalizar los prefijos de repositorios para el caché de extracción de ECR a ECR.
<a name="pull-through-cache-private-wildcards"></a>

Las reglas de caché de extracción admiten el **prefijo de repositorio ECR** y el **prefijo de repositorio ascendente**. El **prefijo del repositorio ECR ** es el prefijo del espacio de nombres del repositorio en el registro de caché de Amazon ECR que está asociado a la regla. Todos los repositorios que utilizan este prefijo se convierten en repositorios de caché de extracción habilitada para el registro ascendente definido en la regla. Por ejemplo, el prefijo de `prod` se aplica a todos los repositorios que comiencen por `prod/`. Para aplicar una plantilla a todos los repositorios de su registro que no tengan una regla de caché de extracción asociada, utilice `ROOT` como prefijo.

**importante**  
Siempre se aplica una suposición `/` al final del prefijo. Si especifica `ecr-public` como prefijo, Amazon ECR lo tratará como `ecr-public/`.

El **prefijo del repositorio ascendente** coincide con el nombre del repositorio ascendente. Por defecto, está configurado en `ROOT`, lo que permite que coincida con cualquier repositorio ascendente. Puede configurar el **prefijo del repositorio ascendente** solo cuando el prefijo del repositorio de Amazon ECR no tenga un valor `ROOT`.

La siguiente tabla muestra la asignación entre los nombres de los repositorios de caché y los nombres de los repositorios ascendentes según sus configuraciones de prefijo en las reglas de caché de extracción.


|  Espacio de nombres de caché  |  Espacio de nombres ascendente  |  Relación de asignación (repositorio de caché → repositorio ascendente)  | 
| --- | --- | --- | 
|  ecr-public  |  Nodo raíz (predeterminado)  |  `ecr-public/my-app/image1` → `my-app/image1` `ecr-public/my-app/image2` → `my-app/image2`  | 
|  Nodo raíz  |  Nodo raíz  |  `my-app/image1` → `my-app/image1`  | 
|  equipo-a  |  equipo-a  |  `team-a/myapp/image1` → `team-a/myapp/image1`  | 
|  mi-aplicación  |  aplicación-ascendente  |  `my-app/image1` → `upstream-app/image1`  | 

# Solución de problemas con la caché de extracción en Amazon ECR
<a name="error-pullthroughcache"></a>

Cuando se extrae una imagen ascendente mediante una regla de caché de extracción, los errores que aparecen con más frecuencia son los siguientes.

**El repositorio no existe**  
Un error que indica que el repositorio no existe suele deberse bien a que el repositorio no existe en el registro privado de Amazon ECR o bien a que no se ha otorgado el permiso `ecr:CreateRepository` a la entidad principal de IAM que realiza la extracción de la imagen ascendente. Para resolver este error, se debe verificar que el URI del repositorio del comando de extracción es correcto, que se han otorgado los permisos de IAM necesarios a la entidad principal que realiza la extracción de la imagen ascendente o que el repositorio donde se va a insertar la imagen ascendente se ha creado en el registro privado de Amazon ECR antes de realizar el extracción de la imagen ascendente. Para obtener más información sobre los permisos de IAM necesarios, consulte [Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR](pull-through-cache-iam.md).  
A continuación se muestra un ejemplo de este error.  

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

**Imagen solicitada no encontrada**  
Un error que indica que no se puede encontrar la imagen suele deberse bien a que la imagen no existe en el registro ascendente o bien a que no se ha otorgado el permiso `ecr:BatchImportUpstreamImage` a la entidad principal de IAM que realiza la extracción de la imagen ascendente, aunque el repositorio ya se va a crear en el registro privado de Amazon ECR. Para resolver este error, se debe verificar que la imagen ascendente y el nombre de la etiqueta de la imagen son correctos y existen, así como que se han otorgado los permisos de IAM necesarios a la entidad principal de IAM que realiza la extracción de la imagen ascendente. Para obtener más información sobre los permisos de IAM necesarios, consulte [Permisos de IAM necesarios para sincronizar un registro principal con un registro privado de Amazon ECR](pull-through-cache-iam.md).  
A continuación se muestra un ejemplo de este error.  

```
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 Prohibido cuando se extrae de un repositorio de Docker Hub**  
Cuando extraiga datos de un repositorio de Docker Hub que esté etiquetado como **imagen oficial de Docker**, debe incluir `/library/` en la URI que utilices. Por ejemplo, `aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag`. Si omite `/library/` para las imágenes oficiales de Docker Hub, aparecerá un error `403 Forbidden` cuando intente extraer una imagen mediante una regla de caché de extracción. Para obtener más información, consulte [Extracción de una imagen con una regla de caché de extracción en Amazon ECR](pull-through-cache-working-pulling.md).  
A continuación se muestra un ejemplo de este error.  

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