

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Synchroniser un registre en amont avec un registre privé Amazon ECR
<a name="pull-through-cache"></a>

À l'aide des règles de cache d'extraction, vous pouvez synchroniser le contenu d'un registre en amont avec votre registre privé Amazon ECR.

Amazon ECR prend actuellement en charge la création de règles de cache d'extraction pour les registres en amont suivants :
+ Amazon ECR Public, registre d'images de conteneurs Kubernetes et Quay (aucune authentification n'est requise)
+ Docker Hub, Microsoft Azure Container Registry, GitHub Container Registry, GitLab Container Registry et Chainguard Registry (nécessite une authentification secrète) AWS Secrets Manager 
+ Amazon ECR (nécessite une authentification avec le rôle AWS IAM)

Pour GitLab Container Registry, Amazon ECR prend en charge l'extraction du cache uniquement avec GitLab l'offre Software as a Service (SaaS). Pour plus d'informations sur l'utilisation GitLab de l'offre SaaS, rendez-vous sur [GitLab.com](https://docs.gitlab.com/17.5/subscriptions/choosing_subscription/).

Pour les registres en amont qui nécessitent une authentification par secret (comme Docker Hub), vous devez stocker vos informations d'identification dans un AWS Secrets Manager secret. Vous pouvez utiliser la console Amazon ECR pour créer des secrets Secrets Manager pour chaque registre en amont authentifié. Pour plus d'informations sur la création d'un secret Secrets Manager à l'aide de la console Secrets Manager, consultez[Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont](pull-through-cache-creating-secret.md).

