

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.

# Référentiels privés Amazon ECR
<a name="Repositories"></a>

Un référentiel privé Amazon ECR contient vos images Docker, vos images Open Container Initiative (OCI) et vos artefacts compatibles avec OCI. Vous pouvez créer, surveiller et supprimer des référentiels d'images et définir des autorisations qui contrôlent qui peut y accéder à l'aide des opérations de l'API Amazon ECR ou de la section **Référentiels** de la console Amazon ECR. Amazon ECR s'intègre également à la CLI Docker, afin que vous puissiez transférer et extraire des images de vos environnements de développement vers vos référentiels.

**Topics**
+ [Concepts de référentiel privé](#repository-concepts)
+ [Création d'un référentiel privé Amazon ECR pour stocker des images](repository-create.md)
+ [Afficher le contenu et les détails d'un référentiel privé dans Amazon ECR](repository-info.md)
+ [Supprimer un dépôt privé dans Amazon ECR](repository-delete.md)
+ [Politiques relatives aux référentiels privés dans Amazon ECR](repository-policies.md)
+ [Marquage d'un référentiel privé dans Amazon ECR](ecr-using-tags.md)

## Concepts de référentiel privé
<a name="repository-concepts"></a>
+ Par défaut, votre compte dispose d'un accès en lecture et en écriture aux référentiels de votre registre par défaut (`aws_account_id.dkr.ecr.region.amazonaws.com`). Toutefois, les utilisateurs ont besoin d'autorisations pour passer des appels vers Amazon ECR APIs et pour transférer ou extraire des images vers et depuis vos référentiels. Amazon ECR fournit plusieurs politiques gérées pour contrôler l'accès des utilisateurs à différents niveaux. Pour de plus amples informations, veuillez consulter [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md).
+ Les référentiels peuvent être contrôlés à l'aide de politiques d'accès utilisateur et de politiques de référentiel. Pour de plus amples informations, veuillez consulter [Politiques relatives aux référentiels privés dans Amazon ECR](repository-policies.md).
+ Les noms des référentiels peuvent comporter des espaces de noms, que vous pouvez utiliser pour regrouper des référentiels similaires. Par exemple, si plusieurs équipes utilisent le même registre, l'équipe A pourra utiliser l'espace de noms `team-a`, tandis que l'équipe B ajoutera l'espace de noms `team-b`. En faisant cela, chaque équipe a sa propre image appelée `web-app` avec chaque image préfacée avec l'espace de noms de l'équipe. Cette configuration permet que ces images de chaque équipe puissent être utilisées simultanément sans interférence. L'image de l'équipe A est `team-a/web-app`, et l'image de l'équipe B est `team-b/web-app`.
+ Vos images peuvent être répliquées vers d'autres référentiels dans les régions de votre propre registre et entre les comptes. Pour ce faire, indiquez une configuration de réplication dans les paramètres de votre registre. Pour de plus amples informations, veuillez consulter [Paramètres du registre privé dans Amazon ECR](registry-settings.md).
+ Lorsque le montage blob est activé au niveau du registre, les référentiels peuvent partager des couches d'images communes.

# Création d'un référentiel privé Amazon ECR pour stocker des images
<a name="repository-create"></a>

**Important**  
Le chiffrement double couche côté serveur avec AWS KMS (DSSE-KMS) n'est disponible que dans les régions. AWS GovCloud (US) 

Créez un référentiel privé Amazon ECR, puis utilisez-le pour stocker les images de vos conteneurs. Suivez les étapes suivantes pour créer un référentiel privé à l'aide de la AWS Management Console.

**Créer un référentiel (AWS Management Console)**

1. Ouvrez la console Amazon ECR dans les [https://console.aws.amazon.com/ecr/référentiels](https://console.aws.amazon.com/ecr/repositories).

1. Dans la barre de navigation, choisissez la région dans laquelle vous souhaitez créer votre référentiel.

1. Choisissez **Dépôts privés**, puis sélectionnez **Créer un référentiel**.

1. Pour **Nom du référentiel**, saisissez un nom unique pour votre référentiel. Le nom du référentiel peut être spécifié seul (par exemple `nginx-web-app`). Alternativement, il peut être précédé par un espace de noms pour regrouper le référentiel dans une catégorie (par exemple `project-a/nginx-web-app`).
**Note**  
Le nom du référentiel peut contenir un maximum de `256` caractères. Le nom doit commencer par une lettre et peut uniquement contenir des lettres minuscules, des chiffres, des traits d'union, des traits de soulignement, des points et des barres obliques. L'utilisation d'une double barre oblique n'est pas prise en charge.

1. Pour **l'immuabilité des balises Image**, choisissez l'un des paramètres de mutabilité des balises suivants pour le référentiel.
   + **Mutable** : choisissez cette option si vous souhaitez que les balises d'image soient remplacées. Recommandé pour les référentiels utilisant des actions de cache d'extraction afin de garantir qu'Amazon ECR puisse mettre à jour les images mises en cache. En outre, pour désactiver les mises à jour de balises pour quelques balises modifiables, entrez le nom des balises ou utilisez des caractères génériques (\$1) pour faire correspondre plusieurs balises similaires dans la zone de texte d'**exclusion des balises modifiables**.
   + **Immuable** : choisissez cette option si vous souhaitez empêcher le remplacement des balises d'image. Elle s'applique à toutes les balises et exclusions du référentiel lors du transfert d'une image avec une balise existante. Amazon ECR renvoie un `ImageTagAlreadyExistsException` si vous tentez de publier une image avec une balise existante. En outre, pour activer les mises à jour des balises pour quelques balises immuables, entrez les noms des balises ou utilisez des caractères génériques (\$1) pour faire correspondre plusieurs balises similaires dans la zone de texte **Exclusion de balises immuable**. 
**Note**  
Les paramètres de mutabilité des balises individuelles ne sont pas pris en charge.

1. Pour la **configuration du chiffrement**, choisissez entre **AES-256 ou**. ** AWS KMS** Pour de plus amples informations, veuillez consulter [Chiffrement au repos](encryption-at-rest.md).

   1.  Si cette option AWS KMS est sélectionnée, choisissez entre le chiffrement monocouche et le chiffrement double couche. L'utilisation du chiffrement à double couche AWS KMS entraîne des frais supplémentaires. Pour plus d'informations, consultez la section [Amazon ECR Service Pricing](https://aws.amazon.com/ecr/pricing/).

   1. Par défaut, la clé AWS gérée avec l'alias `aws/ecr` est choisie. Cette clé est créée dans votre compte la première fois que vous créez un référentiel avec AWS KMS le chiffrement activé. Sélectionnez **Clé gérée par le client (avancée)** pour choisir votre propre AWS KMS clé. La AWS KMS clé doit se trouver dans la même région que le cluster. Sélectionnez **Créer une AWS KMS clé** pour accéder à la AWS KMS console afin de créer votre propre clé.

1. En ce qui **concerne les paramètres de numérisation d'images**, vous pouvez définir les paramètres de numérisation au niveau du référentiel pour la numérisation de base, mais il est recommandé de spécifier la configuration de numérisation au niveau du registre privé. La configuration des paramètres de numérisation au niveau du registre privé vous permet de choisir entre une analyse améliorée ou une analyse de base, et vous permet également de définir des filtres pour spécifier les référentiels à analyser.

1. Choisissez **Créer**.

**Créer un référentiel (AWS CLI)**

1. Vous pouvez créer un dépôt à l'aide de la **aws ecr create-repository** commande AWS CLI with.

   ```
   aws ecr create-repository \
               --repository-name hello-repository \
               --region region
   ```

1. Si vous avez défini un modèle de création de référentiel, vous pouvez créer un référentiel en diffusant votre image à l'aide des commandes push Amazon ECR habituelles avec le nom de référentiel souhaité. Amazon ECR créera automatiquement le référentiel pour vous en utilisant les paramètres prédéfinis de votre modèle de création de référentiel. Si aucun modèle de création de référentiel n'est encore défini, votre demande à votre référentiel d'images inexistant échouera.

   ```
   docker push aws_account_id.dkr.ecr.region.amazonaws.com/prefix/my-new-repository:tag
   ```

## Étapes suivantes
<a name="procedure_next_steps"></a>

Pour afficher les étapes à suivre pour transférer une image vers votre référentiel, sélectionnez le référentiel et choisissez **Afficher les commandes push**. Pour plus d'informations sur le transfert d'une image vers un référentiel, consultez [Transférer une image vers un référentiel privé Amazon ECR](image-push.md).

# Afficher le contenu et les détails d'un référentiel privé dans Amazon ECR
<a name="repository-info"></a>

Après avoir créé un dépôt privé, vous pouvez consulter les informations le concernant dans AWS Management Console :
+ Images stockées dans un référentiel
+ Les informations sur chaque image stockée dans le référentiel, y compris la taille et le résumé SHA de chaque image
+ La fréquence d'analyse spécifiée pour le contenu du référentiel
+ Indique si le référentiel est associé à une règle de cache par extraction active
+ Les paramètres de chiffrement pour le référentiel

**Note**  
Depuis la version 1.9 de Docker, le client Docker compresse les couches d'images avant de les transmettre à un registre Docker V2. La sortie de la commande **docker images** affiche la taille de l'image non compressée. Par conséquent, n'oubliez pas que Docker peut renvoyer une image plus grande que l'image montrée dans la AWS Management Console.

**Afficher les informations du référentiel (AWS Management Console)**

1. Ouvrez la console Amazon ECR dans les [https://console.aws.amazon.com/ecr/référentiels](https://console.aws.amazon.com/ecr/repositories).

1. Dans la barre de navigation, choisissez la région qui contient le référentiel à afficher.

1. Dans le panneau de navigation, choisissez **Référentiels**.

1. Dans la page **Repositories** (Référentiels), choisissez l'onglet **Private** (Privé), puis choisissez le référentiel à afficher.

1. Sur la page des informations sur le référentiel, la console affiche par défaut la vue **Images**. Utilisez le menu de navigation pour afficher d'autres informations sur le référentiel.
   + Choisissez **Summary** (Récapitulatif) pour afficher les détails du référentiel et les données de comptage d'extraction du référentiel.
   + Choisissez **Images** pour afficher les informations relatives aux balises des images du référentiel. Pour afficher des informations supplémentaires sur l'image, sélectionnez la balise de l'image. Pour de plus amples informations, veuillez consulter [Afficher les détails d'une image dans Amazon ECR](image-info.md).

     Si vous souhaitez supprimer des images non étiquetées, vous pouvez cocher la case à gauche des référentiels à supprimer, puis choisir **Supprimer**. Pour de plus amples informations, veuillez consulter [Supprimer une image dans Amazon ECR](delete_image.md).
   + Choisissez **Autorisations** pour afficher les politiques de référentiel qui sont appliquées au référentiel. Pour de plus amples informations, veuillez consulter [Politiques relatives aux référentiels privés dans Amazon ECR](repository-policies.md).
   + Choisissez **Politique de cycle de vie** pour afficher les règles de politique de cycle de vie qui sont appliquées au référentiel, ainsi que l'historique des événements du cycle de vie. Pour de plus amples informations, veuillez consulter [Automatisez le nettoyage des images en utilisant les politiques de cycle de vie d'Amazon ECR](LifecyclePolicies.md).
   + Choisissez **Étiquettes** pour afficher les étiquettes de métadonnées appliquées au référentiel.

# Supprimer un dépôt privé dans Amazon ECR
<a name="repository-delete"></a>

Si vous n'avez plus besoin d'un référentiel, vous pouvez le supprimer. Lorsque vous supprimez un référentiel dans le AWS Management Console, toutes les images qu'il contient sont également supprimées ; cela ne peut pas être annulé.

**Important**  
Les images des référentiels supprimés sont également supprimées. Vous ne pouvez pas annuler cette opération.

**Supprimer un référentiel (AWS Management Console)**

1. Ouvrez la console Amazon ECR dans les [https://console.aws.amazon.com/ecr/référentiels](https://console.aws.amazon.com/ecr/repositories).

1. Dans la barre de navigation, choisissez la région qui contient le référentiel à supprimer.

1. Dans le panneau de navigation, choisissez **Référentiels**.

1. Dans la page **Repositories** (Référentiels), choisissez la page **Private** (Privé), puis sélectionnez le référentiel à supprimer et choisissez **Delete** (Supprimer).

1. Dans la *repository\$1name* fenêtre **Supprimer**, vérifiez que les référentiels sélectionnés doivent être supprimés et choisissez **Supprimer**.

# Politiques relatives aux référentiels privés dans Amazon ECR
<a name="repository-policies"></a>

Amazon ECR utilise les autorisations basées sur les ressources pour contrôler l'accès aux référentiels. Les autorisations basées sur les ressources vous permettent de spécifier quels utilisateurs ou rôles ont accès à un référentiel et quelles actions ils peuvent effectuer sur le référentiel. Par défaut, seul le AWS compte qui a créé le référentiel a accès au référentiel. Vous pouvez appliquer une politique de dépôt qui autorise un accès supplémentaire à votre dépôt.

**Topics**
+ [Politiques de référentiel vs politiques IAM](#repository-policy-vs-iam-policy)
+ [Exemples de politiques relatives aux référentiels privés dans Amazon ECR](repository-policy-examples.md)
+ [Définition d'une déclaration de politique de dépôt privé dans Amazon ECR](set-repository-policy.md)

## Politiques de référentiel vs politiques IAM
<a name="repository-policy-vs-iam-policy"></a>

Les politiques de référentiel Amazon ECR constituent un sous-ensemble de politiques IAM spécifiquement limitées et utilisées pour contrôler l'accès aux référentiels Amazon ECR individuels. Les politiques IAM sont généralement utilisées pour appliquer des autorisations pour l'ensemble du service Amazon ECR, mais elles peuvent également être utilisées pour contrôler l'accès à des ressources spécifiques.

Les politiques de référentiel Amazon ECR et les politiques IAM sont utilisées pour déterminer les actions qu'un utilisateur ou un rôle particulier peut effectuer sur un référentiel. Si un utilisateur ou un rôle est autorisé à effectuer une action via une politique de référentiel, mais se voit refuser l'autorisation via une politique IAM (ou inversement), l'action sera refusée. Un utilisateur ou un rôle doit être autorisé à effectuer une action par une politique de référentiel ou par une stratégie IAM, mais pas par les deux, pour que l'action soit autorisée.

**Important**  
Amazon ECR exige que les utilisateurs aient l'autorisation d'effectuer des appels d'API `ecr:GetAuthorizationToken` via une politique IAM avant qu'ils puissent s'authentifier auprès d'un référentiel et transmettre ou extraire des images à partir d'un référentiel Amazon ECR. Amazon ECR fournit plusieurs politiques IAM gérées pour contrôler l'accès des utilisateurs à différents niveaux. Pour de plus amples informations, veuillez consulter [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md).

Vous pouvez utiliser l'un ou l'autre de ces types de politique pour contrôler l'accès à vos référentiels, comme illustré dans les exemples suivants.

Cet exemple présente une politique de référentiel Amazon ECR qui autorise un utilisateur spécifique à décrire le référentiel et les images de ce référentiel.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECRRepositoryPolicy",
            "Effect": "Allow",
            "Principal": {"AWS": "arn:aws:iam::111122223333:user/username"},
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Cet exemple présente une politique IAM qui permet d'atteindre le même objectif que ci-dessus en délimitant la politique à un référentiel (spécifié par l'ARN complet du référentiel) à l'aide du paramètre de ressource. Pour en savoir plus sur le format Amazon Resource Name (ARN), consultez [Ressources](security_iam_service-with-iam.md#security_iam_service-with-iam-id-based-policies-resources).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowDescribeRepoImage",
            "Effect": "Allow",
            "Action": [
                "ecr:DescribeImages",
                "ecr:DescribeRepositories"
            ],
            "Resource": ["arn:aws:ecr:us-east-1:111122223333:repository/repository-name"]
        }
    ]
}
```

------

# Exemples de politiques relatives aux référentiels privés dans Amazon ECR
<a name="repository-policy-examples"></a>

**Important**  
Les exemples de politique de référentiel présentés sur cette page sont destinés à être appliqués aux référentiels privés Amazon ECR. Ils ne fonctionneront pas correctement s'ils sont utilisés directement avec un principal IAM, sauf s'ils sont modifiés pour spécifier le référentiel Amazon ECR comme ressource. Pour plus d'informations sur les paramètres des politiques de référentiel, consultez [Définition d'une déclaration de politique de dépôt privé dans Amazon ECR](set-repository-policy.md).

Les politiques de référentiel Amazon ECR constituent un sous-ensemble de politiques IAM spécifiquement limitées et utilisées pour contrôler l'accès aux référentiels Amazon ECR individuels. Les politiques IAM sont généralement utilisées pour appliquer des autorisations pour l'ensemble du service Amazon ECR, mais elles peuvent également être utilisées pour contrôler l'accès à des ressources spécifiques. Pour de plus amples informations, veuillez consulter [Politiques de référentiel vs politiques IAM](repository-policies.md#repository-policy-vs-iam-policy).

Les exemples de politique de référentiel suivants illustrent des déclarations d'autorisation que vous pouvez utiliser pour contrôler l'accès à vos référentiels privés Amazon ECR.

**Important**  
Amazon ECR exige que les utilisateurs aient l'autorisation d'effectuer des appels d'API `ecr:GetAuthorizationToken` via une politique IAM avant qu'ils puissent s'authentifier auprès d'un référentiel et transmettre ou extraire des images à partir d'un référentiel Amazon ECR. Amazon ECR fournit plusieurs politiques IAM gérées pour contrôler l'accès des utilisateurs à différents niveaux. Pour de plus amples informations, veuillez consulter [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md).

## Exemple : Autoriser un ou plusieurs utilisateurs
<a name="IAM_within_account"></a>

La politique de référentiel suivante autorise un ou plusieurs utilisateurs à transmettre et extraire des images vers et depuis un référentiel.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPushPull",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/push-pull-user-1",
                    "arn:aws:iam::111122223333:user/push-pull-user-2"
                ]
            },
            "Action": [
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability",
                "ecr:CompleteLayerUpload",
                "ecr:GetDownloadUrlForLayer",
                "ecr:InitiateLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exemple : autoriser un autre compte
<a name="IAM_allow_other_accounts"></a>

La politique de référentiel suivante autorise un compte spécifique à transmettre des images.

**Important**  
Le compte auquel vous octroyez des autorisations doit avoir activé la région dans laquelle vous créez la politique de référentiel, sinon une erreur se produira.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCrossAccountPush",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "ecr:BatchCheckLayerAvailability",
                "ecr:CompleteLayerUpload",
                "ecr:InitiateLayerUpload",
                "ecr:PutImage",
                "ecr:UploadLayerPart"
            ],
            "Resource": "*"
        }
    ]
}
```

------

La politique de dépôt suivante permet à certains utilisateurs d'extraire des images (*pull-user-1*et*pull-user-2*) tout en fournissant un accès complet à une autre (*admin-user*).

**Note**  
Pour les politiques de référentiel plus complexes qui ne sont actuellement pas prises en charge dans le AWS Management Console, vous pouvez appliquer la politique à l'aide de la [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI commande.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowPull",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:user/pull-user-1",
                    "arn:aws:iam::111122223333:user/pull-user-2"
                ]
            },
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Sid": "AllowAll",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/admin-user"
            },
            "Action": [
                "ecr:*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exemple : Refuser tout
<a name="IAM_deny_all"></a>

La politique de référentiel suivante permet à tous les utilisateurs de tous les comptes d'extraire des images.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyPull",
            "Effect": "Deny",
            "Principal": "*",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Exemple : Restriction de l'accès à des adresses IP spécifiques
<a name="IAM_restrict_ip"></a>

L'exemple suivant refuse des autorisations à tout utilisateur souhaitant effectuer des opérations Amazon ECR appliquées à un référentiel à partir d'une plage d'adresses spécifique.

La condition contenue dans cette déclaration identifie la `54.240.143.*` plage d'adresses IP autorisées du protocole Internet version 4 (IPv4).

Le `Condition` bloc utilise les `NotIpAddress` conditions et la clé de `aws:SourceIp` condition, qui est une clé AWS de condition étendue. Pour obtenir plus d'informations sur les clés de condition, consultez la section [Clés de contexte de condition globale AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html). Les `aws:sourceIp` IPv4 valeurs utilisent la notation CIDR standard. Pour plus d’informations, consultez [Opérateurs de condition d’adresse IP](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_IPAddress) dans le *Guide de l’utilisateur IAM*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ECRPolicyId1",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "ecr:*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "54.240.143.0/24"
                }
            }
        }
    ]
}
```

------

## Exemple : autoriser un AWS service
<a name="IAM_service_linked"></a>

La politique de référentiel suivante autorise l' AWS CodeBuild accès aux actions de l'API Amazon ECR nécessaires à l'intégration avec ce service. Lorsque vous utilisez l'exemple suivant, vous devez utiliser les clés de condition `aws:SourceArn` et `aws:SourceAccount` pour définir quelles ressources peuvent assumer ces autorisations. Pour plus d'informations, consultez l'[exemple Amazon ECR CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-ecr.html) dans le *guide de l'AWS CodeBuild utilisateur*.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"CodeBuildAccess",
         "Effect":"Allow",
         "Principal":{
            "Service":"codebuild.amazonaws.com"
         },
         "Action":[
            "ecr:BatchGetImage",
            "ecr:GetDownloadUrlForLayer"
         ],
         "Resource": "*",
         "Condition":{
            "ArnLike":{
               "aws:SourceArn":"arn:aws:codebuild:us-east-1:123456789012:project/project-name"
            },
            "StringEquals":{
               "aws:SourceAccount":"123456789012"
            }
         }
      }
   ]
}
```

