

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.

# Autorisations de registre privé dans Amazon ECR
<a name="registry-permissions"></a>

 Amazon ECR utilise une **politique de registre** pour accorder des autorisations à un principal AWS au niveau du registre privé.

Le champ d'application est défini en choisissant la version de la politique de registre. Il existe deux versions avec une portée de politique de registre différente : la version 1 (V1) et la version 2 (V2). La V2 est le champ d'application étendu de la politique de registre qui inclut toutes les autorisations ECR. Pour obtenir la liste complète des actions d'API, consultez le *[guide des API Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/Welcome.html)* La version V2 est le champ d'application de la politique de registre par défaut. Pour plus d'informations sur l'affichage ou la définition de la portée de votre politique de registre, consultez[Passage à la portée étendue de la politique de registre](registry-permissions-account-settings.md). Pour plus d'informations sur les paramètres généraux de votre registre privé Amazon ECR, consultez[Paramètres du registre privé dans Amazon ECR](registry-settings.md).

 Les versions sont détaillées comme suit.
+ **V1** — Pour la version 1, Amazon ECR applique uniquement les autorisations suivantes au niveau du registre privé.
  + `ecr:ReplicateImage` : accorde l'autorisation à un autre compte, appelé registre source, pour répliquer ses images dans votre registre. Ceci est uniquement utilisé pour la réplication entre comptes.
  + `ecr:BatchImportUpstreamImage` – Accorde l'autorisation de récupérer l'image externe et de l'importer dans votre registre privé.
  + `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 répliquées ou mises en cache n'existe pas déjà dans le registre privé.
+ **V2** — Pour la version 2, Amazon ECR autorise toutes les actions ECR dans la politique et applique la politique de registre dans toutes les demandes ECR.

Vous pouvez utiliser la console ou la CLI pour afficher ou modifier le champ d'application de votre politique de registre.

**Note**  
Bien qu'il soit possible d'ajouter l'`ecr:*`action à une politique de registre privé, il est recommandé de n'ajouter que les actions spécifiques requises en fonction de la fonctionnalité que vous utilisez plutôt que d'utiliser un caractère générique.

**Topics**
+ [Exemples de politiques de registre privé pour Amazon ECR](registry-permissions-examples.md)
+ [Passage à la portée étendue de la politique de registre](registry-permissions-account-settings.md)
+ [Octroi d'autorisations de registre pour la réplication entre comptes dans Amazon ECR](registry-permissions-create-replication.md)
+ [Octroi d'autorisations de registre pour le cache d'extraction dans Amazon ECR](registry-permissions-create-pullthroughcache.md)

# Exemples de politiques de registre privé pour Amazon ECR
<a name="registry-permissions-examples"></a>

Les exemples suivants illustrent des déclarations de politique que vous pouvez utiliser pour contrôler les autorisations octroyées aux utilisateurs sur votre registre Amazon ECR.

**Note**  
Dans chaque exemple, si l'`ecr:CreateRepository`action est supprimée de votre politique de registre, la réplication peut toujours avoir lieu. Toutefois, pour une réplication réussie, vous devez créer des référentiels portant le même nom dans votre compte.

## Exemple : autoriser tous les principaux IAM d'un compte source à répliquer tous les référentiels
<a name="registry-permissions-examples-all"></a>

La politique d'autorisation de registre suivante permet à tous les principaux IAM (utilisateurs et rôles) d'un compte source de répliquer tous les référentiels.

Notez ce qui suit :
+ **Important :** Lorsque vous spécifiez un Compte AWS ID en tant que principal dans une politique, vous accordez l'accès à tous les utilisateurs et rôles IAM au sein de ce compte, et pas uniquement à l'utilisateur root. Cela permet un accès étendu à l'ensemble du compte.
+ **Considérations relatives à la sécurité :** les autorisations au niveau du compte accordent l'accès à toutes les entités IAM du compte spécifié. Pour un accès plus restrictif, spécifiez des utilisateurs et des rôles IAM individuels ou utilisez des instructions de condition pour limiter davantage l'accès.

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

****  

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

------

## Exemple : autoriser les principaux IAM à accéder à plusieurs comptes
<a name="registry-permissions-examples-multiple"></a>

La politique d'autorisation de registre suivante comporte deux déclarations. Chaque instruction permet à tous les principaux IAM (utilisateurs et rôles) d'un compte source de répliquer tous les référentiels.

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

****  

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

------

## Exemple : autorisez tous les principaux IAM d'un compte source à répliquer tous les référentiels avec un préfixe. `prod-`
<a name="registry-permissions-examples-specific"></a>

La politique d'autorisation de registre suivante permet à tous les principaux IAM (utilisateurs et rôles) d'un compte source de répliquer tous les référentiels commençant par. ` prod-`

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

****  

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

------

# Passage à la portée étendue de la politique de registre
<a name="registry-permissions-account-settings"></a>

**Important**  
Pour les nouveaux utilisateurs, vos registres sont automatiquement configurés pour utiliser la politique de ` V2` registre lors de leur création. Vous n'avez aucune action à effectuer. Amazon ECR ne recommande pas de revenir à l'ancienne politique de registre. `V1`

Vous pouvez utiliser la console ou la CLI pour afficher ou modifier le champ d'application de votre politique de registre.

------
#### [ AWS Management Console ]

Suivez les étapes ci-dessous pour consulter les paramètres de votre compte. Pour afficher ou mettre à jour la portée de la politique de registre, consultez la procédure CLI sur cette page.

**Activez la politique de registre améliorée pour votre registre privé**

1.  [Ouvrez la console Amazon ECR sur private-registry/repositories https://console.aws.amazon.com/ecr/](https://console.aws.amazon.com/ecr/private-registry/repositories)

1. Dans la barre de navigation, choisissez la région.

1. Dans le volet de navigation, sélectionnez **Registre privé**, **Fonctionnalité et paramètres**, puis sélectionnez **Autorisations**.

1. Sur la page **Autorisations**, pour la **politique de registre**, consultez votre politique JSON. Si vous avez la politique V1, une bannière s'affiche avec les instructions de mise à jour vers la V2. Sélectionnez **Activer**.

   Une bannière s'affiche indiquant que le champ d'application de la politique de registre a été mis à jour vers la version V2.

1. Vous pouvez également éventuellement configurer les autorisations à l'aide de la CLI. Pour de plus amples informations, veuillez consulter [Paramètres du registre privé dans Amazon ECR](registry-settings.md).
**Note**  
Pour afficher ou mettre à jour la portée de la politique de registre, consultez la procédure CLI sur cette page.

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

Amazon ECR génère la politique de registre V2. Suivez les étapes ci-dessous pour afficher ou mettre à jour le champ d'application de la politique de registre. Impossible d'afficher ou de modifier l'étendue de la politique de registre dans la console
+ Pour récupérer la politique de registre que vous utilisez actuellement.

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

   Le nom du paramètre est un champ obligatoire. Si vous ne fournissez pas le nom, le message d'erreur suivant s'affichera :

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

  Affichez le résultat de votre commande de politique de registre. Dans l'exemple de sortie suivant, la version de la politique de registre est V1.

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

  Vous pouvez modifier la version de votre politique de registre de `V1` à`V2`. La version 1 n'est pas le champ d'application de la politique de registre recommandé.

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

  Par exemple, utilisez la commande suivante pour passer à la version V2.

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

  Affichez le résultat de votre commande de politique de registre. Dans l'exemple de sortie suivant, la version de la politique de registre a été mise à jour vers la version V2.

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

------

# Octroi d'autorisations de registre pour la réplication entre comptes dans Amazon ECR
<a name="registry-permissions-create-replication"></a>

Le type de politique entre comptes est utilisé pour accorder des autorisations à un AWS principal, permettant ainsi la réplication des référentiels d'un registre source vers votre registre. Par défaut, vous avez l'autorisation de configurer la réplication inter-régions dans votre propre registre. Vous devez uniquement configurer la politique de registre si vous accordez à un autre compte l'autorisation de répliquer du contenu dans votre registre.

Une politique de registre doit octroyer l'autorisation pour l'action d'API `ecr:ReplicateImage`. Cette API est une API Amazon ECR interne qui peut répliquer des images entre régions ou comptes. Vous pouvez également octroyer l'autorisation pour l'autorisation ` ecr:CreateRepository`, qui permet à Amazon ECR de créer des référentiels dans votre registre s'ils n'existent pas déjà. Si l'autorisation `ecr:CreateRepository` n'est pas octroyée, un référentiel portant le même nom que le référentiel source doit être créé manuellement dans votre registre. Si aucun des deux n'est fait, la réplication échouera. Tout échec `CreateRepository` ou toute action d'`ReplicateImage`API apparaît dans CloudTrail.

## Pour configurer une politique d'autorisations pour la réplication (AWS Management Console)
<a name="registry-permissions-create-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 configurer votre politique de registre.

1. Dans le volet de navigation, choisissez **Registre privé**, **Fonctionnalités et paramètres**, puis **Autorisations**.

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

1. Effectuez les étapes suivantes pour définir votre déclaration de politique à l'aide du générateur de politique.

   1. Pour **Type de politique**, choisissez **Réplication - comptes croisés**.

   1. Pour **Numéro de relevé**, entrez un identifiant de relevé unique. Ce champ est utilisé comme `Sid` dans la politique de registre.

   1. Dans le champ **Comptes**, entrez le compte IDs pour chaque compte auquel vous souhaitez accorder des autorisations. Lorsque vous spécifiez plusieurs comptes IDs, séparez-les par une virgule.

1. Choisissez **Enregistrer**.

## Pour configurer une politique d'autorisations pour la réplication (AWS CLI)
<a name="registry-permissions-create-cli"></a>

1. Créez un fichier nommé `registry_policy.json` et remplissez-le avec une politique de registre.

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

****  

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

------

1. Créez la politique de registre à l'aide du fichier de politique.

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

1. Récupérez la politique de votre registre pour confirmer.

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

# Octroi d'autorisations de registre pour le cache d'extraction dans Amazon ECR
<a name="registry-permissions-create-pullthroughcache"></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é.

**Pour créer une politique d'autorisations de registre privée (AWS Management Console)**

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 volet de navigation, choisissez **Registre privé**, **Fonctionnalités et paramètres**, puis **Autorisations**.

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 l'espace de **noms du cache**, sélectionnez la règle de cache d'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`.