Pour Amazon ECR, vous devez créer un rôle IAM si les registres Amazon ECR en amont et en aval appartiennent à un compte différent. AWS Pour plus d'informations sur la création d'un rôle IAM, consultez [Politiques IAM requises pour que l'ECR entre comptes puisse extraire le cache de l'ECR](pull-through-cache-private.md#pull-through-cache-private-permissions).

Après avoir créé une règle de cache d'extraction pour le registre en amont, extrayez une image de ce registre en amont à l'aide de l'URI de votre registre privé Amazon ECR. Amazon ECR crée ensuite un référentiel et met cette image en cache dans votre registre privé. Pour les demandes d'extraction ultérieures de l'image mise en cache avec une balise donnée, Amazon ECR vérifie dans le registre en amont la présence d'une nouvelle version de l'image avec cette balise spécifique et tente de mettre à jour l'image dans votre registre privé au moins une fois toutes les 24 heures.

## Modèles de création de référentiels
<a name="pull-through-cache-respository-creation-template"></a>

Amazon ECR a ajouté la prise en charge des modèles de création de référentiels, ce qui vous permet de définir les configurations initiales pour les nouveaux référentiels créés par Amazon ECR en votre nom à l'aide de règles de cache d'extraction. Chaque modèle contient un préfixe d'espace de noms de référentiel qui est utilisé pour faire correspondre les nouveaux référentiels à un modèle spécifique. Les modèles peuvent spécifier la configuration de tous les paramètres du référentiel, y compris les politiques d'accès basées sur les ressources, l'immuabilité des balises, le chiffrement et les politiques de cycle de vie. Les paramètres d'un modèle de création de référentiel ne sont appliqués que lors de la création du référentiel et n'ont aucun effet sur les référentiels existants ou les référentiels créés à l'aide d'une autre méthode. Pour de plus amples informations, veuillez consulter [Modèles pour contrôler les référentiels créés lors d'une opération d'extraction du cache, d'une création push ou d'une action de réplication](repository-creation-templates.md).

## Considérations relatives à l'utilisation des règles du cache d'extraction
<a name="pull-through-cache-considerations"></a>

Tenez compte des points suivants lorsque vous utilisez les règles de cache d'extraction d'Amazon ECR.
+ La création de règles de mise en cache par extraction n'est pas prise en charge dans les régions suivantes.
  + Chine (Beijing) (`cn-north-1`)
  + Chine (Ningxia) (`cn-northwest-1`)
  + AWS GovCloud (USA Est) (`us-gov-east-1`)
  + AWS GovCloud (US-Ouest) (`us-gov-west-1`)
+ AWS Lambda ne prend pas en charge l'extraction d'images de conteneurs depuis Amazon ECR à l'aide d'une règle de cache d'extraction.
+ Lors de l'extraction d'images à l'aide de la mise en cache par extraction, les points de terminaison de service FIPS d'Amazon ECR ne sont pas pris en charge la première fois qu'une image est extraite. L'utilisation des points de terminaison de service FIPS d'Amazon ECR fonctionne cependant pour les extractions suivantes.
+ Pour les référentiels en amont qui nécessitent une authentification, lorsqu'une image est extraite via l'URI du registre privé Amazon ECR pour la première fois ou pour mettre à jour le cache, les extractions d'image sont lancées par l'utilisateur associé aux informations d'identification configurées dans la règle de cache d'extraction. Les extractions suivantes renverront l'image directement depuis le cache dans le registre privé du client.
+ Pour les référentiels en amont qui ne nécessitent pas d'authentification, lorsqu'une image est extraite via l'URI du registre privé Amazon ECR, les extractions d'image sont initiées par des AWS adresses IP.
+ Lorsqu'un client extrait une image mise en cache via l'URI du registre privé Amazon ECR, Amazon ECR vérifie s'il a validé l'image par rapport au registre en amont au cours des dernières 24 heures. Si le délai de 24 heures a expiré, Amazon ECR envoie une demande en amont pour vérifier s'il existe une version plus récente et met à jour le cache s'il en existe une. Si la fenêtre n'a pas expiré, Amazon ECR diffuse l'image mise en cache sans contacter l'opérateur en amont. 
+ L'appel de l'`ListImageReferrers`API à un référentiel créé par un cache d'extraction renvoie les artefacts de référence conformes à l'OCI-cache dans le cache privé.
+ Amazon ECR vérifie si les artefacts du référent ont été mis à jour au cours des 6 dernières heures. Si le délai de 6 heures a expiré, Amazon ECR envoie une demande en amont pour vérifier les nouvelles versions et met à jour le cache si elles existent.
+ Si Amazon ECR ne peut pas mettre à jour l'image depuis le registre en amont pour une raison quelconque et que l'image est extraite, la dernière image mise en cache sera quand même extraite.
+ Lors de la création du secret Secrets Manager qui contient les informations d'identification du registre en amont, le nom du secret doit utiliser le préfixe `ecr-pullthroughcache/`. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.
+ Lorsqu'une image multi-architecture est extraite à l'aide d'une règle mise en cache par extraction, la liste de manifestes et chaque image référencée dans la liste de manifestes sont extraites vers le référentiel Amazon ECR. Si vous ne souhaitez extraire qu'une architecture spécifique, vous pouvez extraire l'image en utilisant le résumé d'image ou l'identification associée à l'architecture plutôt que l'identification associée à la liste de manifestes.
+ Amazon ECR utilise un rôle IAM lié à un service, qui fournit les autorisations nécessaires à Amazon ECR pour créer le référentiel, récupérer la valeur du secret Secrets Manager pour l'authentification et transmettre l'image mise en cache en votre nom. Le rôle IAM lié à un service est créé automatiquement lorsqu'une règle de mise en cache par extraction est créée. Pour de plus amples informations, veuillez consulter [Rôle lié à un service Amazon ECR pour la mise en cache par extraction](slr-pullthroughcache.md).
+ Par défaut, l'utilisateur, le principal IAM qui extrait l'image mise en cache a les autorisations qui lui sont accordées par sa politique IAM. Vous pouvez utiliser la politique d'autorisations du registre privé Amazon ECR pour étendre les autorisations d'une entité IAM. Pour de plus amples informations, veuillez consulter [Utilisation des autorisations de registre](pull-through-cache-iam.md#pull-through-cache-registry-permissions).
+ Les référentiels Amazon ECR créés à l'aide du flux de travail de mise en cache par extraction sont traités comme tout autre référentiel Amazon ECR. Toutes les fonctions du référentiel, telles que la réplication et l'analyse d'images, sont prises en charge.
+ Lorsqu'Amazon ECR crée un nouveau référentiel en votre nom à l'aide d'une action de mise en cache par extraction, les paramètres par défaut suivants sont appliqués au référentiel, sauf s'il existe un modèle de création de référentiel correspondant. Vous pouvez utiliser un modèle de création de référentiel pour définir les paramètres appliqués aux référentiels créés par Amazon ECR en votre nom. Pour de plus amples informations, veuillez consulter [Modèles pour contrôler les référentiels créés lors d'une opération d'extraction du cache, d'une création push ou d'une action de réplication](repository-creation-templates.md).
  + Immuabilité des balises — L'immuabilité des balises indique si les balises d'image peuvent être remplacées. Par défaut, les balises d'image sont modifiables (elles peuvent être remplacées). Vous pouvez modifier le comportement des balises en configurant des filtres d'exclusion de balises soit dans la zone de texte **Exclusion de balises mutables** lorsque **Mutable** est sélectionné, soit dans la zone de texte **Exclusion de balise immuable lorsque **Immutable**** est sélectionné.
  + Chiffrement — Le `AES256` chiffrement par défaut est utilisé.
  + Autorisations de dépôt : omises, aucune politique d'autorisation de dépôt n'est appliquée.
  + Politique de cycle de vie : omise, aucune politique de cycle de vie n'est appliquée.
  + Balises de ressource : omises, aucune balise de ressource n'est appliquée.
+ L'activation de l'immuabilité des balises d'image pour des référentiels à l'aide d'une règle de mise en cache par extraction empêchera Amazon ECR de mettre à jour les images à l'aide de la même balise.
+ Lorsqu'une image est extraite à l'aide de la règle du cache d'extraction pour la première fois, un itinéraire vers Internet peut être nécessaire. Dans certaines circonstances, un itinéraire vers Internet est nécessaire, il est donc préférable de configurer un itinéraire pour éviter toute défaillance. Ainsi, si vous avez configuré Amazon ECR pour utiliser un point de terminaison AWS PrivateLink VPC d'interface, vous devez vous assurer que le premier pull dispose d'un itinéraire vers Internet. Pour ce faire, vous pouvez créer un sous-réseau public dans le même VPC, avec une passerelle Internet, puis acheminer tout le trafic sortant vers Internet depuis leur sous-réseau privé vers le sous-réseau public. Les extractions d'image suivantes à l'aide de la règle de cache d'extraction ne l'exigent pas. Pour de plus amples informations, consultez [Exemples d'options de routage](https://docs.aws.amazon.com/vpc/latest/userguide/route-table-options.html) dans le *Guide de l'utilisateur Amazon Virtual Private Cloud*.

# Autorisations IAM requises pour synchroniser un registre en amont avec un registre privé Amazon ECR
<a name="pull-through-cache-iam"></a>

Outre les autorisations d'API Amazon ECR nécessaires pour s'authentifier auprès d'un registre privé et pour transférer et extraire des images, les autorisations supplémentaires suivantes sont nécessaires pour utiliser efficacement les règles de mise en cache par extraction.
+ `ecr:CreatePullThroughCacheRule` – Accorde l'autorisation de créer une règle de cache par extraction. Cette autorisation doit être accordée via une politique IAM basée sur l'identité.
+ `ecr:BatchImportUpstreamImage` – Accorde l'autorisation de récupérer l'image externe et de l'importer dans votre registre privé. Cette autorisation peut être accordée à l'aide de la politique d'autorisation du registre privé, d'une politique IAM basée sur l'identité ou de la politique d'autorisations de référentiel basée sur les ressources. Pour plus d'informations sur l'utilisation d'autorisations de référentiel, consultez [Politiques relatives aux référentiels privés dans Amazon ECR](repository-policies.md).
+ `ecr:CreateRepository` – Accorde l'autorisation de créer un référentiel dans un registre privé. Cette autorisation est requise si le référentiel stockant les images mises en cache n'existe pas déjà. Cette autorisation peut être accordée soit par une politique IAM basée sur l'identité, soit par la politique d'autorisation du registre privé.

## Utilisation des autorisations de registre
<a name="pull-through-cache-registry-permissions"></a>

Les autorisations du registre privé Amazon ECR peuvent être utilisées pour étendre les autorisations des entités IAM individuelles à utiliser la mise en cache par extraction. Si une entité IAM dispose de plus d'autorisations accordées par une politique IAM que celles accordées par la politique d'autorisations de registre, la politique IAM a la priorité. Par exemple, si un utilisateur dispose des autorisations `ecr:*`, aucune autorisation supplémentaire n'est nécessaire au niveau du registre.

### Pour créer une politique d'autorisations de registre privée (AWS Management Console)
<a name="pull-through-cache-registry-permissions-console"></a>

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région dans laquelle vous souhaitez configurer votre instruction d'autorisations de registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Registry permissions** (Autorisations du registre).

1. Dans la page **Registry permissions** (Autorisations de registre), choisissez **Generate statement** (Générer une instruction).

1. Pour chaque instruction de politique d'autorisations de mise en cache par extraction que vous souhaitez créer, procédez comme suit.

   1. Pour **Policy type** (Type de politique), choisissez **Pull through cache policy** (Politique de mise en cache par extraction).

   1. Pour **Statement id** (ID d'instruction), fournissez un nom pour l'instruction de politique de mise en cache par extraction.

   1. Pour **IAM entities** (Entités IAM), indiquez les utilisateurs, groupes ou rôles à inclure dans la politique.

   1. Pour **Repository namespace** (Espace de noms de référentiel), sélectionnez la règle de mise en cache par extraction à laquelle associer la politique.

   1. Pour **Repository names** (Noms de référentiel), spécifiez le nom de base du référentiel pour lequel appliquer la règle. Par exemple, si vous voulez spécifier le référentiel Amazon Linux sur Amazon ECR Public, le nom du référentiel sera `amazonlinux`.

### Pour créer une politique d'autorisations de registre privée (AWS CLI)
<a name="pull-through-cache-registry-permissions-cli"></a>

Utilisez la AWS CLI commande suivante pour spécifier les autorisations de registre privé à l'aide du AWS CLI.

1. Créez un fichier local nommé `ptc-registry-policy.json` avec le contenu de la politique de référentiel. L'exemple suivant accorde à `ecr-pull-through-cache-user` l'autorisation de créer un référentiel et d'extraire une image depuis Amazon ECR Public, qui est la source en amont associée à la règle de cache par extraction précédemment créée.

------
#### [ 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/*"
       }
     ]
   }
   ```

------
**Important**  
L'autorisation `ecr-CreateRepository` n'est requise que si le référentiel stockant les images mises en cache n'existe pas déjà. Par exemple, si l'action de création du référentiel et les actions d'extraction d'image sont effectuées par des IAM principaux distincts tels qu'un administrateur et un développeur.

1. Utilisez la [put-registry-policy](https://docs.aws.amazon.com/cli/latest/reference/ecr/put-registry-policy.html)commande pour définir la politique de registre.

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

## Étapes suivantes
<a name="pull-through-cache-next-steps"></a>

Une fois que vous êtes prêt à commencer à utiliser les règles de mise en cache par extraction, procédez comme suit.
+ Créez une règle de mise en cache par extraction. Pour de plus amples informations, veuillez consulter [Création d'une règle de cache d'extraction dans Amazon ECR](pull-through-cache-creating-rule.md).
+ Créez un modèle de création de référentiel. Un modèle de création de référentiel vous permet de définir les paramètres à utiliser pour les nouveaux référentiels créés par Amazon ECR en votre nom lors d'une action de mise en cache par extraction. Pour de plus amples informations, veuillez consulter [Modèles pour contrôler les référentiels créés lors d'une opération d'extraction du cache, d'une création push ou d'une action de réplication](repository-creation-templates.md).

# Configuration des autorisations entre comptes ECR et ECR PTC
<a name="pull-through-cache-private"></a>

La fonction d'extraction du cache entre Amazon ECR et Amazon ECR (ECR to ECR) permet la synchronisation automatique des images entre les régions, les AWS comptes, ou les deux. Avec ECR to ECR PTC, vous pouvez transférer des images vers votre registre Amazon ECR principal et configurer une règle de cache d'extraction pour mettre en cache les images dans les registres Amazon ECR en aval.

## Politiques IAM requises pour que l'ECR entre comptes puisse extraire le cache de l'ECR
<a name="pull-through-cache-private-permissions"></a>

Pour mettre en cache des images entre les registres Amazon ECR de différents AWS comptes, créez un rôle IAM dans le compte en aval et configurez les politiques de cette section afin de fournir les autorisations suivantes :
+ Amazon ECR a besoin d'autorisations pour extraire des images du registre Amazon ECR en amont en votre nom. Vous pouvez accorder ces autorisations en créant un rôle IAM, puis en le spécifiant dans votre règle de cache d'extraction. 
+ Le propriétaire du registre en amont doit également accorder au propriétaire du registre du cache les autorisations requises pour intégrer les images dans les politiques de ressources.

**Topics**
+ [Création d'un rôle IAM pour définir les autorisations du cache d'extraction](#ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache)
+ [Création d'une politique de confiance pour le rôle IAM](#ecr-creating-a-trust-policy-for-the-iam-role)
+ [Création d'une politique de ressources dans le registre Amazon ECR en amont](#ecr-creating-registry-permissions-policy-in-upstream-registry)

### Création d'un rôle IAM pour définir les autorisations du cache d'extraction
<a name="ecr-policies-for-cross-account-ecr-to-ecr-pull-through-cache"></a>

L'exemple suivant montre une politique d'autorisation qui accorde à un rôle IAM l'autorisation d'extraire des images du registre Amazon ECR en amont en votre nom. Lorsqu'Amazon ECR assume le rôle, il reçoit les autorisations spécifiées dans cette politique.

------
#### [ 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": "*"
        }
    ]
}
```