------

# Définition d'une déclaration de politique de dépôt privé dans Amazon ECR
<a name="set-repository-policy"></a>

Vous pouvez ajouter une déclaration de politique d'accès à un référentiel dans le AWS Management Console en suivant les étapes ci-dessous. Vous pouvez ajouter plusieurs instructions de politique par référentiel. Pour obtenir des exemples de politiques, consultez [Exemples de politiques relatives aux référentiels privés dans Amazon ECR](repository-policy-examples.md).

**Important**  
Amazon ECR exige que les utilisateurs aient l'autorisation d'effectuer des appels d'API `ecr:GetAuthorizationToken` via une politique IAM avant qu'ils puissent s'authentifier auprès d'un référentiel et transmettre ou extraire des images à partir d'un référentiel Amazon ECR. Amazon ECR fournit plusieurs politiques IAM gérées pour contrôler l'accès des utilisateurs à différents niveaux. Pour de plus amples informations, veuillez consulter [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md).

**Définir une instruction de politique de référentiel**

1. Ouvrez la console Amazon ECR dans les [https://console.aws.amazon.com/ecr/référentiels](https://console.aws.amazon.com/ecr/repositories).

1. Dans la barre de navigation, choisissez la région qui contient le référentiel pour lequel vous souhaitez définir une instruction de politique.

1. Dans le panneau de navigation, choisissez **Référentiels**.

1. Dans la page **Référentiels**, choisissez le référentiel pour lequel vous souhaitez définir une instruction de politique pour afficher le contenu du référentiel.

1. Dans la vue de liste des images du référentiel, dans le panneau de navigation, sélectionnez **Autorisations**, **Modifier**.
**Note**  
Si vous ne voyez pas l'option **Autorisations** dans le panneau de navigation, vérifiez que vous êtes dans la vue de la liste des images du référentiel.

1. Dans la page **Modifier des autorisations**, choisissez **Ajouter une instruction**.

1. Pour **Nom d'instruction**, saisissez un nom pour l'instruction.

1. Pour **Effet**, choisissez si l'instruction de politique entraînera une autorisation ou un refus explicite.

1. Pour **principal**, choisissez l'étendue à laquelle s'applique l'instruction de politique. Pour en savoir plus, consultez [AWS Éléments de politique JSON  : principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans le *guide de l'utilisateur IAM*.
   + Vous pouvez appliquer la déclaration à tous les AWS utilisateurs authentifiés en cochant la case **Tout le monde (\$1)**.
   + Pour **principal du service**, indiquez le nom du principal du service (par exemple, `ecs.amazonaws.com`) pour appliquer l'instruction à un service particulier.
   + Dans **AWS Compte IDs**, spécifiez un numéro de AWS compte (par exemple,`111122223333`) pour appliquer le relevé à tous les utilisateurs d'un AWS compte spécifique. Il est possible de préciser plusieurs comptes à l'aide d'une liste séparée par des virgules.
**Important**  
Le compte auquel vous octroyez des autorisations doit avoir activé la région dans laquelle vous créez la politique de référentiel, sinon une erreur se produira.
   + Pour les **entités IAM**, sélectionnez les rôles ou les utilisateurs de votre AWS compte auxquels appliquer la déclaration.
**Note**  
Pour les politiques de référentiel plus complexes qui ne sont actuellement pas prises en charge dans le AWS Management Console, vous pouvez appliquer la politique à l'aide de la [https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html](https://docs.aws.amazon.com/cli/latest/reference/ecr/set-repository-policy.html) AWS CLI commande.

1. Pour **Actions**, choisissez l'étendue des opérations d'API Amazon ECR auxquelles l'instruction de politique doit s'appliquer dans la liste des opérations d'API individuelles.

1. Lorsque vous aurez terminé, choisissez **Enregistrer** pour définir la politique.

1. Répétez l'étape précédente pour chaque politique de référentiel à ajouter.

# Marquage d'un référentiel privé dans Amazon ECR
<a name="ecr-using-tags"></a>

*Pour vous aider à gérer vos référentiels Amazon ECR, vous pouvez attribuer vos propres métadonnées à des référentiels Amazon ECR nouveaux ou existants à l'aide de balises de ressource. AWS * Par exemple, vous pouvez définir un ensemble d'identifications pour les référentiels Amazon ECR de votre compte qui vous aide à suivre le propriétaire de chaque référentiel.

## Principes de base des étiquettes
<a name="tag-basics"></a>

Les balises n'ont pas de signification sémantique pour Amazon ECR et sont interprétées strictement comme des chaînes de caractères. Les balises ne sont pas automatiquement affectées à vos ressources. Vous pouvez modifier les clés et valeurs de balise, et vous pouvez retirer des balises d’une ressource à tout moment. Vous pouvez définir la valeur d’une balise sur une chaîne vide, mais vous ne pouvez pas définir la valeur d’une balise sur null. Si vous ajoutez une balise ayant la même clé qu’une balise existante sur cette ressource, la nouvelle valeur remplace l’ancienne valeur. Si vous supprimez une ressource, ses balises sont également supprimées.

Vous pouvez travailler avec des balises à l'aide de la console Amazon ECR, du AWS CLI, et de l'API Amazon ECR.

À l'aide de Gestion des identités et des accès AWS (IAM), vous pouvez contrôler quels utilisateurs de votre AWS compte sont autorisés à créer, modifier ou supprimer des tags. Pour plus d'informations sur les balises dans les politiques IAM, consultez[Utilisation du contrôle d'accès basé sur les balises](ecr-supported-iam-actions-tagging.md).

## Identification de vos ressources pour facturation
<a name="tag-resources-for-billing"></a>

Les balises que vous ajoutez à vos référentiels Amazon ECR sont utiles lorsque vous examinez l'allocation des coûts après les avoir activés dans votre rapport Coût et utilisation. Pour de plus amples informations, veuillez consulter [Rapports d'utilisation d'Amazon ECR](usage-reports.md).

Pour voir le coût de vos ressources combinées, vous pouvez organiser vos informations de facturation en fonction des ressources possédant les mêmes valeurs de clé d‘étiquette. Par exemple, vous pouvez étiqueter plusieurs ressources avec un nom d'application spécifique, puis organiser vos informations de facturation pour afficher le coût total de cette application dans plusieurs services. Pour en savoir plus sur la configuration d'un rapport de répartition des coûts avec des étiquettes, consultez [Rapport d'allocation des coûts mensuel](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/configurecostallocreport.html) dans le *guide de l'utilisateur AWS Billing *.

**Note**  
Si vous venez d’activer la création de rapports, les données du mois en cours peuvent être consultées après 24 heures.

# Ajouter des balises à un référentiel privé dans Amazon ECR
<a name="adding-tags-repositories"></a>

Vous pouvez ajouter des balises à un dépôt privé.

Pour plus d'informations sur les noms et les meilleures pratiques relatives aux balises, consultez les sections [Limites et exigences en matière de dénomination](https://docs.aws.amazon.com//tag-editor/latest/userguide/tagging.html#tag-conventions) des balises et [Bonnes pratiques](https://docs.aws.amazon.com//tag-editor/latest/userguide/tagging.html#tag-best-practices) du *Guide de l'utilisateur AWS des ressources de balisage*.

## Ajouter des balises à un référentiel (AWS Management Console)
<a name="tag-resources-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, sélectionnez la région à utiliser.

1. Dans le panneau de navigation, choisissez **Référentiels**.

1. Sur la page **Référentiels**, cochez la case en regard du référentiel que vous voulez baliser.

1. Dans le menu **Action**, sélectionnez **Balises du référentiel**.

1. Sur la page **Balises du référentiel**, sélectionnez **Ajouter des balises**, **Ajouter une balise**.

1. Sur la page **Modifier les balises du référentiel**, spécifiez la clé et la valeur de chaque balise, puis choisissez **Enregistrer**.

## Ajouter des balises à un référentiel (AWS CLI ou à une API)
<a name="tag-resources-api-sdk"></a>

Vous pouvez ajouter ou remplacer une ou plusieurs balises à l'aide de l'API AWS CLI ou d'une API.
+ AWS CLI - [tag-ressource](https://docs.aws.amazon.com/cli/latest/reference/ecr/tag-resource.html)
+ Action de l'API - [TagResource](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_TagResource.html)

Les exemples suivants montrent comment ajouter des balises à l'aide du AWS CLI.

**Exemple 1 : étiqueter un dépôt**  
La commande suivante balise un référentiel.

```
aws ecr tag-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \
     --tags Key=stack,Value=dev
```

**Exemple 2 : étiqueter un dépôt avec plusieurs balises**  
La commande suivante ajoute trois balises à un référentiel.

```
aws ecr tag-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \
     --tags Key=key1,Value=value1 Key=key2,Value=value2 Key=key3,Value=value3
```

**Exemple 3 : Afficher la liste des balises d'un référentiel**  
La commande suivante répertorie les balises associées à un référentiel.

```
aws ecr list-tags-for-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name
```

**Exemple 4 : Création d'un référentiel et ajout d'une balise**  
La commande suivante permet de créer un référentiel nommé `test-repo` et d'ajouter une balise avec la clé `team` et la valeur `devs`.

```
aws ecr create-repository \
     --repository-name test-repo \
     --tags Key=team,Value=devs
```

# Supprimer des balises d'un référentiel privé dans Amazon ECR
<a name="deleting-tags-repositories"></a>

Vous pouvez supprimer des balises d'un dépôt privé.

## Pour supprimer un tag d'un dépôt privé (AWS Management Console)
<a name="deleting-tags-repositories-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, sélectionnez la région à utiliser.

1. Sur la page **Référentiels**, cochez la case en regard du référentiel dont vous voulez supprimer une balise.

1. Dans le menu **Action**, sélectionnez **Balises du référentiel**.

1. Sur la page **Balises du référentiel**, sélectionnez **Modifier**.

1. Sur la page **Modifier les balises du référentiel**, sélectionnez **Supprimer** pour chaque balise que vous voulez supprimer, puis choisissez **Enregistrer**.

## Pour supprimer un tag d'un dépôt privé (AWS CLI)
<a name="deleting-tags-repositories-cli"></a>

Vous pouvez supprimer une ou plusieurs balises à l'aide de l'API AWS CLI ou d'une API.
+ AWS CLI - [untag-resource](https://docs.aws.amazon.com/cli/latest/reference/ecr/untag-resource.html)
+ Action de l'API - [UntagResource](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_UntagResource.html)

L'exemple suivant montre comment supprimer une balise d'un référentiel à l'aide du AWS CLI.

```
aws ecr untag-resource \
     --resource-arn arn:aws:ecr:region:account_id:repository/repository_name \
     --tag-keys tag_key
```