------

### Création d'une politique de confiance pour le rôle IAM
<a name="ecr-creating-a-trust-policy-for-the-iam-role"></a>

L'exemple suivant montre une politique de confiance qui identifie le cache d'extraction Amazon ECR en tant que principal de AWS service habilité à assumer ce rôle.

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

****  

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

------

### Création d'une politique de ressources dans le registre Amazon ECR en amont
<a name="ecr-creating-registry-permissions-policy-in-upstream-registry"></a>

Le propriétaire du registre Amazon ECR en amont doit également ajouter une politique de registre ou une politique de référentiel pour accorder au propriétaire du registre en aval les autorisations requises pour effectuer les actions suivantes. 

**Note**  
La politique de ressources suivante est requise uniquement pour les configurations **de cache d'extraction ECR à ECR entre comptes**. Pour le cache **d'extraction entre régions pour un même compte,** vous n'avez besoin que de la politique de rôle IAM et de la politique de confiance présentées dans les sections précédentes. L'autorisation principale du compte root n'est pas requise lorsque les registres en amont et en aval se trouvent dans le même AWS compte.

```
{
    "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/*"
}
```

# Création d'une règle de cache d'extraction dans Amazon ECR
<a name="pull-through-cache-creating-rule"></a>

Pour chaque registre en amont contenant des images que vous souhaitez mettre en cache dans votre registre privé Amazon ECR, vous devez créer une règle de cache d'extraction.

Pour les registres en amont qui nécessitent une authentification à l'aide de secrets, vous devez stocker les informations d'identification dans un secret Secrets Manager. Vous pouvez utiliser un secret existant ou en créer un nouveau. Vous pouvez créer le secret Secrets Manager dans la console Amazon ECR ou dans la console Secrets Manager. Pour créer un secret Secrets Manager à l'aide de la console Secrets Manager au lieu de la console Amazon ECR, consultez[Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont](pull-through-cache-creating-secret.md).

## Conditions préalables
<a name="cache-rule-prereq"></a>
+ Vérifiez que vous disposez des autorisations IAM appropriées pour créer des règles de cache d'extraction. Pour plus d'informations, consultez [Autorisations IAM requises pour synchroniser un registre en amont avec un registre privé Amazon ECR](pull-through-cache-iam.md).
+ Pour les registres en amont qui nécessitent une authentification à l'aide de secrets : si vous souhaitez utiliser un secret existant, vérifiez que le secret Secrets Manager répond aux exigences suivantes :
  + Le nom du secret commence par`ecr-pullthroughcache/`. Affiche AWS Management Console uniquement les secrets de Secrets Manager avec le `ecr-pullthroughcache/` préfixe.
  + Le compte et la région dans lesquels se trouve le secret doivent correspondre au compte et à la région dans lesquels se trouve la règle de cache d'extraction.

## Pour créer une règle de mise en cache par extraction (AWS Management Console)
<a name="pull-through-cache-creating-rule-console"></a>

Les étapes suivantes montrent comment créer une règle de mise en cache par extraction et un secret Secrets Manager à l'aide de la console Amazon ECR. Pour créer un secret à l'aide de la console Secrets Manager, consultez[Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont](pull-through-cache-creating-secret.md).

### Pour Amazon ECR Public, le registre de conteneur Kubernetes ou Quay
<a name="w2aac28c27b9b7b1"></a>

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. Sur la page **Étape 1 : Spécifier une source** pour **Registre**, choisissez Amazon ECR Public, Kubernetes ou Quay dans la liste des registres en amont, puis choisissez **Suivant**.

1. Sur la page **Étape 2 : Spécifier une destination** pour le **Préfixe du référentiel Amazon ECR**, spécifiez le préfixe d'espace de noms du référentiel à utiliser lors de la mise en cache des images extraites du registre public source, puis choisissez **Suivant**. Par défaut, un espace de noms est renseigné mais un espace de noms personnalisé peut également être spécifié.

1. Sur la page **Étape 3 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez l'étape précédente pour chaque mise en cache par extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

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

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. Sur la page **Étape 1 : Spécifier une source** pour **Registre**, choisissez **Docker Hub**, **Suivant**. 

1. Sur la page **Étape 2 : Configuration de l'authentification** pour les **Informations d'identification en amont**, vous devez stocker vos informations d’identification pour Docker Hub dans un sectret AWS Secrets Manager . Vous pouvez spécifier un secret existant ou utiliser la console Amazon ECR pour créer un nouveau secret.

   1. Pour utiliser un secret existant, choisissez **Utiliser un AWS secret existant**. Pour **Nom du secret**, utilisez le menu déroulant pour sélectionner votre secret existant, puis choisissez **Suivant**.
**Note**  
Affiche AWS Management Console uniquement les secrets de Secrets Manager dont le nom utilise le `ecr-pullthroughcache/` préfixe. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.

   1. Pour créer un nouveau secret, choisissez **Créer un secret AWS **, procédez comme suit, puis choisissez **Suivant**.

      1. Pour le **Nom du secret**, spécifiez un nom descriptif pour le secret. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode.

      1. Pour l'**e-mail Docker Hub**, spécifiez votre e-mail Docker Hub.

      1. Pour le **Jeton d'accès Docker Hub**, spécifiez votre jeton d'accès Docker Hub. Pour plus d'informations sur la création d'un jeton d'accès Docker Hub, consultez la section [Création et gestion des jetons d'accès](https://docs.docker.com/security/for-developers/access-tokens/) dans la documentation Docker.

1. Sur la page **Étape 3 : Spécifier une destination** pour le **Préfixe du référentiel Amazon ECR**, spécifiez l'espace de noms du référentiel à utiliser lors de la mise en cache des images extraites du registre public source, puis choisissez **Suivant**.

   Par défaut, un espace de noms est renseigné mais un espace de noms personnalisé peut également être spécifié.

1. Sur la page **Étape 4 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez l'étape précédente pour chaque mise en cache par extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

### Pour le registre des GitHub conteneurs
<a name="w2aac28c27b9b7b5"></a>

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. À l'**étape 1 : Spécifier une page source**, pour **Registry**, choisissez **GitHub Container Registry**, **Next**. 

1. Sur la page **Étape 2 : Configuration de l'authentification**, pour les **informations d'identification Upstream**, vous devez enregistrer vos informations d'authentification pour GitHub Container Registry dans un AWS Secrets Manager secret. Vous pouvez spécifier un secret existant ou utiliser la console Amazon ECR pour créer un nouveau secret.

   1. Pour utiliser un secret existant, choisissez **Utiliser un AWS secret existant**. Pour **Nom du secret**, utilisez le menu déroulant pour sélectionner votre secret existant, puis choisissez **Suivant**.
**Note**  
Affiche AWS Management Console uniquement les secrets de Secrets Manager dont le nom utilise le `ecr-pullthroughcache/` préfixe. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.

   1. Pour créer un nouveau secret, choisissez **Créer un secret AWS **, procédez comme suit, puis choisissez **Suivant**.

      1. Pour le **Nom du secret**, spécifiez un nom descriptif pour le secret. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode.

      1. Pour le **nom d'utilisateur du registre des GitHub conteneurs**, spécifiez votre nom d'utilisateur du registre des GitHub conteneurs.

      1. Pour le **GitHub jeton d'accès au registre** des GitHub conteneurs, spécifiez votre jeton d'accès au registre des conteneurs. Pour plus d'informations sur la création d'un jeton d' GitHub accès, consultez [la section Gestion de vos jetons d'accès personnels](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) dans la GitHub documentation.

1. Sur la page **Étape 3 : Spécifier une destination** pour le **Préfixe du référentiel Amazon ECR**, spécifiez l'espace de noms du référentiel à utiliser lors de la mise en cache des images extraites du registre public source, puis choisissez **Suivant**.

   Par défaut, un espace de noms est renseigné mais un espace de noms personnalisé peut également être spécifié.

1. Sur la page **Étape 4 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez l'étape précédente pour chaque mise en cache par extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

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

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. Sur la page **Étape 1 : Spécifier une source**, procédez comme suit.

   1. Pour **Registre**, choisissez **Microsoft Azure Container Registry**

   1. Pour **URL du registre source**, spécifiez le nom de votre Microsoft Azure Container Registry, puis choisissez **Suivant**.
**Important**  
Il vous suffit de spécifier le préfixe, car le suffixe `.azurecr.io` est complété en votre nom.

1. Sur la page **Étape 2 : Configuration de l'authentification** pour les **Informations d'identification en amont**, vous devez stocker vos informations d’identification pour Microsoft Azure Container Registry dans un sectret AWS Secrets Manager . Vous pouvez spécifier un secret existant ou utiliser la console Amazon ECR pour créer un nouveau secret.

   1. Pour utiliser un secret existant, choisissez **Utiliser un AWS secret existant**. Pour **Nom du secret**, utilisez le menu déroulant pour sélectionner votre secret existant, puis choisissez **Suivant**.
**Note**  
Affiche AWS Management Console uniquement les secrets de Secrets Manager dont le nom utilise le `ecr-pullthroughcache/` préfixe. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.

   1. Pour créer un nouveau secret, choisissez **Créer un secret AWS **, procédez comme suit, puis choisissez **Suivant**.

      1. Pour le **Nom du secret**, spécifiez un nom descriptif pour le secret. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode.

      1. Pour le **Nom d'utilisateur Microsoft Azure Container Registry**, spécifiez votre nom d'utilisateur Microsoft Azure Container Registry.

      1. Pour le **Jeton d'accès à Microsoft Azure Container Registry**, spécifiez votre jeton d'accès à Microsoft Azure Container Registry. Pour plus d'informations sur la création d'un jeton d'accès à Microsoft Azure Container Registry, consultez la section [Créer un jeton - portail](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal) dans la documentation Microsoft Azure.

1. Sur la page **Étape 3 : Spécifier une destination** pour le **Préfixe du référentiel Amazon ECR**, spécifiez l'espace de noms du référentiel à utiliser lors de la mise en cache des images extraites du registre public source, puis choisissez **Suivant**.

   Par défaut, un espace de noms est renseigné mais un espace de noms personnalisé peut également être spécifié.

1. Sur la page **Étape 4 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez l'étape précédente pour chaque mise en cache par extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

### Pour le registre des GitLab conteneurs
<a name="w2aac28c27b9b7b9"></a>

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. À l'**étape 1 : Spécifier une page source**, pour Registry, choisissez GitLab Container Registry, Next.

1. Sur la page **Étape 2 : Configuration de l'authentification**, pour les **informations d'identification Upstream**, vous devez enregistrer vos informations d'authentification pour GitLab Container Registry dans un AWS Secrets Manager secret. Vous pouvez spécifier un secret existant ou utiliser la console Amazon ECR pour créer un nouveau secret.

   1. Pour utiliser un secret existant, choisissez **Utiliser un AWS secret existant**. Pour **Nom du secret**, utilisez le menu déroulant pour sélectionner votre secret existant, puis choisissez **Suivant**. Pour plus d'informations sur la création d'un secret Secrets Manager à l'aide de la console Secrets Manager, consultez [Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont](pull-through-cache-creating-secret.md).
**Note**  
Affiche AWS Management Console uniquement les secrets de Secrets Manager dont le nom utilise le `ecr-pullthroughcache/` préfixe. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.

   1. Pour créer un nouveau secret, choisissez **Créer un secret AWS **, procédez comme suit, puis choisissez **Suivant**.

      1. Pour le **Nom du secret**, spécifiez un nom descriptif pour le secret. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode.

      1. Pour le **nom d'utilisateur du registre des GitLab conteneurs**, spécifiez votre nom d'utilisateur du registre des GitLab conteneurs.

      1. Pour le **GitLab jeton d'accès au registre** des GitLab conteneurs, spécifiez votre jeton d'accès au registre des conteneurs. Pour plus d'informations sur la création d'un jeton d'accès au registre des GitLab conteneurs, voir [Jetons d'accès personnels](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)[, jetons d'accès de groupe](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) ou [jetons d'accès au projet](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) dans la GitLab documentation.

1. Sur la page **Étape 3 : Spécifier une destination** pour le **Préfixe du référentiel Amazon ECR**, spécifiez l'espace de noms du référentiel à utiliser lors de la mise en cache des images extraites du registre public source, puis choisissez **Suivant**.

   Par défaut, un espace de noms est renseigné mais un espace de noms personnalisé peut également être spécifié.

1. Sur la page **Étape 4 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez l'étape précédente pour chaque mise en cache par extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

### Pour le registre privé Amazon ECR intégré à votre compte AWS
<a name="ecr-to-pull-images-from-other-regions-within-your-account"></a>

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région dans laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. Sur la page **Étape 1 : Spécifier en amont**, pour **Registry**, choisissez **Amazon ECR Private** et **This account**. Pour **Région**, sélectionnez la région pour le registre Amazon ECR en amont, puis choisissez **Next**.

1. **Sur la page **Étape 2 : Spécifier les espaces de noms**, pour l'espace de **noms du cache**, choisissez de créer des référentiels de cache extractibles avec **un préfixe spécifique ou sans préfixe**.** Si vous sélectionnez **Un préfixe spécifique**, vous devez spécifier un nom de préfixe à utiliser dans le cadre de l'espace de noms pour la mise en cache des images depuis le registre en amont.

1. Pour l'espace de **noms Upstream**, choisissez si vous souhaitez extraire **un préfixe spécifique** qui existe dans le registre en amont. Si vous **ne sélectionnez aucun préfixe**, vous pouvez effectuer une extraction depuis n'importe quel dépôt du registre en amont. Spécifiez le préfixe du référentiel en amont si vous y êtes invité, puis choisissez **Next**.
**Note**  
Pour en savoir plus sur la personnalisation du cache et des espaces de noms en amont, consultez. [Personnalisation des préfixes de référentiel pour l'ECR vers le cache d'extraction ECR](pull-through-cache-private-wildcards.md)

1. Sur la page **Étape 3 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez ces étapes pour chaque cache d'extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

### Pour le registre privé Amazon ECR depuis un autre compte AWS
<a name="w2aac28c27b9b7c13"></a>

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. Sur la page **Étape 1 : Spécifier en amont**, pour **Registry**, choisissez **Amazon ECR Private** and **Cross account**. Pour **Région**, sélectionnez la région pour le registre Amazon ECR en amont. Pour **Account**, spécifiez l'ID de AWS compte pour le registre Amazon ECR en amont, puis choisissez **Next**.

1. Sur la page **Étape 2 : Spécifier les autorisations**, pour le **rôle IAM**, sélectionnez un rôle à utiliser pour l'accès au cache par extraction entre comptes, puis choisissez **Créer**.
**Note**  
Assurez-vous de sélectionner le rôle IAM qui utilise les autorisations créées dans[Politiques IAM requises pour que l'ECR entre comptes puisse extraire le cache de l'ECR](pull-through-cache-private.md#pull-through-cache-private-permissions).

1. **Sur la page **Étape 3 : Spécifier les espaces de noms**, pour l'espace de **noms du cache**, choisissez de créer des référentiels de cache extractibles avec **un préfixe spécifique ou sans préfixe**.** Si vous sélectionnez **Un préfixe spécifique**, vous devez spécifier un nom de préfixe à utiliser dans le cadre de l'espace de noms pour la mise en cache des images depuis le registre en amont.

1. Pour l'espace de **noms Upstream**, choisissez si vous souhaitez extraire **un préfixe spécifique** qui existe dans le registre en amont. Si vous **ne sélectionnez aucun préfixe**, vous pouvez effectuer une extraction depuis n'importe quel dépôt du registre en amont. Spécifiez le préfixe du référentiel en amont si vous y êtes invité, puis choisissez **Next**.
**Note**  
Pour en savoir plus sur la personnalisation du cache et des espaces de noms en amont, consultez. [Personnalisation des préfixes de référentiel pour l'ECR vers le cache d'extraction ECR](pull-through-cache-private-wildcards.md)

1. Sur la page **Étape 4 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez ces étapes pour chaque cache d'extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

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

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région pour laquelle vous souhaitez configurer les paramètres de votre registre privé.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Pull through cache configuration** (Configuration de la mise en cache par extraction), cliquez sur **Add rule** (Ajouter une règle).

1. À l'**étape 1 : Spécifiez une page source**, pour Registry, choisissez Chainguard Registry, Next.

1. Sur la page **Étape 2 : Configurer l'authentification**, pour les **informations d'identification Upstream**, vous devez stocker vos informations d'authentification pour Chainguard Registry dans un AWS Secrets Manager secret. Vous pouvez spécifier un secret existant ou utiliser la console Amazon ECR pour créer un nouveau secret.

   1. Pour utiliser un secret existant, choisissez **Utiliser un AWS secret existant**. Pour **Nom du secret**, utilisez le menu déroulant pour sélectionner votre secret existant, puis choisissez **Suivant**. Pour plus d'informations sur la création d'un secret Secrets Manager à l'aide de la console Secrets Manager, consultez [Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont](pull-through-cache-creating-secret.md).
**Note**  
Affiche AWS Management Console uniquement les secrets de Secrets Manager dont le nom utilise le `ecr-pullthroughcache/` préfixe. Le secret doit également se trouver dans le même compte et dans la même région que ceux dans lesquels est créée la règle de mise en cache par extraction.

   1. Pour créer un nouveau secret, choisissez **Créer un secret AWS **, procédez comme suit, puis choisissez **Suivant**.

      1. Pour le **Nom du secret**, spécifiez un nom descriptif pour le secret. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode.

      1. Pour le **nom d'utilisateur Chainguard Registry**, spécifiez votre nom d'utilisateur Chainguard Registry.

      1. Pour le jeton d'**extraction du registre Chainguard, spécifiez votre jeton** d'extraction du registre Chainguard. Pour plus d'informations sur la création d'un jeton d'extraction du registre Chainguard, voir [Authentification avec un jeton de traction](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token) dans la documentation de Chainguard.

1. **À l'**étape 3 : Spécifiez une page de destination**, pour le **préfixe du référentiel Amazon ECR**, spécifiez l'espace de noms du référentiel à utiliser lors de la mise en cache des images extraites du registre source, puis choisissez Next.**

   Par défaut, un espace de noms est renseigné mais un espace de noms personnalisé peut également être spécifié.

1. Sur la page **Étape 4 : Vérifier et créer**, vérifiez la configuration de la règle de mise en cache par extraction, puis choisissez **Créer**.

1. Répétez l'étape précédente pour chaque mise en cache par extraction que vous souhaitez créer. Les règles de mise en cache par extraction sont créées séparément pour chaque région.

## Pour créer une règle de mise en cache par extraction (AWS CLI)
<a name="pull-through-cache-creating-rule-cli"></a>

Utilisez la AWS CLI commande [create-pull-through-cache-rule](https://docs.aws.amazon.com/cli/latest/reference/ecr/create-pull-through-cache-rule.html) pour créer une règle de cache d'extraction pour un registre privé Amazon ECR. Pour les registres en amont qui nécessitent une authentification à l'aide de secrets, vous devez stocker les informations d'identification dans un secret de Secrets Manager. Pour créer un secret à l'aide de la console Secrets Manager, consultez[Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont](pull-through-cache-creating-secret.md).

Les exemples suivants sont fournis pour chaque registre en amont pris en charge.

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

L'exemple suivant crée une règle de mise en cache par extraction pour le registre public Amazon ECR. Il spécifie un préfixe de référentiel de `ecr-public`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination 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
```

### Pour Kubernetes Container Registry
<a name="w2aac28c27c11b7b3"></a>

L'exemple suivant crée une règle de mise en cache par extraction pour le registre public Kubernetes. Il spécifie un préfixe de référentiel de `kubernetes`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination 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
```

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

L'exemple suivant crée une règle de mise en cache par extraction pour le registre public Quay. Il spécifie un préfixe de référentiel de `quay`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination 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
```

### Pour Docker Hub
<a name="w2aac28c27c11b7b7"></a>

L'exemple suivant crée une règle de mise en cache par extraction pour le registre Docker Hub. Il spécifie un préfixe de référentiel de `docker-hub`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination de `docker-hub/upstream-repository-name`. Vous devez spécifier l'Amazon Resource Name (ARN) complet du secret contenant vos informations d'identification 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
```

### Pour le registre des GitHub conteneurs
<a name="w2aac28c27c11b7b9"></a>

L'exemple suivant crée une règle de cache d'extraction pour le registre des GitHub conteneurs. Il spécifie un préfixe de référentiel de `github`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination de `github/upstream-repository-name`. Vous devez spécifier le nom Amazon Resource Name (ARN) complet du secret contenant vos informations d'identification du registre des GitHub conteneurs.

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

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

L'exemple suivant crée une règle de cache d'extraction pour le Microsoft Azure Container Registry. Il spécifie un préfixe de référentiel de `azure`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination de `azure/upstream-repository-name`. Vous devez spécifier l'Amazon Resource Name (ARN) complet du secret contenant vos informations d'identification 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
```

### Pour le registre des GitLab conteneurs
<a name="w2aac28c27c11b7c13"></a>

L'exemple suivant crée une règle de cache d'extraction pour le registre des GitLab conteneurs. Il spécifie un préfixe de référentiel de `gitlab`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination de `gitlab/upstream-repository-name`. Vous devez spécifier le nom Amazon Resource Name (ARN) complet du secret contenant vos informations d'identification du registre des GitLab conteneurs.

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

### Pour le registre privé Amazon ECR intégré à votre compte AWS
<a name="w2aac28c27c11b7c15"></a>

L'exemple suivant crée une règle de cache d'extraction pour le registre privé Amazon ECR pour plusieurs régions au sein du même AWS compte. Il spécifie un préfixe de référentiel de `ecr`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination 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
```

### Pour le registre privé Amazon ECR depuis un autre compte AWS
<a name="w2aac28c27c11b7c17"></a>

L'exemple suivant crée une règle de cache d'extraction pour le registre privé Amazon ECR pour plusieurs régions au sein du même AWS compte. Il spécifie un préfixe de référentiel de `ecr`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination de `ecr/upstream-repository-name`. Vous devez spécifier le nom Amazon Resource (ARN) complet du rôle IAM avec les autorisations créées dans[Création d'une règle de cache d'extraction dans 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
```

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

L'exemple suivant crée une règle de cache d'extraction pour le registre Chainguard. Il spécifie un préfixe de référentiel de `chainguard`, ce qui fait que chaque référentiel créé à l'aide de la règle de mise en cache par extraction aura le schéma de dénomination de `chainguard/upstream-repository-name`. Vous devez spécifier le nom complet de la ressource Amazon (ARN) du secret contenant vos informations d'identification du registre Chainguard.

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

## Étapes suivantes
<a name="pull-through-cache-creating-rule-next-steps"></a>

Après avoir créé vos règles de cache d'extraction, voici les étapes suivantes :
+ Créez un modèle de création de référentiel. Un modèle de création de référentiel vous permet de définir les paramètres à utiliser pour les nouveaux référentiels créés par Amazon ECR en votre nom lors d'une action de mise en cache par extraction. Pour de plus amples informations, veuillez consulter [Modèles pour contrôler les référentiels créés lors d'une opération d'extraction du cache, d'une création push ou d'une action de réplication](repository-creation-templates.md).
+ Validez vos règles de mise en cache par extraction. Lors de la validation d'une règle de mise en cache par extraction, Amazon ECR établit une connexion réseau avec le registre en amont, vérifie qu'il peut accéder au secret Secrets Manager contenant les informations d'identification du registre en amont et que l'authentification a été réussie. Pour de plus amples informations, veuillez consulter [Validation des règles de cache d'extraction dans Amazon ECR](pull-through-cache-working-validating.md).
+ Commencez à utiliser vos règles de mise en cache par extraction. Pour de plus amples informations, veuillez consulter [Extraction d'une image à l'aide d'une règle de cache d'extraction dans Amazon ECR](pull-through-cache-working-pulling.md).

# Validation des règles de cache d'extraction dans Amazon ECR
<a name="pull-through-cache-working-validating"></a>

Après avoir créé une règle de cache d'extraction, pour les registres en amont qui nécessitent une authentification, vous pouvez vérifier que la règle fonctionne correctement. Lors de la validation d'une règle de cache d'extraction, Amazon ECR établit une connexion réseau avec le registre en amont, vérifie qu'il peut accéder au secret Secrets Manager contenant les informations d'identification du registre en amont et vérifie que l'authentification a réussi.

Avant de commencer à utiliser vos règles de cache d'extraction, vérifiez que vous disposez des autorisations IAM appropriées. Pour de plus amples informations, veuillez consulter [Autorisations IAM requises pour synchroniser un registre en amont avec un registre privé Amazon ECR](pull-through-cache-iam.md).

## Pour valider une règle de mise en cache par extraction (AWS Management Console)
<a name="pull-through-cache-working-verifying-console"></a>

Les étapes suivantes montrent comment valider une règle de mise en cache par extraction à l'aide de la console Amazon ECR.

1. Ouvrez la console Amazon ECR à [https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/)l'adresse.

1. Dans la barre de navigation, choisissez la région contenant la règle de mise en cache par extraction à valider.

1. Dans le panneau de navigation, choisissez **Private registry** (Registre privé), **Pull through cache** (Mise en cache par extraction).

1. Sur la page **Configuration de la mise en cache par extraction**, sélectionnez la règle de mise en cache par extraction à valider. Utilisez ensuite le menu déroulant **Actions** et choisissez **Afficher les détails**.

1. Sur la page des détails de la règle de mise en cache par extraction, utilisez le menu déroulant **Actions** et choisissez **Vérifier l'authentification**. Amazon ECR affichera une bannière avec le résultat.

1. Répétez ces étapes pour chaque règle de mise en cache par extraction que vous souhaitez valider.

## Pour valider une règle de mise en cache par extraction (AWS CLI)
<a name="pull-through-cache-working-verifying-cli"></a>

La AWS CLI commande [validate-pull-through-cache-rule](https://docs.aws.amazon.com/cli/latest/reference/ecr/validate-pull-through-cache-rule.html) est utilisée pour valider une règle de cache d'extraction pour un registre privé Amazon ECR. L'exemple suivant utilise le préfixe d'espace de noms `ecr-public`. Remplacez cette valeur par la valeur du préfixe de la règle de mise en cache par extraction à valider.

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

Dans la réponse, le paramètre `isValid` indique si la validation a réussi ou non. Si `true`, Amazon ECR a pu accéder au registre en amont et l'authentification a réussi. Si `false`, un problème est survenu et la validation a échoué. Le paramètre `failure` indique la cause.

# Extraction d'une image à l'aide d'une règle de cache d'extraction dans Amazon ECR
<a name="pull-through-cache-working-pulling"></a>

Les exemples suivants montrent la syntaxe de commande à utiliser lors de l'extraction d'une image à l'aide d'une règle de mise en cache par extraction. Si vous recevez une erreur lors de l'extraction d'une image en amont à l'aide d'une règle de cache par extraction, consultez [Résolution des problèmes liés au cache d'extraction dans Amazon ECR](error-pullthroughcache.md) pour connaître les erreurs les plus courantes et leurs solutions.

Avant de commencer à utiliser vos règles de cache d'extraction, vérifiez que vous disposez des autorisations IAM appropriées. Pour de plus amples informations, veuillez consulter [Autorisations IAM requises pour synchroniser un registre en amont avec un registre privé Amazon ECR](pull-through-cache-iam.md).

**Note**  
Les exemples suivants utilisent les valeurs d'espace de noms du référentiel Amazon ECR par défaut qu'il utilise. AWS Management Console Assurez-vous que vous utilisez l'URI du référentiel privé Amazon ECR que vous avez configuré.

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

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

## Registre de conteneurs 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>

Pour les images officielles de Docker Hub :

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

**Note**  
Pour les images officielles de Docker Hub, le préfixe `/library` doit être inclus. Pour tous les autres référentiels Docker Hub, vous devez omettre le préfixe `/library`.

Pour toutes les autres images de Docker Hub :

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

## GitHub Registre des conteneurs
<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 Registre des conteneurs
<a name="w2aac28c31b9c13"></a>

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

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

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

# Stockage AWS Secrets Manager secret des informations d'identification de votre référentiel en amont
<a name="pull-through-cache-creating-secret"></a>

Lorsque vous créez une règle de mise en cache par extraction pour un référentiel en amont qui nécessite une authentification, vous devez stocker les informations d'identification dans un secret Secrets Manager. L'utilisation d'un secret Secrets Manager peut entraîner des frais. Pour en savoir plus, consultez [Pricing AWS Secrets Manager](https://aws.amazon.com/secrets-manager/pricing/) (Tarification).

Les procédures suivantes expliquent comment créer un secret Secrets Manager pour chaque référentiel en amont pris en charge. Vous pouvez éventuellement utiliser le flux de travail de création de règles de mise en cache par extraction dans la console Amazon ECR pour créer le secret au lieu de le créer à l'aide de la console Secrets Manager. Pour de plus amples informations, veuillez consulter [Création d'une règle de cache d'extraction dans Amazon ECR](pull-through-cache-creating-rule.md).

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

**Pour créer un secret Secrets Manager pour vos informations d'identification Docker Hub (AWS Management Console)**Pour créer un secret Secrets Manager (AWS Management Console)

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Choisissez **Store a new secret** (Stocker un nouveau secret).

1. Sur la page **Choisir un type de secret**, procédez comme suit.

   1. Pour **Secret type** (Type de secret), choisissez **Other type of secret** (Autre type de secret).

   1. Dans les **paires clé/valeur**, créez deux lignes pour vos informations d'identification Docker Hub. Vous pouvez stocker jusqu'à 65 536 octets dans le secret.

      1. Pour la première key/value paire, spécifiez `username` comme clé et votre nom d'utilisateur Docker Hub comme valeur.

      1. Pour la deuxième key/value paire, spécifiez `accessToken` comme clé et votre jeton d'accès Docker Hub comme valeur. Pour plus d'informations sur la création d'un jeton d'accès Docker Hub, consultez la section [Création et gestion des jetons d'accès](https://docs.docker.com/security/for-developers/access-tokens/) dans la documentation Docker.

   1. Pour la **clé de chiffrement**, conservez la valeur par défaut de AWS KMS key **aws/secretsmanager**, puis choisissez **Suivant**. L'utilisation de cette clé n'entraîne aucun coût. Pour plus d'informations, consultez la section [Chiffrement et déchiffrement de secret dans Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.
**Important**  
Vous devez utiliser la clé de chiffrement par défaut `aws/secretsmanager` pour chiffrer votre secret. Amazon ECR ne prend pas en charge l'utilisation d'une clé gérée par le client (CMK) pour cela.

1. Sur la page **Configurer le secret**, procédez comme suit.

   1. Saisissez un **Secret name** (Nom de secret) descriptif et une **Description**. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode et être préfixés par `ecr-pullthroughcache/`.
**Important**  
Amazon ECR affiche AWS Management Console uniquement les secrets de Secrets Manager dont les noms utilisent le `ecr-pullthroughcache/` préfixe.

   1. (Facultatif) Dans la section **Tags (Balises)**, vous pouvez ajouter une ou plusieurs balises à votre secret. Pour les stratégies de balisage, consultez la [Balise secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Ne stockez pas les informations sensibles dans des balises car elles ne sont pas chiffrées.

   1. (Facultatif) Dans **Resource permissions (Permission de la ressource)**, pour ajouter une stratégie de ressources à votre secret, choisissez **Edit permissions (Modification des autorisations)**. Pour plus d'informations, consultez la rubrique [Attacher une politique d'autorisation à un secret Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. (Facultatif) Dans **Répliquer le secret**, pour répliquer votre secret vers un autre Région AWS, choisissez **Répliquer** le secret. Vous pouvez reproduire votre secret maintenant ou revenir et le répliquer ultérieurement. Pour plus d'informations, consultez la rubrique [Réplication d'un secret vers d'autres régions](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans la page **Configure rotation** (Configurer la rotation), vous pouvez activer la rotation automatique. Vous pouvez également garder la rotation désactivée pour l'instant, puis l'activer plus tard. Pour plus d'informations, consultez la rubrique [Rotation des secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Choisissez **Suivant**.

1. Dans la page **Review (Révision)**, passez en revue vos paramètres, puis choisissez **Store (Stocker)**.

   Secrets Manager revient à la liste des secrets. Si votre nouveau secret n'apparaît pas, choisissez le bouton d'actualisation.

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

**Pour créer un secret Secrets Manager pour vos informations d'identification du registre des GitHub conteneurs (AWS Management Console)**Pour créer un secret Secrets Manager (AWS Management Console)

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Choisissez **Store a new secret** (Stocker un nouveau secret).

1. Sur la page **Choisir un type de secret**, procédez comme suit.

   1. Pour **Secret type** (Type de secret), choisissez **Other type of secret** (Autre type de secret).

   1. Dans les **paires clé/valeur**, créez deux lignes pour vos GitHub informations d'identification. Vous pouvez stocker jusqu'à 65 536 octets dans le secret.

      1. Pour la première key/value paire, spécifiez `username` comme clé et votre GitHub nom d'utilisateur comme valeur.

      1. Pour la deuxième key/value paire, spécifiez `accessToken` comme clé et votre jeton GitHub d'accès comme valeur. Pour plus d'informations sur la création d'un jeton d' GitHub accès, consultez [la section Gestion de vos jetons d'accès personnels](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) dans la GitHub documentation.

   1. Pour la **clé de chiffrement**, conservez la valeur par défaut de AWS KMS key **aws/secretsmanager**, puis choisissez **Suivant**. L'utilisation de cette clé n'entraîne aucun coût. Pour plus d'informations, consultez la section [Chiffrement et déchiffrement de secret dans Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.
**Important**  
Vous devez utiliser la clé de chiffrement par défaut `aws/secretsmanager` pour chiffrer votre secret. Amazon ECR ne prend pas en charge l'utilisation d'une clé gérée par le client (CMK) pour cela.

1. Sur la page **Configure secret** (Configurer le secret), procédez comme suit :

   1. Saisissez un **Secret name** (Nom de secret) descriptif et une **Description**. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode et être préfixés par `ecr-pullthroughcache/`.
**Important**  
Amazon ECR affiche AWS Management Console uniquement les secrets de Secrets Manager dont les noms utilisent le `ecr-pullthroughcache/` préfixe.

   1. (Facultatif) Dans la section **Tags (Balises)**, vous pouvez ajouter une ou plusieurs balises à votre secret. Pour les stratégies de balisage, consultez la [Balise secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Ne stockez pas les informations sensibles dans des balises car elles ne sont pas chiffrées.

   1. (Facultatif) Dans **Resource permissions (Permission de la ressource)**, pour ajouter une stratégie de ressources à votre secret, choisissez **Edit permissions (Modification des autorisations)**. Pour plus d'informations, consultez la rubrique [Attacher une politique d'autorisation à un secret Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. (Facultatif) Dans **Répliquer le secret**, pour répliquer votre secret vers un autre Région AWS, choisissez **Répliquer** le secret. Vous pouvez reproduire votre secret maintenant ou revenir et le répliquer ultérieurement. Pour plus d'informations, consultez la rubrique [Réplication d'un secret vers d'autres régions](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans la page **Configure rotation** (Configurer la rotation), vous pouvez activer la rotation automatique. Vous pouvez également garder la rotation désactivée pour l'instant, puis l'activer plus tard. Pour plus d'informations, consultez la rubrique [Rotation des secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Choisissez **Suivant**.

1. Dans la page **Review (Révision)**, passez en revue vos paramètres, puis choisissez **Store (Stocker)**.

   Secrets Manager revient à la liste des secrets. Si votre nouveau secret n'apparaît pas, choisissez le bouton d'actualisation.

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

**Pour créer un secret Secrets Manager pour vos informations d'identification Microsoft Azure Container Registry (AWS Management Console)**Pour créer un secret Secrets Manager (AWS Management Console)

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Choisissez **Store a new secret** (Stocker un nouveau secret).

1. Sur la page **Choisir un type de secret**, procédez comme suit.

   1. Pour **Secret type** (Type de secret), choisissez **Other type of secret** (Autre type de secret).

   1. Dans les **paires clé/valeur**, créez deux lignes pour vos informations d'identification Microsoft Azure. Vous pouvez stocker jusqu'à 65 536 octets dans le secret.

      1. Pour la première key/value paire, spécifiez `username` comme clé et votre nom d'utilisateur Microsoft Azure Container Registry comme valeur.

      1. Pour la deuxième key/value paire, spécifiez `accessToken` comme clé et votre jeton d'accès au Microsoft Azure Container Registry comme valeur. Pour plus d'informations sur la création d'un jeton d'accès à Microsoft Azure, consultez la section [Créer un jeton - portail](https://learn.microsoft.com/en-us/azure/container-registry/container-registry-repository-scoped-permissions#create-token---portal) dans la documentation Microsoft Azure.

   1. Pour la **clé de chiffrement**, conservez la valeur par défaut de AWS KMS key **aws/secretsmanager**, puis choisissez **Suivant**. L'utilisation de cette clé n'entraîne aucun coût. Pour plus d'informations, consultez la section [Chiffrement et déchiffrement de secret dans Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.
**Important**  
Vous devez utiliser la clé de chiffrement par défaut `aws/secretsmanager` pour chiffrer votre secret. Amazon ECR ne prend pas en charge l'utilisation d'une clé gérée par le client (CMK) pour cela.

1. Sur la page **Configure secret** (Configurer le secret), procédez comme suit :

   1. Saisissez un **Secret name** (Nom de secret) descriptif et une **Description**. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode et être préfixés par `ecr-pullthroughcache/`.
**Important**  
Amazon ECR affiche AWS Management Console uniquement les secrets de Secrets Manager dont les noms utilisent le `ecr-pullthroughcache/` préfixe.

   1. (Facultatif) Dans la section **Tags (Balises)**, vous pouvez ajouter une ou plusieurs balises à votre secret. Pour les stratégies de balisage, consultez la [Balise secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Ne stockez pas les informations sensibles dans des balises car elles ne sont pas chiffrées.

   1. (Facultatif) Dans **Resource permissions (Permission de la ressource)**, pour ajouter une stratégie de ressources à votre secret, choisissez **Edit permissions (Modification des autorisations)**. Pour plus d'informations, consultez la rubrique [Attacher une politique d'autorisation à un secret Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. (Facultatif) Dans **Répliquer le secret**, pour répliquer votre secret vers un autre Région AWS, choisissez **Répliquer** le secret. Vous pouvez reproduire votre secret maintenant ou revenir et le répliquer ultérieurement. Pour plus d'informations, consultez la rubrique [Réplication d'un secret vers d'autres régions](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans la page **Configure rotation** (Configurer la rotation), vous pouvez activer la rotation automatique. Vous pouvez également garder la rotation désactivée pour l'instant, puis l'activer plus tard. Pour plus d'informations, consultez la rubrique [Rotation des secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Choisissez **Suivant**.

1. Dans la page **Review (Révision)**, passez en revue vos paramètres, puis choisissez **Store (Stocker)**.

   Secrets Manager revient à la liste des secrets. Si votre nouveau secret n'apparaît pas, choisissez le bouton d'actualisation.

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

**Pour créer un secret Secrets Manager pour vos informations d'identification du registre des GitLab conteneurs (AWS Management Console)**Pour créer un secret Secrets Manager (AWS Management Console)

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Choisissez **Store a new secret** (Stocker un nouveau secret).

1. Sur la page **Choisir un type de secret**, procédez comme suit.

   1. Pour **Secret type** (Type de secret), choisissez **Other type of secret** (Autre type de secret).

   1. Dans les **paires clé/valeur**, créez deux lignes pour vos GitLab informations d'identification. Vous pouvez stocker jusqu'à 65 536 octets dans le secret.

      1. Pour la première key/value paire, spécifiez `username` comme clé et votre nom d'utilisateur de GitLab Container Registry comme valeur.

      1. Pour la deuxième key/value paire, spécifiez `accessToken` comme clé et votre jeton d'accès au registre des GitLab conteneurs comme valeur. Pour plus d'informations sur la création d'un jeton d'accès au registre des GitLab conteneurs, voir [Jetons d'accès personnels](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html)[, jetons d'accès de groupe](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html) ou [jetons d'accès au projet](https://docs.gitlab.com/ee/user/project/settings/project_access_tokens.html) dans la GitLab documentation.

   1. Pour la **clé de chiffrement**, conservez la valeur par défaut de AWS KMS key **aws/secretsmanager**, puis choisissez **Suivant**. L'utilisation de cette clé n'entraîne aucun coût. Pour plus d'informations, consultez la section [Chiffrement et déchiffrement de secret dans Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.
**Important**  
Vous devez utiliser la clé de chiffrement par défaut `aws/secretsmanager` pour chiffrer votre secret. Amazon ECR ne prend pas en charge l'utilisation d'une clé gérée par le client (CMK) pour cela.

1. Sur la page **Configure secret** (Configurer le secret), procédez comme suit :

   1. Saisissez un **Secret name** (Nom de secret) descriptif et une **Description**. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode et être préfixés par `ecr-pullthroughcache/`.
**Important**  
Amazon ECR affiche AWS Management Console uniquement les secrets de Secrets Manager dont les noms utilisent le `ecr-pullthroughcache/` préfixe.

   1. (Facultatif) Dans la section **Tags (Balises)**, vous pouvez ajouter une ou plusieurs balises à votre secret. Pour les stratégies de balisage, consultez la [Balise secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Ne stockez pas les informations sensibles dans des balises car elles ne sont pas chiffrées.

   1. (Facultatif) Dans **Resource permissions (Permission de la ressource)**, pour ajouter une stratégie de ressources à votre secret, choisissez **Edit permissions (Modification des autorisations)**. Pour plus d'informations, consultez la rubrique [Attacher une politique d'autorisation à un secret Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. (Facultatif) Dans **Répliquer le secret**, pour répliquer votre secret vers un autre Région AWS, choisissez **Répliquer** le secret. Vous pouvez reproduire votre secret maintenant ou revenir et le répliquer ultérieurement. Pour plus d'informations, consultez la rubrique [Réplication d'un secret vers d'autres régions](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans la page **Configure rotation** (Configurer la rotation), vous pouvez activer la rotation automatique. Vous pouvez également garder la rotation désactivée pour l'instant, puis l'activer plus tard. Pour plus d'informations, consultez la rubrique [Rotation des secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Choisissez **Suivant**.

1. Dans la page **Review (Révision)**, passez en revue vos paramètres, puis choisissez **Store (Stocker)**.

   Secrets Manager revient à la liste des secrets. Si votre nouveau secret n'apparaît pas, choisissez le bouton d'actualisation.

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

**Pour créer un secret Secrets Manager pour vos informations d'identification Chainguard ()AWS Management Console**Pour créer un secret Secrets Manager (AWS Management Console)

1. Ouvrez la console Secrets Manager à l'adresse [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Choisissez **Store a new secret** (Stocker un nouveau secret).

1. Sur la page **Choisir un type de secret**, procédez comme suit.

   1. Pour **Secret type** (Type de secret), choisissez **Other type of secret** (Autre type de secret).

   1. Dans les **paires clé/valeur**, créez deux lignes pour vos informations d'identification Chainguard. Vous pouvez stocker jusqu'à 65 536 octets dans le secret.

      1. Pour la première key/value paire, spécifiez `username` comme clé et votre nom d'utilisateur Chainguard Registry comme valeur.

      1. Pour la deuxième key/value paire, spécifiez `accessToken` comme clé et votre jeton d'accès au registre Chainguard comme valeur. Pour plus d'informations sur la création d'un jeton d'extraction du registre Chainguard, voir [Authentification avec un jeton de traction](https://edu.chainguard.dev/chainguard/chainguard-images/chainguard-registry/authenticating/#authenticating-with-a-pull-token) dans la documentation de Chainguard.

   1. Pour la **clé de chiffrement**, conservez la valeur par défaut de AWS KMS key **aws/secretsmanager**, puis choisissez **Suivant**. L'utilisation de cette clé n'entraîne aucun coût. Pour plus d'informations, consultez la section [Chiffrement et déchiffrement de secret dans Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.
**Important**  
Vous devez utiliser la clé de chiffrement par défaut `aws/secretsmanager` pour chiffrer votre secret. Amazon ECR ne prend pas en charge l'utilisation d'une clé gérée par le client (CMK) pour cela.

1. Sur la page **Configure secret** (Configurer le secret), procédez comme suit :

   1. Saisissez un **Secret name** (Nom de secret) descriptif et une **Description**. Les noms des secrets doivent contenir entre 1 et 512 caractères Unicode et être préfixés par `ecr-pullthroughcache/`.
**Important**  
Amazon ECR affiche AWS Management Console uniquement les secrets de Secrets Manager dont les noms utilisent le `ecr-pullthroughcache/` préfixe.

   1. (Facultatif) Dans la section **Tags (Balises)**, vous pouvez ajouter une ou plusieurs balises à votre secret. Pour les stratégies de balisage, consultez la [Balise secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/managing-secrets_tagging.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Ne stockez pas les informations sensibles dans des balises car elles ne sont pas chiffrées.

   1. (Facultatif) Dans **Resource permissions (Permission de la ressource)**, pour ajouter une stratégie de ressources à votre secret, choisissez **Edit permissions (Modification des autorisations)**. Pour plus d'informations, consultez la rubrique [Attacher une politique d'autorisation à un secret Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. (Facultatif) Dans **Répliquer le secret**, pour répliquer votre secret vers un autre Région AWS, choisissez **Répliquer** le secret. Vous pouvez reproduire votre secret maintenant ou revenir et le répliquer ultérieurement. Pour plus d'informations, consultez la rubrique [Réplication d'un secret vers d'autres régions](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *.

   1. Choisissez **Suivant**.

1. (Facultatif) Dans la page **Configure rotation** (Configurer la rotation), vous pouvez activer la rotation automatique. Vous pouvez également garder la rotation désactivée pour l'instant, puis l'activer plus tard. Pour plus d'informations, consultez la rubrique [Rotation des secrets Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) dans le *Guide de l'utilisateur AWS Secrets Manager *. Choisissez **Suivant**.

1. Dans la page **Review (Révision)**, passez en revue vos paramètres, puis choisissez **Store (Stocker)**.

   Secrets Manager revient à la liste des secrets. Si votre nouveau secret n'apparaît pas, choisissez le bouton d'actualisation.

------

# Personnalisation des préfixes de référentiel pour l'ECR vers le cache d'extraction ECR
<a name="pull-through-cache-private-wildcards"></a>

Les règles de cache extractibles prennent en charge à la fois le préfixe **du référentiel ecr et le préfixe** du **référentiel en amont**. Le préfixe de **référentiel ecr est le préfixe** d'espace de noms de référentiel dans le registre de cache Amazon ECR associé à la règle. Tous les référentiels utilisant ce préfixe deviennent des référentiels compatibles avec le cache extractible pour le registre en amont défini dans la règle. Par exemple, le préfixe « » `prod` s'applique à tous les référentiels commençant par. `prod/` Pour appliquer un modèle à tous les référentiels de votre registre auxquels aucune règle de cache d'extraction n'est associée, utilisez-le `ROOT` comme préfixe.

**Important**  
Il y a toujours un `/` supposé/appliqué à la fin du préfixe. Si vous spécifiez `ecr-public` comme préfixe, Amazon ECR le traite comme `ecr-public/`.

Le **préfixe du référentiel en amont** correspond au nom du référentiel en amont. Par défaut, il est défini sur`ROOT`, ce qui permet de faire correspondre n'importe quel référentiel en amont. Vous pouvez définir le **préfixe du référentiel en amont** uniquement lorsque le préfixe du référentiel Amazon ECR n'a pas de valeur. `ROOT`

Le tableau suivant montre le mappage entre les noms de référentiels de cache et les noms de référentiels en amont en fonction de leurs configurations de préfixes dans les règles de cache d'extraction.


|  Espace de noms du cache  |  Espace de noms en amont  |  Relation de mappage (dépôt de cache → référentiel en amont)  | 
| --- | --- | --- | 
|  ecr-public  |  ROOT (par défaut)  |  `ecr-public/my-app/image1` → `my-app/image1` `ecr-public/my-app/image2` → `my-app/image2`  | 
|  RACINE  |  RACINE  |  `my-app/image1` → `my-app/image1`  | 
|  équipe-a  |  équipe-a  |  `team-a/myapp/image1` → `team-a/myapp/image1`  | 
|  mon-app  |  appli en amont  |  `my-app/image1` → `upstream-app/image1`  | 

# Résolution des problèmes liés au cache d'extraction dans Amazon ECR
<a name="error-pullthroughcache"></a>

Voici les erreurs les plus courantes que vous pouvez recevoir lors de l'extraction d'une image en amont à l'aide d'une règle de cache par extraction.

**Le référentiel n'existe pas**  
Une erreur indiquant que le référentiel n'existe pas résulte le plus souvent du fait que le référentiel n'existe pas dans votre registre privé Amazon ECR ou du fait que l'autorisation `ecr:CreateRepository` n'est pas accordée à l'IAM principal qui extrait l'image en amont. Pour résoudre cette erreur, vous devez vérifier que l'URI du référentiel dans votre commande d'extraction est correct, que les autorisations IAM requises sont accordées à l'IAM principal qui extrait l'image en amont ou que le référentiel de l'image en amont vers laquelle vous souhaitez effectuer le transfert est créé dans votre registre privé Amazon ECR avant d'effectuer l'extraction d'image en amont. Pour plus d'informations sur les autorisations IAM requises, consultez [Autorisations IAM requises pour synchroniser un registre en amont avec un registre privé Amazon ECR](pull-through-cache-iam.md)  
Voici un exemple de cette erreur.  

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

**Image demandée introuvable**  
Une erreur indiquant que l'image est introuvable résulte le plus souvent du fait que l'image n'existe pas dans votre registre privé Amazon ECR en amont ou du fait que l'autorisation `ecr:BatchImportUpstreamImage` n'est pas accordée à l'IAM principal qui extrait l'image en amont mais que le référentiel existe déjà dans votre registre privé Amazon ECR. Pour résoudre cette erreur, vous devez vérifier que le nom de l'image en amont et celui de la balise de l'image sont corrects et qu'ils existent, et que les autorisations IAM requises sont accordées à l'IAM principal qui extrait l'image en amont. Pour plus d'informations sur les autorisations IAM requises, consultez [Autorisations IAM requises pour synchroniser un registre en amont avec un registre privé Amazon ECR](pull-through-cache-iam.md).  
Voici un exemple de cette erreur.  

```
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 Interdit lors de l'extraction depuis un dépôt Docker Hub**  
Lorsque vous extrayez un référentiel Docker Hub étiqueté comme **image officielle Docker**, vous devez l'inclure `/library/` dans l'URI que vous utilisez. Par exemple, `aws_account_id.dkr.ecr.region.amazonaws.com/docker-hub/library/image_name:tag`. Si vous omettez `/library/` les images officielles de Docker Hub, une `403 Forbidden` erreur sera renvoyée lorsque vous tenterez d'extraire l'image à l'aide d'une règle de cache d'extraction. Pour de plus amples informations, veuillez consulter [Extraction d'une image à l'aide d'une règle de cache d'extraction dans Amazon ECR](pull-through-cache-working-pulling.md).  
Voici un exemple de cette erreur.  

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