

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.

# Sécurité dans le registre de conteneur Amazon Elastic
<a name="security"></a>

La sécurité du cloud AWS est la priorité absolue. En tant que AWS client, vous bénéficiez d'un centre de données et d'une architecture réseau conçus pour répondre aux exigences des entreprises les plus sensibles en matière de sécurité.

La sécurité est une responsabilité partagée entre vous AWS et vous. Le [modèle de responsabilité partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) décrit cette notion par les termes sécurité *du* cloud et sécurité *dans* le cloud :
+ **Sécurité du cloud** : AWS est chargée de protéger l'infrastructure qui exécute les AWS services dans le AWS cloud. AWS vous fournit également des services que vous pouvez utiliser en toute sécurité. Des auditeurs tiers testent et vérifient régulièrement l'efficacité de notre sécurité dans le cadre des [programmes de conformitéAWS](https://aws.amazon.com/compliance/programs/). Pour en savoir plus sur les programmes de conformité qui s'appliquent à Amazon ECR, consultez [Services AWS concernés par le programme de conformité](https://aws.amazon.com/compliance/services-in-scope/).
+ **Sécurité dans le cloud** — Votre responsabilité est déterminée par le AWS service que vous utilisez. Vous êtes également responsable d’autres facteurs, y compris de la sensibilité de vos données, des exigences de votre entreprise, ainsi que de la législation et de la réglementation applicables. 

Cette documentation vous aide à comprendre comment appliquer le modèle de responsabilité partagée lorsque vous utiliser Amazon ECR. Les rubriques suivantes vous expliquent comment configurer Amazon ECR afin de répondre à vos objectifs de sécurité et de conformité. Vous apprendrez également à utiliser d'autres AWS services qui vous aident à surveiller et à sécuriser vos ressources Amazon ECR. 

**Topics**
+ [Gestion des identités et des accès au registre de conteneur Amazon Elastic](security-iam.md)
+ [Protection des données dans Amazon ECR](data-protection.md)
+ [Validation de conformité pour le registre de conteneur Amazon Elastic](ecr-compliance.md)
+ [Sécurité de l'infrastructure dans le registre de conteneur Amazon Elastic](infrastructure-security.md)
+ [Prévention du cas de figure de l’adjoint désorienté entre services](cross-service-confused-deputy-prevention.md)

# Gestion des identités et des accès au registre de conteneur Amazon Elastic
<a name="security-iam"></a>

Gestion des identités et des accès AWS (IAM) est un outil Service AWS qui permet à un administrateur de contrôler en toute sécurité l'accès aux AWS ressources. Des administrateurs IAM contrôlent les personnes qui peuvent être *authentifiées*(connectées) et *autorisées* (disposant d'autorisations) à utiliser des ressources Amazon ECR. IAM est un Service AWS outil que vous pouvez utiliser sans frais supplémentaires.

**Topics**
+ [Public ciblé](#security_iam_audience)
+ [Authentification par des identités](#security_iam_authentication)
+ [Gestion de l’accès à l’aide de politiques](#security_iam_access-manage)
+ [Fonctionnement du registre de conteneur Amazon Elastic avec IAM](security_iam_service-with-iam.md)
+ [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md)
+ [Utilisation du contrôle d'accès basé sur les balises](ecr-supported-iam-actions-tagging.md)
+ [AWS politiques gérées pour Amazon Elastic Container Registry](security-iam-awsmanpol.md)
+ [Utilisation des rôles liés à un service pour Amazon ECR](using-service-linked-roles.md)
+ [Dépannage de l'identité et de l'accès au registre de conteneur Amazon Elastic](security_iam_troubleshoot.md)

## Public ciblé
<a name="security_iam_audience"></a>

La façon dont vous utilisez Gestion des identités et des accès AWS (IAM) varie en fonction de votre rôle :
+ **Utilisateur du service** : demandez des autorisations à votre administrateur si vous ne pouvez pas accéder aux fonctionnalités (voir [Dépannage de l'identité et de l'accès au registre de conteneur Amazon Elastic](security_iam_troubleshoot.md))
+ **Administrateur du service** : déterminez l’accès des utilisateurs et soumettez les demandes d’autorisation (voir [Fonctionnement du registre de conteneur Amazon Elastic avec IAM](security_iam_service-with-iam.md))
+ **Administrateur IAM** : rédigez des politiques pour gérer l’accès (voir [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md))

## Authentification par des identités
<a name="security_iam_authentication"></a>

L'authentification est la façon dont vous vous connectez à AWS l'aide de vos informations d'identification. Vous devez être authentifié en tant qu'utilisateur IAM ou en assumant un rôle IAM. Utilisateur racine d'un compte AWS

Vous pouvez vous connecter en tant qu'identité fédérée à l'aide d'informations d'identification provenant d'une source d'identité telle que AWS IAM Identity Center (IAM Identity Center), d'une authentification unique ou d'informations d'identification. Google/Facebook Pour plus d’informations sur la connexion, consultez [Connexion à votre Compte AWS](https://docs.aws.amazon.com/signin/latest/userguide/how-to-sign-in.html) dans le *Guide de l’utilisateur Connexion à AWS *.

Pour l'accès par programmation, AWS fournit un SDK et une CLI pour signer les demandes de manière cryptographique. Pour plus d’informations, consultez [Signature AWS Version 4 pour les demandes d’API](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) dans le *Guide de l’utilisateur IAM*.

### Compte AWS utilisateur root
<a name="security_iam_authentication-rootuser"></a>

 Lorsque vous créez un Compte AWS, vous commencez par une seule identité de connexion appelée *utilisateur Compte AWS root* qui dispose d'un accès complet à toutes Services AWS les ressources. Il est vivement déconseillé d’utiliser l’utilisateur racine pour vos tâches quotidiennes. Pour les tâches qui requièrent des informations d’identification de l’utilisateur racine, consultez [Tâches qui requièrent les informations d’identification de l’utilisateur racine](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks) dans le *Guide de l’utilisateur IAM*. 

### Utilisateurs et groupes IAM
<a name="security_iam_authentication-iamuser"></a>

Un *[utilisateur IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html)* est une identité qui dispose d’autorisations spécifiques pour une seule personne ou application. Nous vous recommandons d’utiliser ces informations d’identification temporaires au lieu des utilisateurs IAM avec des informations d’identification à long terme. Pour plus d'informations, voir [Exiger des utilisateurs humains qu'ils utilisent la fédération avec un fournisseur d'identité pour accéder à AWS l'aide d'informations d'identification temporaires](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-users-federation-idp) dans le *guide de l'utilisateur IAM*.

[https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html) spécifient une collection d’utilisateurs IAM et permettent de gérer plus facilement les autorisations pour de grands ensembles d’utilisateurs. Pour plus d’informations, consultez [Cas d’utilisation pour les utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/gs-identities-iam-users.html) dans le *Guide de l’utilisateur IAM*.

### Rôles IAM
<a name="security_iam_authentication-iamrole"></a>

Un *[rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)* est une identité dotée d’autorisations spécifiques qui fournit des informations d’identification temporaires. Vous pouvez assumer un rôle en [passant d'un rôle d'utilisateur à un rôle IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) ou en appelant une opération d' AWS API AWS CLI ou d'API. Pour plus d’informations, consultez [Méthodes pour endosser un rôle](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) dans le *Guide de l’utilisateur IAM*.

Les rôles IAM sont utiles pour l’accès des utilisateurs fédérés, les autorisations temporaires des utilisateurs IAM, les accès intercompte, les accès entre services et les applications exécutées sur Amazon EC2. Pour plus d’informations, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

## Gestion de l’accès à l’aide de politiques
<a name="security_iam_access-manage"></a>

Vous contrôlez l'accès en AWS créant des politiques et en les associant à AWS des identités ou à des ressources. Une politique définit les autorisations lorsqu'elles sont associées à une identité ou à une ressource. AWS évalue ces politiques lorsqu'un directeur fait une demande. La plupart des politiques sont stockées AWS sous forme de documents JSON. Pour plus d’informations les documents de politique JSON, consultez [Vue d’ensemble des politiques JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json) dans le *Guide de l’utilisateur IAM*.

À l’aide de politiques, les administrateurs précisent qui a accès à quoi en définissant quel **principal** peut effectuer des **actions** sur quelles **ressources** et dans quelles **conditions**.

Par défaut, les utilisateurs et les rôles ne disposent d’aucune autorisation. Un administrateur IAM crée des politiques IAM et les ajoute aux rôles, que les utilisateurs peuvent ensuite assumer. Les politiques IAM définissent les autorisations quelle que soit la méthode que vous utilisez pour exécuter l’opération.

### Politiques basées sur l’identité
<a name="security_iam_access-manage-id-based-policies"></a>

Les stratégies basées sur l’identité sont des documents de stratégie d’autorisations JSON que vous attachez à une identité (utilisateur, groupe ou rôle). Ces politiques contrôlent les actions que peuvent exécuter ces identités, sur quelles ressources et dans quelles conditions. Pour découvrir comment créer une politique basée sur l’identité, consultez [Définition d’autorisations IAM personnalisées avec des politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) dans le *Guide de l’utilisateur IAM*.

Les politiques basées sur l’identité peuvent être des *politiques intégrées* (intégrées directement dans une seule identité) ou des *politiques gérées (politiques* autonomes associées à plusieurs identités). Pour découvrir comment choisir entre des politiques gérées et en ligne, consultez [Choix entre les politiques gérées et les politiques en ligne](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-choosing-managed-or-inline.html) dans le *Guide de l’utilisateur IAM*.

### Politiques basées sur les ressources
<a name="security_iam_access-manage-resource-based-policies"></a>

Les politiques basées sur les ressources sont des documents de politique JSON que vous attachez à une ressource. Les exemples incluent *les politiques de confiance de rôle* IAM et les *stratégies de compartiment* Amazon S3. Dans les services qui sont compatibles avec les politiques basées sur les ressources, les administrateurs de service peuvent les utiliser pour contrôler l’accès à une ressource spécifique. Vous devez [spécifier un principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dans une politique basée sur les ressources.

Les politiques basées sur les ressources sont des politiques en ligne situées dans ce service. Vous ne pouvez pas utiliser les politiques AWS gérées par IAM dans une stratégie basée sur les ressources.

### Autres types de politique
<a name="security_iam_access-manage-other-policies"></a>

AWS prend en charge des types de politiques supplémentaires qui peuvent définir les autorisations maximales accordées par les types de politiques les plus courants :
+ **Limites d’autorisations** : une limite des autorisations définit le nombre maximum d’autorisations qu’une politique basée sur l’identité peut accorder à une entité IAM. Pour plus d’informations, consultez [Limites d’autorisations pour des entités IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) dans le *Guide de l’utilisateur IAM*.
+ **Politiques de contrôle des services (SCPs)** — Spécifiez les autorisations maximales pour une organisation ou une unité organisationnelle dans AWS Organizations. Pour plus d’informations, consultez [Politiques de contrôle de service](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) dans le *Guide de l’utilisateur AWS Organizations *.
+ **Politiques de contrôle des ressources (RCPs)** : définissez le maximum d'autorisations disponibles pour les ressources de vos comptes. Pour plus d'informations, voir [Politiques de contrôle des ressources (RCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_rcps.html) dans le *guide de AWS Organizations l'utilisateur*.
+ **Politiques de session** : politiques avancées que vous passez en tant que paramètre lorsque vous créez par programmation une session temporaire pour un rôle ou un utilisateur fédéré. Pour plus d’informations, consultez [Politiques de session](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session) dans le *Guide de l’utilisateur IAM*.

### Plusieurs types de politique
<a name="security_iam_access-manage-multiple-policies"></a>

Lorsque plusieurs types de politiques s’appliquent à la requête, les autorisations en résultant sont plus compliquées à comprendre. Pour savoir comment AWS déterminer s'il faut autoriser une demande lorsque plusieurs types de politiques sont impliqués, consultez la section [Logique d'évaluation des politiques](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) dans le *guide de l'utilisateur IAM*.

# Fonctionnement du registre de conteneur Amazon Elastic avec IAM
<a name="security_iam_service-with-iam"></a>

Avant d'utiliser IAM pour gérer les accès à Amazon ECR, vous devez comprendre quelles sont les fonctions IAM qui peuvent être utilisées avec Amazon ECR. Pour obtenir une vue d'ensemble de la manière dont Amazon ECR et les autres AWS services fonctionnent avec IAM, consultez la section [AWS Services That Work with IAM dans le guide de l'utilisateur *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

**Topics**
+ [Politiques basées sur les identités Amazon ECR](#security_iam_service-with-iam-id-based-policies)
+ [Politiques basées sur les ressources Amazon ECR](#security_iam_service-with-iam-resource-based-policies)
+ [Autorisation basée sur les balises Amazon ECR](#security_iam_service-with-iam-tags)
+ [Rôles IAM Amazon ECR](#security_iam_service-with-iam-roles)

## Politiques basées sur les identités Amazon ECR
<a name="security_iam_service-with-iam-id-based-policies"></a>

Avec les politiques IAM basées sur l'identité, vous pouvez spécifier des actions et ressources autorisées ou refusées, ainsi que les conditions dans lesquelles les actions sont autorisées ou refusées. Amazon ECR est compatible avec des actions, des ressources et des clés de condition spécifiques. Pour en savoir plus sur tous les éléments que vous utilisez dans une politique JSON, consultez [Références des éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) dans le *Guide de l’utilisateur IAM*.

### Actions
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Action` d’une politique JSON décrit les actions que vous pouvez utiliser pour autoriser ou refuser l’accès à une politique. Intégration d’actions dans une politique afin d’accorder l’autorisation d’exécuter les opérations associées.

Les actions de politique dans Amazon ECR utilisent le préfixe suivant avant l'action : `ecr:`. Par exemple, pour accorder à une personne l'autorisation de créer un référentiel Amazon ECR à l'aide de l'opération d'API `CreateRepository` Amazon ECR, vous devez inclure l'action `ecr:CreateRepository` dans sa politique. Les déclarations de politique doivent inclure un élément `Action` ou `NotAction`. Amazon ECR définit son propre ensemble d'actions qui décrivent les tâches que vous pouvez effectuer avec ce service.

Pour spécifier plusieurs actions dans une seule déclaration, séparez-les par des virgules comme suit :

```
"Action": [
      "ecr:action1",
      "ecr:action2"
```

Vous pouvez aussi spécifier plusieurs actions à l’aide de caractères génériques (\$1). Par exemple, pour spécifier toutes les actions qui commencent par le mot `Describe`, incluez l'action suivante :

```
"Action": "ecr:Describe*"
```



Pour afficher la liste des actions Amazon ECR, consultez [Actions, ressources et clés de condition pour le registre de conteneur Amazon Elastic](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html) dans le *guide de l'utilisateur IAM*.

### Ressources
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément de politique JSON `Resource` indique le ou les objets auxquels l’action s’applique. Il est recommandé de définir une ressource à l’aide de son [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Pour les actions qui ne sont pas compatibles avec les autorisations de niveau ressource, utilisez un caractère générique (\$1) afin d’indiquer que l’instruction s’applique à toutes les ressources.

```
"Resource": "*"
```



Une ressource de référentiel Amazon ECR possède l'ARN suivant :

```
arn:${Partition}:ecr:${Region}:${Account}:repository/${Repository-name}
```

Pour plus d'informations sur le format de ARNs, consultez [Amazon Resource Names (ARNs) et AWS Service Namespaces](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).

Par exemple, pour spécifier le référentiel `my-repo` dans la région `us-east-1` dans votre instruction, utilisez l'ARN suivant :

```
"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
```

Pour spécifier tous les référentiels qui appartiennent à un compte spécifique, utilisez le caractère générique (\$1) :

```
"Resource": "arn:aws:ecr:us-east-1:123456789012:repository/*"
```

Pour spécifier plusieurs ressources dans une seule instruction, séparez-les ARNs par des virgules. 

```
"Resource": [
      "resource1",
      "resource2"
```

Pour consulter la liste des types de ressources Amazon ECR et leurs caractéristiques ARNs, consultez la section [Ressources définies par Amazon Elastic Container Registry](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-resources-for-iam-policies) dans le guide de l'*utilisateur IAM*. Pour connaître les actions avec lesquelles vous pouvez spécifier l'ARN de chaque ressource, consultez [Actions définies par le registre de conteneur Amazon Elastic](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Clés de condition
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Les administrateurs peuvent utiliser les politiques AWS JSON pour spécifier qui a accès à quoi. C’est-à-dire, quel **principal** peut effectuer **des actions** sur quelles **ressources** et dans quelles **conditions**.

L’élément `Condition` indique à quel moment les instructions s’exécutent en fonction de critères définis. Vous pouvez créer des expressions conditionnelles qui utilisent des [opérateurs de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), tels que les signes égal ou inférieur à, pour faire correspondre la condition de la politique aux valeurs de la demande. Pour voir toutes les clés de condition AWS globales, voir les clés de [contexte de condition AWS globales](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.

Amazon ECR définit son propre ensemble de clés de condition et est également compatible avec l'utilisation de certaines clés de condition globales. Pour voir toutes les clés de condition AWS globales, consultez la section [Clés contextuelles de condition AWS globale](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) dans le *guide de l'utilisateur IAM*.



La plupart des actions Amazon ECR prennent en charge les clés de condition `aws:ResourceTag` et `ecr:ResourceTag`. Pour de plus amples informations, veuillez consulter [Utilisation du contrôle d'accès basé sur les balises](ecr-supported-iam-actions-tagging.md).

Pour afficher la liste des clés de condition Amazon ECR, consultez [Clés de condition définies par le registre de conteneur Amazon Elastic](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-policy-keys) dans le *guide de l’utilisateur IAM*. Pour savoir avec quelles actions et ressources vous pouvez utiliser une clé de condition, consultez [Actions définies par le registre de conteneur Amazon Elastic](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonelasticcontainerregistry.html#amazonelasticcontainerregistry-actions-as-permissions).

### Exemples
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Pour voir des exemples de politiques Amazon ECR basées sur l'identité, consultez [Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic](security_iam_id-based-policy-examples.md).

## Politiques basées sur les ressources Amazon ECR
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Les politiques basées sur les ressources sont des documents de politique JSON précisant les actions qu'un principal spécifié peut effectuer sur la ressource Amazon ECR et dans quelles conditions. Amazon ECR prend en charge les politiques d'autorisation basées sur les ressources pour les référentiels Amazon ECR. Les politiques basées sur les ressources permettent d'accorder une autorisation à d'autres comptes en fonction des ressources. Vous pouvez également utiliser une politique basée sur une ressource pour autoriser un service AWS à accéder à vos référentiels Amazon ECR.

Pour permettre un accès comptes multiples, vous pouvez spécifier un compte entier ou des entités IAM dans un autre compte en tant que [principal dans une politique basée sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). L’ajout d’un principal intercompte à une politique basée sur les ressources ne représente qu’une partie de l’instauration de la relation d’approbation. Lorsque le principal et la ressource se trouvent dans des AWS comptes différents, vous devez également accorder à l'entité principale l'autorisation d'accéder à la ressource. Accordez l'autorisation en attachant une stratégie basée sur les identités à l'entité. Toutefois, si une politique basée sur les ressources accorde l'accès à un principal sur le même compte, vous n'avez pas besoin d'autorisations supplémentaires sur le référentiel Amazon ECR dans la politique basée sur l'identité. Pour en savoir plus, consultez [Différence entre les rôles IAM et les politiques basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_compare-resource-policies.html) dans le *guide de l’utilisateur IAM*.

Le service Amazon ECR prend en charge un seul type de politique basée sur une ressource, nommée *politique de référentiel*, qui est attachée à un *référentiel* Cette politique définit les entités principales (comptes, utilisateurs, rôles et utilisateurs fédérés) qui peuvent effectuer des actions sur le référentiel. Pour savoir comment attacher une politique basée sur les ressources à un référentiel, consultez [Politiques relatives aux référentiels privés dans Amazon ECR](repository-policies.md).

**Note**  
Dans une politique de référentiel Amazon ECR, l'élément de stratégie`Sid` prend en charge les caractères et les espaces supplémentaires qui ne sont pas pris en charge dans les politiques IAM.

### Exemples
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>



Pour consulter des exemples de politiques basées sur les ressources ,Amazon ECR, consultez [Exemples de politiques relatives aux référentiels privés dans Amazon ECR](repository-policy-examples.md).

## Autorisation basée sur les balises Amazon ECR
<a name="security_iam_service-with-iam-tags"></a>

Vous pouvez rattacher des balises aux ressources Amazon ECR ou transmettre des balises dans une demande à Amazon ECR. Pour contrôler l'accès basé sur des balises, vous devez fournir les informations de balises dans l'[élément de condition](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) d'une politique utilisant les clés de condition `ecr:ResourceTag/key-name`, `aws:RequestTag/key-name` ou `aws:TagKeys`. Pour en savoir plus sur le balisage des ressources Amazon ECR, consultez [Marquage d'un référentiel privé dans Amazon ECR](ecr-using-tags.md).

Pour visualiser un exemple de politique basée sur l'identité permettant de limiter l'accès à une ressource en fonction des balises de cette ressource, consultez [Utilisation du contrôle d'accès basé sur les balises](ecr-supported-iam-actions-tagging.md).

## Rôles IAM Amazon ECR
<a name="security_iam_service-with-iam-roles"></a>

Un [rôle IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) est une entité de votre AWS compte qui possède des autorisations spécifiques.

### Utiliser des informations d'identification temporaires avec Amazon ECR
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Vous pouvez utiliser des informations d’identification temporaires pour vous connecter à l’aide de la fédération, endosser un rôle IAM ou encore pour endosser un rôle intercompte. Vous obtenez des informations d'identification de sécurité temporaires en appelant des opérations d' AWS STS API telles que [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)ou [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html). 

Amazon ECR est compatible avec l'utilisation des informations d'identification temporaires. 

### Rôles liés à un service
<a name="security_iam_service-with-iam-roles-service-linked"></a>

Les [rôles liés aux](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) AWS services permettent aux services d'accéder aux ressources d'autres services pour effectuer une action en votre nom. Les rôles liés à un service s’affichent dans votre compte IAM et sont la propriété du service. Un administrateur IAM peut consulter, mais ne peut pas modifier, les autorisations concernant les rôles liés à un service.

Amazon ECR prend en charge les rôles liés à un service. Pour de plus amples informations, veuillez consulter [Utilisation des rôles liés à un service pour Amazon ECR](using-service-linked-roles.md).

# Exemples de politiques basées sur l'identité du registre de conteneur Amazon Elastic
<a name="security_iam_id-based-policy-examples"></a>

Par défaut, les utilisateurs et les rôles ne sont pas autorisés à créer ou à modifier les ressources Amazon ECR. Pour octroyer aux utilisateurs des autorisations d’effectuer des actions sur les ressources dont ils ont besoin, un administrateur IAM peut créer des politiques IAM.

Pour apprendre à créer une politique basée sur l’identité IAM à l’aide de ces exemples de documents de politique JSON, consultez [Création de politiques IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) dans le *Guide de l’utilisateur IAM*.

Pour en savoir plus sur les actions et les types de ressources définis par Amazon ECR, y compris le format de chaque type de ressource, consultez la section [Actions, ressources et clés de condition pour Amazon Elastic Container Registry](https://docs.aws.amazon.com/service-authorization/latest/reference/ecr.html) dans le *Service Authorization Reference*. ARNs 

Pour savoir comment créer une politique IAM basée sur l’identité à l’aide de ces exemples de documents de politique JSON, consultez [Création de politiques dans l’onglet JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-json-editor) dans le *Guide de l’utilisateur IAM*.

**Topics**
+ [Bonnes pratiques en matière de politiques](#security_iam_service-with-iam-policy-best-practices)
+ [Utiliser la console Amazon ECR](#security_iam_id-based-policy-examples-console)
+ [Autoriser les utilisateurs à afficher leurs propres autorisations](#security_iam_id-based-policy-examples-view-own-permissions)
+ [Accéder à un seul référentiel Amazon ECR](#security_iam_id-based-policy-examples-access-one-bucket)

## Bonnes pratiques en matière de politiques
<a name="security_iam_service-with-iam-policy-best-practices"></a>

Les politiques basées sur l'identité déterminent si une personne peut créer, consulter ou supprimer des ressources Amazon ECR dans votre compte. Ces actions peuvent entraîner des frais pour votre Compte AWS. Lorsque vous créez ou modifiez des politiques basées sur l’identité, suivez ces instructions et recommandations :
+ **Commencez AWS par les politiques gérées et passez aux autorisations du moindre privilège : pour commencer à accorder des autorisations** à vos utilisateurs et à vos charges de travail, utilisez les *politiques AWS gérées* qui accordent des autorisations pour de nombreux cas d'utilisation courants. Ils sont disponibles dans votre Compte AWS. Nous vous recommandons de réduire davantage les autorisations en définissant des politiques gérées par les AWS clients spécifiques à vos cas d'utilisation. Pour plus d’informations, consultez [politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) ou [politiques gérées par AWS pour les activités professionnelles](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) dans le *Guide de l’utilisateur IAM*.
+ **Accordez les autorisations de moindre privilège** : lorsque vous définissez des autorisations avec des politiques IAM, accordez uniquement les autorisations nécessaires à l’exécution d’une seule tâche. Pour ce faire, vous définissez les actions qui peuvent être entreprises sur des ressources spécifiques dans des conditions spécifiques, également appelées *autorisations de moindre privilège*. Pour plus d’informations sur l’utilisation d’IAM pour appliquer des autorisations, consultez [politiques et autorisations dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez des conditions dans les politiques IAM pour restreindre davantage l’accès** : vous pouvez ajouter une condition à vos politiques afin de limiter l’accès aux actions et aux ressources. Par exemple, vous pouvez écrire une condition de politique pour spécifier que toutes les demandes doivent être envoyées via SSL. Vous pouvez également utiliser des conditions pour accorder l'accès aux actions de service si elles sont utilisées par le biais d'un service spécifique Service AWS, tel que CloudFormation. Pour plus d’informations, consultez [Conditions pour éléments de politique JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dans le *Guide de l’utilisateur IAM*.
+ **Utilisez l’Analyseur d’accès IAM pour valider vos politiques IAM afin de garantir des autorisations sécurisées et fonctionnelles** : l’Analyseur d’accès IAM valide les politiques nouvelles et existantes de manière à ce que les politiques IAM respectent le langage de politique IAM (JSON) et les bonnes pratiques IAM. IAM Access Analyzer fournit plus de 100 vérifications de politiques et des recommandations exploitables pour vous aider à créer des politiques sécurisées et fonctionnelles. Pour plus d’informations, consultez [Validation de politiques avec IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) dans le *Guide de l’utilisateur IAM*.
+ **Exiger l'authentification multifactorielle (MFA**) : si vous avez un scénario qui nécessite des utilisateurs IAM ou un utilisateur root, activez l'authentification MFA pour une sécurité accrue. Compte AWS Pour exiger la MFA lorsque des opérations d’API sont appelées, ajoutez des conditions MFA à vos politiques. Pour plus d’informations, consultez [Sécurisation de l’accès aux API avec MFA](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) dans le *Guide de l’utilisateur IAM*.

Pour plus d’informations sur les bonnes pratiques dans IAM, consultez [Bonnes pratiques de sécurité dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans le *Guide de l’utilisateur IAM*.

## Utiliser la console Amazon ECR
<a name="security_iam_id-based-policy-examples-console"></a>

Pour accéder à la console du registre de conteneur Amazon Elastic, vous devez disposer d'un jeu minimum d'autorisations. Ces autorisations doivent vous permettre de répertorier et de consulter les informations relatives aux ressources Amazon ECR de votre AWS compte. Si vous créez une politique basée sur l’identité qui est plus restrictive que l’ensemble minimum d’autorisations requis, la console ne fonctionnera pas comme prévu pour les entités (utilisateurs ou rôles) tributaires de cette politique.

Pour garantir que ces entités peuvent toujours utiliser la console Amazon ECR, ajoutez la politique `AmazonEC2ContainerRegistryReadOnly` AWS gérée aux entités. Pour en savoir plus, consultez [Ajouter des autorisations à un utilisateur](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dans le *guide de l’utilisateur IAM*.

Pour voir les autorisations de cette stratégie, consultez [AmazonElasticContainerRegistryPublicReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElasticContainerRegistryPublicReadOnly.html) dans le *AWS Guide de référence des stratégies gérées par*.

Il n'est pas nécessaire d'accorder des autorisations de console minimales aux utilisateurs qui appellent uniquement l'API AWS CLI ou l' AWS API. Autorisez plutôt l’accès à uniquement aux actions qui correspondent à l’opération d’API que vous tentez d’effectuer.

## Autoriser les utilisateurs à afficher leurs propres autorisations
<a name="security_iam_id-based-policy-examples-view-own-permissions"></a>

Cet exemple montre comment créer une politique qui permet aux utilisateurs IAM d’afficher les politiques en ligne et gérées attachées à leur identité d’utilisateur. Cette politique inclut les autorisations permettant d'effectuer cette action sur la console ou par programmation à l'aide de l'API AWS CLI or AWS .

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ViewOwnUserInfo",
            "Effect": "Allow",
            "Action": [
                "iam:GetUserPolicy",
                "iam:ListGroupsForUser",
                "iam:ListAttachedUserPolicies",
                "iam:ListUserPolicies",
                "iam:GetUser"
            ],
            "Resource": ["arn:aws:iam::*:user/${aws:username}"]
        },
        {
            "Sid": "NavigateInConsole",
            "Effect": "Allow",
            "Action": [
                "iam:GetGroupPolicy",
                "iam:GetPolicyVersion",
                "iam:GetPolicy",
                "iam:ListAttachedGroupPolicies",
                "iam:ListGroupPolicies",
                "iam:ListPolicyVersions",
                "iam:ListPolicies",
                "iam:ListUsers"
            ],
            "Resource": "*"
        }
    ]
}
```

## Accéder à un seul référentiel Amazon ECR
<a name="security_iam_id-based-policy-examples-access-one-bucket"></a>

Dans cet exemple, vous souhaitez accorder à un utilisateur de votre AWS compte l'accès à l'un de vos référentiels Amazon ECR. `my-repo` Vous souhaitez également autoriser l'utilisateur à transférer, tirer et lister des images.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"GetAuthorizationToken",
         "Effect":"Allow",
         "Action":[
            "ecr:GetAuthorizationToken"
         ],
         "Resource":"*"
      },
      {
         "Sid":"ManageRepositoryContents",
         "Effect":"Allow",
         "Action":[
                "ecr:BatchCheckLayerAvailability",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetRepositoryPolicy",
                "ecr:DescribeRepositories",
                "ecr:ListImages",
                "ecr:DescribeImages",
                "ecr:BatchGetImage",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage"
         ],
         "Resource":"arn:aws:ecr:us-east-1:123456789012:repository/my-repo"
      }
   ]
}
```

------

# Utilisation du contrôle d'accès basé sur les balises
<a name="ecr-supported-iam-actions-tagging"></a>

L'action d'`CreateRepository`API Amazon ECR vous permet de spécifier des balises lorsque vous créez le référentiel. Pour de plus amples informations, veuillez consulter [Marquage d'un référentiel privé dans Amazon ECR](ecr-using-tags.md).

Pour permettre aux utilisateurs d'attribuer des balises aux référentiels au moment de la création, ils doivent avoir les autorisations d'utiliser l'action qui crée la ressource (par exemple, `ecr:CreateRepository`). Si les balises sont spécifiées dans l’action de création de ressources, Amazon effectue une autorisation supplémentaire sur l’action `ecr:CreateRepository` pour vérifier si les utilisateurs sont autorisés à créer des balises.

Vous pouvez utiliser le contrôle d’accès basé sur des balises via des politiques IAM. Voici quelques exemples.

La politique suivante autorise uniquement un utilisateur à créer ou baliser un référentiel en tant que `key=environment,value=dev`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCreateTaggedRepository",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "dev"
                }
            }
        },
        {
            "Sid": "AllowTagRepository",
            "Effect": "Allow",
            "Action": [
                "ecr:TagResource"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "dev"
                }
            }
        }
    ]
}
```

------

La politique suivante autoriserait un utilisateur à extraire des images de tous les référentiels, sauf si elles sont étiquetées comme`key=environment,value=prod`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ecr:ResourceTag/environment": "prod"
                }
            }
        }
    ]
}
```

------

# AWS politiques gérées pour Amazon Elastic Container Registry
<a name="security-iam-awsmanpol"></a>

Une politique AWS gérée est une politique autonome créée et administrée par AWS. AWS les politiques gérées sont conçues pour fournir des autorisations pour de nombreux cas d'utilisation courants afin que vous puissiez commencer à attribuer des autorisations aux utilisateurs, aux groupes et aux rôles.

N'oubliez pas que les politiques AWS gérées peuvent ne pas accorder d'autorisations de moindre privilège pour vos cas d'utilisation spécifiques, car elles sont accessibles à tous les AWS clients. Nous vous recommandons de réduire encore les autorisations en définissant des [politiques gérées par le client](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies) qui sont propres à vos cas d’utilisation.

Vous ne pouvez pas modifier les autorisations définies dans les politiques AWS gérées. Si les autorisations définies dans une politique AWS gérée sont AWS mises à jour, la mise à jour affecte toutes les identités principales (utilisateurs, groupes et rôles) auxquelles la politique est attachée. AWS est le plus susceptible de mettre à jour une politique AWS gérée lorsqu'une nouvelle Service AWS est lancée ou lorsque de nouvelles opérations d'API sont disponibles pour les services existants.

Pour plus d’informations, consultez [Politiques gérées par AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *Guide de l’utilisateur IAM*.

Amazon ECR fournit plusieurs politiques gérées que vous pouvez associer aux identités IAM ou aux instances Amazon EC2. Ces politiques gérées permettent différents niveaux de contrôle sur l'accès aux ressources Amazon ECR et aux opérations d'API. Pour en savoir plus sur chaque opération d'API mentionnée dans ces politiques, consultez[Actions](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_Operations.html) dans la *Référence de l'API du registre de conteneur Amazon Elastic*.

**Topics**
+ [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess)
+ [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser)
+ [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly)
+ [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly)
+ [`AWSECRPullThroughCache_ServiceRolePolicy`](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy)
+ [`ECRReplicationServiceRolePolicy`](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy)
+ [`ECRTemplateServiceRolePolicy`](#security-iam-awsmanpol-ECRTemplateServiceRolePolicy)
+ [Amazon ECR met à jour les politiques AWS gérées](#security-iam-awsmanpol-updates)

## Amazon EC2 ContainerRegistryFullAccess
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess"></a>

Vous pouvez associer la politique `AmazonEC2ContainerRegistryFullAccess` à vos identités IAM. Cette politique accorde un accès administratif aux ressources Amazon ECR et accorde à une identité IAM (telle qu'un utilisateur, un groupe ou un rôle) un accès aux AWS services auxquels Amazon ECR est intégré afin d'utiliser toutes les fonctionnalités d'Amazon ECR. L'utilisation de cette politique permet d'accéder à toutes les fonctionnalités d'Amazon ECR disponibles dans le AWS Management Console.

Pour consulter les autorisations associées à cette politique, consultez [Amazon EC2 ContainerRegistryFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryFullAccess.html) dans le *AWS Managed Policy Reference*.

## Amazon EC2 ContainerRegistryPowerUser
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser"></a>

Vous pouvez attacher la politique `AmazonEC2ContainerRegistryPowerUser` à vos identités IAM. Cette politique accorde des autorisations d'administration qui permettent aux utilisateurs IAM de lire et d'écrire dans des référentiels, mais elle ne leur permet pas de supprimer des référentiels ni de modifier les documents de la politique qui leur sont appliqués.

Pour consulter les autorisations associées à cette politique, consultez [Amazon EC2 ContainerRegistryPowerUser](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPowerUser.html) dans le *AWS Managed Policy Reference*.

## Amazon EC2 ContainerRegistryPullOnly
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly"></a>

Vous pouvez associer la politique `AmazonEC2ContainerRegistryPullOnly` à vos identités IAM. Cette politique autorise l'extraction d'images de conteneurs depuis Amazon ECR. Si le registre est activé pour le cache d'extraction, il autorisera également les extractions pour importer une image depuis un registre en amont.

Pour consulter les autorisations associées à cette politique, consultez [Amazon EC2 ContainerRegistryPullOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPullOnly.html) dans le *AWS Managed Policy Reference*.

## Amazon EC2 ContainerRegistryReadOnly
<a name="security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly"></a>

Vous pouvez attacher la politique `AmazonEC2ContainerRegistryReadOnly` à vos identités IAM. Cette politique accorde des autorisations qui permettent un accès en lecture seule à Amazon ECR. Cela inclut la possibilité de répertorier les référentiels et les images dans les référentiels. Elle offre également la possibilité d'extraire des images depuis Amazon ECR avec la CLI Docker.

Pour consulter les autorisations associées à cette politique, consultez [Amazon EC2 ContainerRegistryReadOnly](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryReadOnly.html) dans le *AWS Managed Policy Reference*.

## `AWSECRPullThroughCache_ServiceRolePolicy`
<a name="security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy"></a>

Vous ne pouvez pas attacher la politique IAM gérée `AWSECRPullThroughCache_ServiceRolePolicy` à vos entités IAM. Cette politique est attachée à un rôle lié à un service qui permet à Amazon ECR de transférer des images vers vos référentiels via le flux de travail de mise en cache par extraction. Pour de plus amples informations, veuillez consulter [Rôle lié à un service Amazon ECR pour la mise en cache par extraction](slr-pullthroughcache.md).

## `ECRReplicationServiceRolePolicy`
<a name="security-iam-awsmanpol-ECRReplicationServiceRolePolicy"></a>

Vous ne pouvez pas attacher la politique IAM gérée `ECRReplicationServiceRolePolicy` à vos entités IAM. Cette politique est attachée à un rôle lié à un service qui permet à Amazon ECR d'effectuer des actions en votre nom. Pour de plus amples informations, veuillez consulter [Utilisation des rôles liés à un service pour Amazon ECR](using-service-linked-roles.md).

## `ECRTemplateServiceRolePolicy`
<a name="security-iam-awsmanpol-ECRTemplateServiceRolePolicy"></a>

Vous ne pouvez pas attacher la politique IAM gérée `ECRTemplateServiceRolePolicy` à vos entités IAM. Cette politique est attachée à un rôle lié à un service qui permet à Amazon ECR d'effectuer des actions en votre nom. Pour de plus amples informations, veuillez consulter [Utilisation des rôles liés à un service pour Amazon ECR](using-service-linked-roles.md).

## Amazon ECR met à jour les politiques AWS gérées
<a name="security-iam-awsmanpol-updates"></a>

Consultez les informations relatives aux mises à jour apportées aux politiques AWS gérées pour Amazon ECR depuis le moment où ce service a commencé à suivre ces modifications. Pour recevoir des alertes automatiques sur les modifications apportées à cette page, abonnez-vous au flux RSS sur la page de l'historique des documents Amazon ECR.

 


| Modifier | Description | Date | 
| --- | --- | --- | 
|  [Rôle lié à un service Amazon ECR pour la mise en cache par extraction](slr-pullthroughcache.md) – Mise à jour d’une stratégie existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AWSECRPullThroughCache_ServiceRolePolicy`. Ces autorisations permettent à Amazon ECR d'extraire des images du registre privé ECR. Cela est nécessaire lorsque vous utilisez une règle de cache d'extraction pour mettre en cache des images provenant d'un autre registre privé Amazon ECR.   | 12 mars 2025 | 
|  [Amazon EC2 ContainerRegistryPullOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPullOnly) — Nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique qui accorde des autorisations d'extraction uniquement à Amazon ECR.  | 10 octobre 2024 | 
|  [ECRTemplateServiceRolePolicy](slr-rct.md) : nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique. Cette politique est associée au rôle `ECRTemplateServiceRolePolicy` lié au service pour la fonctionnalité de modèle de création de référentiel.  | 20 juin 2024 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](slr-pullthroughcache.md) : mise à jour d’une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AWSECRPullThroughCache_ServiceRolePolicy`. Ces autorisations permettent à Amazon ECR de récupérer le contenu chiffré d'un secret de Secrets Manager. Cela est nécessaire lors de l'utilisation d'une règle de mise en cache par extraction pour mettre en cache des images provenant d'un registre en amont qui nécessite une authentification.  | 15 novembre 2023 | 
|  [AWSECRPullThroughCache\$1ServiceRolePolicy](#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy) : nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique. Cette politique est associée au rôle lié à un service `AWSServiceRoleForECRPullThroughCache` pour la fonction de mise en cache par extraction.  | 29 novembre 2021 | 
|  [ECRReplicationServiceRolePolicy](#security-iam-awsmanpol-ECRReplicationServiceRolePolicy) : nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique. Cette politique est associée au rôle lié à un service `AWSServiceRoleForECRReplication` pour la fonction de réplication.  | 4 décembre 2020 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Mise à jour d'une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AmazonEC2ContainerRegistryFullAccess`. Ces autorisations permettent aux mandataires de créer un rôle lié au service Amazon ECR.  | 4 décembre 2020 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Mise à jour d'une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AmazonEC2ContainerRegistryReadOnly` qui permettent aux mandataires de lire les politiques de cycle de vie, de répertorier les balises et de décrire les résultats de l'analyse des images.  | 10 décembre 2019 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Mise à jour d'une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AmazonEC2ContainerRegistryPowerUser`. Elles permettent aux mandataires de lire les politiques de cycle de vie, de répertorier les balises et de décrire les résultats de l'analyse des images.  | 10 décembre 2019 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Mise à jour d'une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AmazonEC2ContainerRegistryFullAccess`. Ils permettent aux directeurs de rechercher les événements de gestion ou les événements AWS CloudTrail Insights capturés par CloudTrail.  | le 10 novembre 2017 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Mise à jour d'une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AmazonEC2ContainerRegistryReadOnly`. Elles permettent aux mandataires de décrire les images Amazon ECR.  | 11 octobre 2016 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Mise à jour d'une politique existante  |  Amazon ECR a ajouté de nouvelles autorisations à la politique `AmazonEC2ContainerRegistryPowerUser`. Elles permettent aux mandataires de décrire les images Amazon ECR.  | 11 octobre 2016 | 
|  [Amazon EC2 ContainerRegistryReadOnly](#security-iam-awsmanpol-AmazonEC2ContainerRegistryReadOnly) — Nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique qui accorde des autorisations de lecture seule à Amazon ECR. Ces autorisations offrent la possibilité de répertorier les référentiels et les images dans les référentiels. Elles offrent également la possibilité d'extraire des images depuis Amazon ECR à l'aide de la CLI Docker.  | 21 décembre 2015 | 
|  [Amazon EC2 ContainerRegistryPowerUser](#security-iam-awsmanpol-AmazonEC2ContainerRegistryPowerUser) — Nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique qui accorde des autorisations administratives permettant aux utilisateurs de lire et d'écrire dans des référentiels, mais ne leur permet pas de supprimer des référentiels ou de modifier les documents de politique qui leur sont appliqués.  | 21 décembre 2015 | 
|  [Amazon EC2 ContainerRegistryFullAccess](#security-iam-awsmanpol-AmazonEC2ContainerRegistryFullAccess) — Nouvelle politique  |  Amazon ECR a ajouté une nouvelle politique. Cette politique accorde à un accès total à Amazon ECR.  | 21 décembre 2015 | 
|  Amazon ECR a commencé à assurer le suivi des modifications  |  Amazon ECR a commencé à suivre les modifications apportées aux politiques AWS gérées.  | 24 juin 2021 | 

# Utilisation des rôles liés à un service pour Amazon ECR
<a name="using-service-linked-roles"></a>

Amazon Elastic Container Registry (Amazon ECR) Gestion des identités et des accès AWS utilise des rôles [liés à un service (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) pour fournir les autorisations nécessaires à l'utilisation des fonctionnalités de réplication et d'extraction du cache. Un rôle lié à un service est un type unique de rôle IAM directement lié à Amazon ECR. Le rôle lié au service est prédéfini par Amazon ECR. Il comprend toutes les autorisations dont le service a besoin pour prendre en charge les fonctions de réplication et de mise en cache par extraction pour votre registre privé. Après avoir configuré la réplication ou la mise en cache par extraction pour votre registre, un rôle lié à un service est créé automatiquement en votre nom. Pour de plus amples informations, veuillez consulter [Paramètres du registre privé dans Amazon ECR](registry-settings.md).

Un rôle lié à un service simplifie la configuration de la réplication et de la mise en cache par extraction avec Amazon ECR. En effet, son utilisation vous évite de devoir ajouter manuellement toutes les autorisations requises. Amazon ECR définit les autorisations de ses rôles liés à un service et, sauf indication contraire, seul Amazon ECR peut assumer ses rôles. Les autorisations définies comprennent la politique d'approbation et la politique d'autorisations. La politique d'autorisations ne peut pas être attachée à une autre entité IAM.

Vous pouvez supprimer le rôle lié à un service correspondant uniquement après avoir désactivé la réplication ou la mise en cache par extraction dans votre registre. Cela vous permet de ne pas supprimer par inadvertance les autorisations dont Amazon ECR a besoin pour ces fonctions.

Pour obtenir des informations sur les autres services qui prennent en charge les rôles liés à un service, consultez [Services AWS qui fonctionnent avec IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html). Dans cette page de liens, recherchez les services qui comportent un **Oui** dans la colonne **Rôle lié à un service**. Choisissez un **Oui** ayant un lien permettant de consulter la documentation du rôle lié à un service, pour ce service.

**Topics**
+ [Régions prises en charge pour les rôles liés à un service Amazon ECR](#slr-regions)
+ [Rôle lié à un service Amazon ECR pour la réplication](slr-replication.md)
+ [Rôle lié à un service Amazon ECR pour la mise en cache par extraction](slr-pullthroughcache.md)
+ [Rôle lié au service Amazon ECR pour les modèles de création de référentiels](slr-rct.md)

## Régions prises en charge pour les rôles liés à un service Amazon ECR
<a name="slr-regions"></a>

Amazon ECR prend en charge l'utilisation des rôles liés à un service dans toutes les régions où le service Amazon ECR est disponible. Pour en savoir plus sur la disponibilité de la région Amazon ECR, consultez [Régions et Points de terminaison AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html).

# Rôle lié à un service Amazon ECR pour la réplication
<a name="slr-replication"></a>

Amazon ECR utilise un rôle lié à un service nommé **AWSServiceRoleForECRReplication**qui permet à Amazon ECR de répliquer des images sur plusieurs comptes.

## Autorisations du rôle lié à un service pour Amazon ECR
<a name="slr-permissions"></a>

Le rôle AWSService RoleFor ECRReplication lié à un service fait confiance aux services suivants pour assumer le rôle :
+ `replication.ecr.amazonaws.com`

La politique d'autorisations liée au rôle `ECRReplicationServiceRolePolicy` permet à Amazon ECR d'utiliser les actions suivantes sur les ressources :

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository",
                "ecr:ReplicateImage"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Note**  
Le `ReplicateImage` est une API interne qu'Amazon ECR utilise pour la réplication et qui ne peut pas être appelée directement.

Vous devez configurer les autorisations de manière à autoriser une entité IAM (comme un utilisateur, un groupe ou un rôle) à créer, modifier ou supprimer un rôle lié à un service. Pour en savoir plus, consultez [Autorisations des rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le *guide de l'utilisateur IAM*.

## Création d'un rôle lié à un service pour Amazon ECR
<a name="create-slr"></a>

Vous n'avez pas besoin de créer manuellement un rôle lié au service Amazon ECR. Lorsque vous configurez les paramètres de réplication pour votre registre dans le AWS Management Console, le AWS CLI, ou l' AWS API, Amazon ECR crée le rôle lié au service pour vous. 

Si vous supprimez ce rôle lié à un service et que vous devez le recréer, vous pourrez utiliser la même procédure pour recréer le rôle dans votre compte. Lorsque vous configurez les paramètres de réplication pour votre registre, Amazon ECR recrée automatiquement le rôle lié à un service. 

## Modification d'un rôle lié à un service pour Amazon ECR
<a name="edit-slr"></a>

Amazon ECR n'autorise pas la modification manuelle du rôle lié au AWSService RoleFor ECRReplication service. Une fois que vous avez créé un rôle lié à un service, vous ne pouvez pas changer le nom du rôle, car plusieurs entités peuvent faire référence au rôle. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour en savoir plus, consultez [Modification d'un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dans le *guide de l'utilisateur IAM*.

## Suppression du rôle lié à un service pour Amazon ECR
<a name="delete-slr"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, aucune entité inutilisée n'est surveillée ou gérée activement. Toutefois, vous devez supprimer la configuration de réplication de votre registre dans chaque région avant de pouvoir supprimer manuellement le rôle lié à un service.

**Note**  
Si vous essayez de supprimer des ressources alors que le service Amazon ECR utilise toujours les rôles, votre action de suppression pourrait échouer. Si cela se produit, attendez quelques minutes et réessayez.

**Pour supprimer les ressources Amazon ECR utilisées par AWSService RoleFor ECRReplication**

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 dans laquelle votre configuration de réplication est définie.

1. Dans le panneau de navigation, choisissez **Registre de schémas**.

1. Dans la page **Registre privé**, dans la section **Configuration de réplication**, choisissez **Modifier**.

1. Pour supprimer toutes vos règles de réplication, choisissez **Tout supprimer**. Cette étape nécessite une confirmation.

**Pour supprimer manuellement le rôle lié au service à l’aide d’IAM**

Utilisez la console IAM, le AWS CLI, ou l' AWS API pour supprimer le rôle lié au **AWSServiceRoleForECRReplication**service. Pour en savoir plus, consultez [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

# Rôle lié à un service Amazon ECR pour la mise en cache par extraction
<a name="slr-pullthroughcache"></a>

Amazon ECR utilise un rôle lié à un service nommé **AWSServiceRoleForECRPullThroughCache**qui autorise Amazon ECR à effectuer des actions en votre nom pour effectuer des actions d'extraction dans le cache. Pour plus d'informations sur la mise en cache par extraction, consultez [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).

## Autorisations du rôle lié à un service pour Amazon ECR
<a name="slr-pullthroughcache-permissions"></a>

Le rôle **AWSServiceRoleForECRPullThroughCache**lié à un service fait confiance au service suivant pour assumer le rôle.
+ `pullthroughcache.ecr.amazonaws.com`

**Détails de l’autorisation**

La politique d'autorisations `AWSECRPullThroughCache_ServiceRolePolicy` est attachée au rôle lié à un service. Cette politique gérée accorde à Amazon ECR l'autorisation d'effectuer les actions suivantes. Pour de plus amples informations, veuillez consulter [`AWSECRPullThroughCache_ServiceRolePolicy`](security-iam-awsmanpol.md#security-iam-awsmanpol-AWSECRPullThroughCache_ServiceRolePolicy).
+ `ecr`— Permet au service Amazon ECR d'extraire et de transférer des images vers un référentiel privé.
+ `secretsmanager:GetSecretValue`— Permet au service Amazon ECR de récupérer le contenu chiffré d'un AWS Secrets Manager secret. Cela est nécessaire lors de l'utilisation d'une règle de mise en cache par extraction pour mettre en cache des images provenant d'un registre en amont qui nécessite une authentification dans votre registre privé. Cette autorisation s'applique uniquement aux secrets portant le préfixe de nom `ecr-pullthroughcache/`.

La politique `AWSECRPullThroughCache_ServiceRolePolicy` contient le JSON suivant.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ECR",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken",
                "ecr:BatchCheckLayerAvailability",
                "ecr:InitiateLayerUpload",
                "ecr:UploadLayerPart",
                "ecr:CompleteLayerUpload",
                "ecr:PutImage",
                "ecr:BatchGetImage",
                "ecr:BatchImportUpstreamImage",
                "ecr:GetDownloadUrlForLayer",
                "ecr:GetImageCopyStatus"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManager",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:ecr-pullthroughcache/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        }
    ]
}
```

------

Vous devez configurer les autorisations de manière à autoriser une entité IAM (comme un utilisateur, un groupe ou un rôle) à créer, modifier ou supprimer un rôle lié à un service. Pour plus d’informations, consultez [Autorisations de rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le *Guide de l’utilisateur IAM*.

## Création d'un rôle lié à un service pour Amazon ECR
<a name="slr-pullthroughcache-create"></a>

Vous n'avez pas besoin de créer manuellement le rôle lié à un service Amazon ECR pour la mise en cache par extraction. Lorsque vous créez une règle de cache d'extraction pour votre registre privé dans le AWS Management Console, le AWS CLI ou l' AWS API, Amazon ECR crée le rôle lié au service pour vous. 

Si vous supprimez ce rôle lié à un service et que vous devez le recréer, vous pourrez utiliser la même procédure pour recréer le rôle dans votre compte. Lorsque vous créez une règle de mise en cache par extraction pour votre registre privé, Amazon ECR crée à nouveau le rôle lié à un service pour vous s'il n'existe pas déjà.

## Modification d'un rôle lié à un service pour Amazon ECR
<a name="slr-pullthroughcache-edit"></a>

Amazon ECR n'autorise pas la modification manuelle du rôle lié au **AWSServiceRoleForECRPullThroughCache**service. Après la création du rôle lié à un service, vous ne pouvez pas modifier le nom du rôle car diverses entités pourraient y faire référence. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour en savoir plus, consultez [Modification d'un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dans le *guide de l'utilisateur IAM*.

## Suppression du rôle lié à un service pour Amazon ECR
<a name="slr-pullthroughcache-delete"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, aucune entité inutilisée n'est surveillée ou gérée activement. Toutefois, vous devez supprimer les règles de mise en cache par extraction pour votre registre dans chaque région avant de pouvoir supprimer manuellement le rôle lié à un service.

**Note**  
Si vous essayez de supprimer des ressources alors que le service Amazon ECR utilise toujours le rôle, votre action de suppression peut échouer. Si cela se produit, attendez quelques minutes et réessayez.

**Pour supprimer des ressources Amazon ECR utilisées par le rôle lié à un service **AWSServiceRoleForECRPullThroughCache****

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 où vos règles de mise en cache par extraction sont créées.

1. Dans le panneau de navigation, choisissez **Registre de schémas**.

1. Dans la page **Registre privé**, dans la section **Configuration de la mise en cache par extraction**, choisissez **Modifier**.

1. Pour chaque règle de cache d'extraction que vous avez créée, sélectionnez la règle, puis choisissez **Supprimer la règle**.

**Pour supprimer manuellement le rôle lié au service à l’aide d’IAM**

Utilisez la console IAM, le AWS CLI, ou l' AWS API pour supprimer le rôle lié au **AWSServiceRoleForECRPullThroughCache**service. Pour en savoir plus, consultez [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

# Rôle lié au service Amazon ECR pour les modèles de création de référentiels
<a name="slr-rct"></a>

Amazon ECR utilise un rôle lié à un service nommé **AWSServiceRoleForECRTemplate**qui autorise Amazon ECR à effectuer des actions en votre nom afin de terminer les actions de création de modèles de référentiel.

## Autorisations du rôle lié à un service pour Amazon ECR
<a name="slr-rct-permissions"></a>

Le rôle **AWSServiceRoleForECRTemplate**lié à un service fait confiance au service suivant pour assumer le rôle.
+ `ecr.amazonaws.com`

**Détails de l’autorisation**

La politique d'autorisations ``ECRTemplateServiceRolePolicy`` est attachée au rôle lié à un service. Cette politique gérée accorde à Amazon ECR l'autorisation d'effectuer des actions de création de référentiels en votre nom.

La politique `ECRTemplateServiceRolePolicy` contient le JSON suivant.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
	    "Sid": "CreateRepositoryWithTemplate",
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Vous devez configurer les autorisations de manière à autoriser une entité IAM (comme un utilisateur, un groupe ou un rôle) à créer, modifier ou supprimer un rôle lié à un service. Pour plus d’informations, consultez [Autorisations de rôles liés à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions) dans le *Guide de l’utilisateur IAM*.

## Création d'un rôle lié à un service pour Amazon ECR
<a name="slr-rct-create"></a>

Il n'est pas nécessaire de créer manuellement le rôle lié au service Amazon ECR pour le modèle de création de référentiel. Lorsque vous créez une règle de modèle de création de référentiel pour votre registre privé dans l' AWS Management Console AWS API AWS CLI, Amazon ECR crée le rôle lié au service pour vous. 

Si vous supprimez ce rôle lié à un service et que vous devez le recréer, vous pourrez utiliser la même procédure pour recréer le rôle dans votre compte. Lorsque vous créez une règle de création de référentiel pour votre registre privé, Amazon ECR crée à nouveau le rôle lié au service pour vous s'il n'existe pas déjà.

## Modification d'un rôle lié à un service pour Amazon ECR
<a name="slr-rct-edit"></a>

Amazon ECR n'autorise pas la modification manuelle du rôle lié au **AWSServiceRoleForECRTemplate**service. Après la création du rôle lié à un service, vous ne pouvez pas modifier le nom du rôle car diverses entités pourraient y faire référence. Néanmoins, vous pouvez modifier la description du rôle à l’aide d’IAM. Pour en savoir plus, consultez [Modification d'un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#edit-service-linked-role) dans le *guide de l'utilisateur IAM*.

## Suppression du rôle lié à un service pour Amazon ECR
<a name="slr-rct-delete"></a>

Si vous n’avez plus besoin d’utiliser une fonction ou un service qui nécessite un rôle lié à un service, nous vous recommandons de supprimer ce rôle. De cette façon, aucune entité inutilisée n'est surveillée ou gérée activement. Toutefois, vous devez supprimer les règles de création de référentiel pour votre registre dans chaque région avant de pouvoir supprimer manuellement le rôle lié à un service.

**Note**  
Si vous essayez de supprimer des ressources alors que le service Amazon ECR utilise toujours le rôle, votre action de suppression peut échouer. Si cela se produit, attendez quelques minutes et réessayez.

**Pour supprimer des ressources Amazon ECR utilisées par le rôle lié à un service **AWSServiceRoleForECRTemplate****

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 les règles de création de votre référentiel sont créées.

1. Dans le panneau de navigation, choisissez **Registre de schémas**.

1. Sur la page **Registre privé**, dans la section **Modèles de création de référentiels**, choisissez **Modifier**.

1. Pour chaque règle de création de référentiel que vous avez créée, sélectionnez la règle, puis choisissez **Supprimer la règle**.

**Pour supprimer manuellement le rôle lié au service à l’aide d’IAM**

Utilisez la console IAM, le AWS CLI, ou l' AWS API pour supprimer le rôle lié au **AWSServiceRoleForECRTemplate**service. Pour en savoir plus, consultez [Suppression d’un rôle lié à un service](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role) dans le *Guide de l’utilisateur IAM*.

# Dépannage de l'identité et de l'accès au registre de conteneur Amazon Elastic
<a name="security_iam_troubleshoot"></a>

Utilisez les informations suivantes pour identifier et résoudre les problèmes courants que vous pouvez rencontrer lorsque vous travaillez avec Amazon ECR et IAM.

**Topics**
+ [Je ne suis pas autorisé à exécuter une action dans Amazon ECR](#security_iam_troubleshoot-no-permissions)
+ [Je ne suis pas autorisé à effectuer iam : PassRole](#security_iam_troubleshoot-passrole)
+ [Je souhaite autoriser des personnes extérieures à moi Compte AWS à accéder à mes ressources Amazon ECR](#security_iam_troubleshoot-cross-account-access)

## Je ne suis pas autorisé à exécuter une action dans Amazon ECR
<a name="security_iam_troubleshoot-no-permissions"></a>

Si vous recevez une erreur qui indique que vous n’êtes pas autorisé à effectuer une action, vos politiques doivent être mises à jour afin de vous permettre d’effectuer l’action.

L’exemple d’erreur suivant se produit quand l’utilisateur IAM `mateojackson` tente d’utiliser la console pour afficher des informations détaillées sur une ressource `my-example-widget` fictive, mais ne dispose pas des autorisations `ecr:GetWidget` fictives.

```
User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: ecr:GetWidget on resource: my-example-widget
```

Dans ce cas, la politique qui s’applique à l’utilisateur `mateojackson` doit être mise à jour pour autoriser l’accès à la ressource `my-example-widget` à l’aide de l’action `ecr:GetWidget`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je ne suis pas autorisé à effectuer iam : PassRole
<a name="security_iam_troubleshoot-passrole"></a>

Si vous recevez une erreur selon laquelle vous n'êtes pas autorisé à exécuter l'action `iam:PassRole`, vos politiques doivent être mises à jour pour vous permettre de transmettre un rôle à Amazon ECR.

Certains vous Services AWS permettent de transmettre un rôle existant à ce service au lieu de créer un nouveau rôle de service ou un rôle lié à un service. Pour ce faire, vous devez disposer des autorisations nécessaires pour transmettre le rôle au service.

L'exemple d'erreur suivant se produit lorsqu'un utilisateur IAM nommé `marymajor` essaie d'utiliser la console pour exécuter une action dans Amazon ECR. Toutefois, l’action nécessite que le service ait des autorisations accordées par un rôle de service. Mary n'est pas autorisée à transmettre le rôle au service.

```
User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole
```

Dans ce cas, les politiques de Mary doivent être mises à jour pour lui permettre d’exécuter l’action `iam:PassRole`.

Si vous avez besoin d'aide, contactez votre AWS administrateur. Votre administrateur vous a fourni vos informations d’identification de connexion.

## Je souhaite autoriser des personnes extérieures à moi Compte AWS à accéder à mes ressources Amazon ECR
<a name="security_iam_troubleshoot-cross-account-access"></a>

Vous pouvez créer un rôle que les utilisateurs provenant d’autres comptes ou les personnes extérieures à votre organisation pourront utiliser pour accéder à vos ressources. Vous pouvez spécifier qui est autorisé à assumer le rôle. Pour les services qui prennent en charge les politiques basées sur les ressources ou les listes de contrôle d'accès (ACLs), vous pouvez utiliser ces politiques pour autoriser les utilisateurs à accéder à vos ressources.

Pour plus d’informations, consultez les éléments suivants :
+ Pour savoir si Amazon ECR est compatible avec ces fonctions, consultez [Fonctionnement du registre de conteneur Amazon Elastic avec IAM](security_iam_service-with-iam.md).
+ Pour savoir comment fournir l'accès à vos ressources sur celles Comptes AWS que vous possédez, consultez la section [Fournir l'accès à un utilisateur IAM dans un autre utilisateur Compte AWS que vous possédez](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_aws-accounts.html) dans le Guide de l'*utilisateur IAM*.
+ Pour savoir comment fournir l'accès à vos ressources à des tiers Comptes AWS, consultez la section [Fournir un accès à des ressources Comptes AWS détenues par des tiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_third-party.html) dans le *guide de l'utilisateur IAM*.
+ Pour savoir comment fournir un accès par le biais de la fédération d’identité, consultez [Fournir un accès à des utilisateurs authentifiés en externe (fédération d’identité)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_common-scenarios_federated-users.html) dans le *Guide de l’utilisateur IAM*.
+ Pour en savoir plus sur la différence entre l’utilisation des rôles et des politiques basées sur les ressources pour l’accès intercompte, consultez [Accès intercompte aux ressources dans IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies-cross-account-resource-access.html) dans le *Guide de l’utilisateur IAM*.

# Protection des données dans Amazon ECR
<a name="data-protection"></a>

Le modèle de [responsabilité AWS partagée Le modèle](https://aws.amazon.com/compliance/shared-responsibility-model/) s'applique à la protection des données dans Amazon Elastic Container Service. Comme décrit dans ce modèle, AWS est chargé de protéger l'infrastructure mondiale qui gère tous les AWS Cloud. La gestion du contrôle de votre contenu hébergé sur cette infrastructure relève de votre responsabilité. Vous êtes également responsable des tâches de configuration et de gestion de la sécurité des Services AWS que vous utilisez. Pour plus d’informations sur la confidentialité des données, consultez [Questions fréquentes (FAQ) sur la confidentialité des données](https://aws.amazon.com/compliance/data-privacy-faq/). Pour en savoir plus sur la protection des données en Europe, consultez le billet de blog [Modèle de responsabilité partagée d’AWS et RGPD (Règlement général sur la protection des données)](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) sur le *Blog de sécuritéAWS *.

À des fins de protection des données, nous vous recommandons de protéger les Compte AWS informations d'identification et de configurer les utilisateurs individuels avec AWS IAM Identity Center ou Gestion des identités et des accès AWS (IAM). Ainsi, chaque utilisateur se voit attribuer uniquement les autorisations nécessaires pour exécuter ses tâches. Nous vous recommandons également de sécuriser vos données comme indiqué ci-dessous :
+ Utilisez l’authentification multifactorielle (MFA) avec chaque compte.
+  SSL/TLS À utiliser pour communiquer avec AWS les ressources. Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Configurez l'API et la journalisation de l'activité des utilisateurs avec AWS CloudTrail. Pour plus d'informations sur l'utilisation des CloudTrail sentiers pour capturer AWS des activités, consultez la section [Utilisation des CloudTrail sentiers](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) dans le *guide de AWS CloudTrail l'utilisateur*.
+ Utilisez des solutions de AWS chiffrement, ainsi que tous les contrôles de sécurité par défaut qu'ils contiennent Services AWS.
+ Utilisez des services de sécurité gérés avancés tels qu’Amazon Macie, qui contribuent à la découverte et à la sécurisation des données sensibles stockées dans Amazon S3.
+ Si vous avez besoin de modules cryptographiques validés par la norme FIPS 140-3 pour accéder AWS via une interface de ligne de commande ou une API, utilisez un point de terminaison FIPS. Pour plus d’informations sur les points de terminaison FIPS disponibles, consultez [Norme FIPS (Federal Information Processing Standard) 140-3](https://aws.amazon.com/compliance/fips/).

Nous vous recommandons fortement de ne jamais placer d’informations confidentielles ou sensibles, telles que les adresses e-mail de vos clients, dans des balises ou des champs de texte libre tels que le champ **Nom**. Cela inclut lorsque vous travaillez avec Amazon ECS ou une autre entreprise Services AWS à l'aide de la console AWS CLI, de l'API ou AWS SDKs. Toutes les données que vous entrez dans des balises ou des champs de texte de forme libre utilisés pour les noms peuvent être utilisées à des fins de facturation ou dans les journaux de diagnostic. Si vous fournissez une adresse URL à un serveur externe, nous vous recommandons fortement de ne pas inclure d’informations d’identification dans l’adresse URL permettant de valider votre demande adressée à ce serveur.

**Topics**
+ [Chiffrement au repos](encryption-at-rest.md)

# Chiffrement au repos
<a name="encryption-at-rest"></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) 

Amazon ECR stocke les images dans des compartiments Amazon S3 gérés par Amazon ECR. Par défaut, Amazon ECR utilise le chiffrement côté serveur avec des clés de chiffrement gérées par Amazon S3, ce qui chiffre vos données au repos à l'aide d'un algorithme de chiffrement AES-256. Ceci ne nécessite aucune action de votre part et est fourni sans frais supplémentaires. Pour en savoir plus, consultez la section [Protection des données à l'aide du chiffrement côté serveur avec des clés de chiffrement (SSE-S3) gérées par Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) dans le *guide de l'utilisateur Amazon Simple Storage Service*.

Pour mieux contrôler le chiffrement de vos référentiels Amazon ECR, vous pouvez utiliser le chiffrement côté serveur avec des clés KMS stockées dans (). AWS Key Management Service AWS KMS Lorsque vous chiffrez vos données, vous pouvez soit utiliser la clé par défaut Clé gérée par AWS, qui est gérée par Amazon ECR, soit spécifier votre propre clé KMS (appelée clé gérée par le client). AWS KMS Pour plus d'informations, consultez [la section Protection des données à l'aide du chiffrement côté serveur avec des clés KMS stockées dans AWS KMS (SSE-KMS) dans](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html) le guide de l'utilisateur d'*Amazon Simple Storage Service*.

 Vous pouvez choisir d'appliquer deux couches de chiffrement à vos images Amazon ECR à l'aide d'un chiffrement double couche côté serveur avec (). AWS KMS DSSE-KMS DSSE-KMSl'option est similaire àSSE-KMS, mais applique deux couches de chiffrement individuelles au lieu d'une couche. Pour plus d'informations, consultez la section [Utilisation du chiffrement double couche côté serveur avec des AWS KMS clés (DSSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingDSSEncryption.html).

Chaque référentiel Amazon ECR dispose d'une configuration de chiffrement, qui est définie lors de la création du référentiel. Vous pouvez utiliser des configurations de chiffrement différentes dans chaque référentiel. Pour de plus amples informations, veuillez consulter [Création d'un référentiel privé Amazon ECR pour stocker des images](repository-create.md).

Lorsqu'un référentiel est créé avec AWS KMS le chiffrement activé, une clé KMS est utilisée pour chiffrer le contenu du référentiel. De plus, Amazon ECR ajoute une AWS KMS subvention à la clé KMS avec le référentiel Amazon ECR comme bénéficiaire principal.

Ce qui suit fournit des informations de haut niveau afin de comprendre la façon dont Amazon ECR est intégré à AWS KMS pour chiffrer et déchiffrer vos référentiels :

1. Lors de la création d'un référentiel, Amazon ECR envoie un [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)appel AWS KMS pour valider et récupérer le nom de ressource Amazon (ARN) de la clé KMS spécifiée dans la configuration de chiffrement.

1. Amazon ECR envoie deux [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)demandes pour créer des autorisations sur la clé KMS AWS KMS afin de permettre à Amazon ECR de chiffrer et de déchiffrer les données à l'aide de la clé de données.

1. Lors du transfert d'une image, une [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyWithoutPlaintext.html)demande AWS KMS indiquant la clé KMS à utiliser pour chiffrer la couche d'image et le manifeste est envoyée.

1. AWS KMS génère une nouvelle clé de données, la chiffre sous la clé KMS spécifiée et envoie la clé de données chiffrée à stocker avec les métadonnées de la couche d'image et le manifeste d'image.

1. Lors de l'extraction d'une image, une demande de [déchiffrement](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) est envoyée à AWS KMS, spécifiant la clé de données cryptée.

1. AWS KMS déchiffre la clé de données chiffrée et envoie la clé de données déchiffrée à Amazon S3.

1. La clé de données est utilisée pour déchiffrer la couche d'image avant la couche d'image en cours d'extraction.

1. Lorsqu'un référentiel est supprimé, Amazon ECR envoie deux [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)demandes AWS KMS pour annuler les subventions créées pour le référentiel.

## Considérations
<a name="encryption-at-rest-considerations"></a>

Les points suivants doivent être pris en compte lors de l'utilisation du chiffrement AWS KMS basé (SSE-KMSouDSSE-KMS) avec Amazon ECR.
+ Si vous créez votre référentiel Amazon ECR avec le chiffrement KMS et que vous ne spécifiez pas de clé KMS, Amazon ECR utilise un Clé gérée par AWS avec l'alias `aws/ecr` par défaut. Cette clé KMS sera créée dans votre compte la première fois que vous créerez un référentiel avec le chiffrement KMS activé.
+  La configuration du chiffrement du référentiel ne peut pas être modifiée après la création d'un référentiel. 
+ Lorsque vous utilisez le chiffrement KMS avec votre propre clé KMS, la clé doit exister dans la même région que votre référentiel.
+ Les octrois créés par Amazon ECR en votre nom ne doivent pas être révoqués. Si vous révoquez l'autorisation qui autorise Amazon ECR à utiliser les AWS KMS clés de votre compte, Amazon ECR ne pourra pas accéder à ces données, chiffrer les nouvelles images envoyées au référentiel ou les déchiffrer lorsqu'elles sont extraites. Lorsque vous révoquez un octroi pour Amazon ECR, le changement est immédiat. Pour révoquer les droits d'accès, vous devez supprimez le référentiel plutôt que de révoquer l'octroi. Lorsqu'un référentiel est supprimé, Amazon ECR retire les octrois en votre nom.
+ L'utilisation des AWS KMS clés entraîne un coût. Pour en savoir plus, consultez [Pricing AWS Key Management Service](https://aws.amazon.com/kms/pricing/) (Tarification).
+ L'utilisation du chiffrement double couche côté serveur entraîne un coût. Pour plus d'informations, consultez les [tarifs Amazon ECR](https://aws.amazon.com/ecr/pricing/)

## Autorisations IAM requises
<a name="encryption-at-rest-iam"></a>

Lorsque vous créez ou supprimez un référentiel Amazon ECR avec un chiffrement côté serveur à l'aide de AWS KMS, les autorisations requises dépendent de la clé KMS spécifique que vous utilisez. 

### Autorisations IAM requises lors de l'utilisation du Clé gérée par AWS pour Amazon ECR
<a name="encryption-aws-managed-key"></a>

Par défaut, lorsque AWS KMS le chiffrement est activé pour un référentiel Amazon ECR mais qu'aucune clé KMS n'est spécifiée, la clé Clé gérée par AWS pour Amazon ECR est utilisée. Lorsque la clé KMS AWS gérée pour Amazon ECR est utilisée pour chiffrer un référentiel, tout principal autorisé à créer un référentiel peut également activer le AWS KMS chiffrement du référentiel. Toutefois, le principal IAM qui supprime le référentiel doit avoir l'autorisation `kms:RetireGrant`. Cela permet de retirer les subventions qui ont été ajoutées à la AWS KMS clé lors de la création du référentiel.

L'exemple de politique IAM suivant peut être ajouté en tant que politique intégrée à un utilisateur pour s'assurer qu'il dispose des autorisations minimales nécessaires pour supprimer un référentiel dont le chiffrement est activé. La clé KMS utilisée pour chiffrer le référentiel peut être spécifiée à l'aide du paramètre de ressource.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-kms-permissions",
    "Statement": [
        {
            "Sid": "AllowAccessToRetireTheGrantsAssociatedWithTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:RetireGrant"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE"
        }
    ]
}
```

------

### Autorisations IAM requises pour l'utilisation d'une clé gérée par le client
<a name="encryption-customer-managed-key"></a>

Lors de la création d'un référentiel dont le AWS KMS chiffrement est activé à l'aide d'une clé gérée par le client, des autorisations sont requises pour la politique de clé KMS et la politique IAM pour l'utilisateur ou le rôle qui crée le référentiel.

Lorsque vous créez votre propre clé KMS, vous pouvez utiliser la politique de clé AWS KMS par défaut créée ou vous pouvez spécifier la vôtre. Pour garantir que la clé gérée par le client reste gérable par le propriétaire du compte, la politique clé relative à la clé KMS doit autoriser toutes les AWS KMS actions pour l'utilisateur root du compte. Des autorisations étendues supplémentaires peuvent être ajoutées à la politique de clé, mais au minimum l'utilisateur racine doit être autorisé à gérer la clé KMS. Pour autoriser l'utilisation de la clé KMS uniquement pour les demandes provenant d'Amazon ECR, vous pouvez utiliser la [clé de ViaService condition kms :](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) avec la `ecr.<region>.amazonaws.com` valeur.

L'exemple de politique de clé suivant donne au AWS compte (utilisateur root) propriétaire de la clé KMS un accès complet à la clé KMS. Pour plus d'informations sur cet exemple de politique clé, voir [Autoriser l'accès au AWS compte et activer les politiques IAM](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-root-enable-iam) dans le *Guide du AWS Key Management Service développeur*.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-key-policy",
    "Statement": [
        {
            "Sid": "EnableIAMUserPermissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        }
    ]
}
```

------

L'utilisateur IAM, le rôle IAM ou le AWS compte qui crée vos référentiels doit disposer de l'`kms:DescribeKey`autorisation `kms:CreateGrant``kms:RetireGrant`, et en plus des autorisations Amazon ECR nécessaires.

**Note**  
L'autorisation `kms:RetireGrant` doit être ajoutée à la politique IAM de l'utilisateur ou du rôle créant le référentiel. Les autorisations `kms:CreateGrant` et `kms:DescribeKey`peuvent être ajoutées à la politique de clé pour la clé KMS ou à la politique IAM de l'utilisateur ou du rôle créant le référentiel. Pour plus d'informations sur le fonctionnement AWS KMS des autorisations, voir [Autorisations d'AWS KMS API : référence aux actions et aux ressources](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) dans le *guide du AWS Key Management Service développeur*.

L'exemple de politique IAM suivant peut être ajouté en tant que politique intégrée à un utilisateur pour s'assurer qu'il dispose des autorisations minimales nécessaires pour créer un référentiel avec le chiffrement activé et supprimer le référentiel lorsqu'il aura terminé. La AWS KMS key utilisée pour chiffrer le référentiel peut être spécifiée à l'aide du paramètre de ressource.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "ecr-kms-permissions",
    "Statement": [
        {
            "Sid": "AllowAccessToCreateAndRetireTheGrantsAssociatedWithTheKeyAsWellAsDescribeTheKey",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:RetireGrant",
                "kms:DescribeKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/b8d9ae76-080c-4043-92EXAMPLE"
        }
    ]
}
```

------

### Autoriser un utilisateur à répertorier les clés KMS dans la console lors de la création d'un référentiel
<a name="encryption-at-rest-iam-example"></a>

Lorsque vous utilisez la console Amazon ECR pour créer un référentiel, vous pouvez octroyer des autorisations afin de permettre à un utilisateur de répertorier les clés KMS gérées par le client dans la région lors de l'activation du chiffrement pour le référentiel. L'exemple de politique IAM suivant indique les autorisations nécessaires pour répertorier vos clés KMS et alias lors de l'utilisation de la console.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Effect": "Allow",
    "Action": [
      "kms:ListKeys",
      "kms:ListAliases",
      "kms:DescribeKey"
    ],
    "Resource": "*"
  }
}
```

------

## Surveillance de l'interaction d'Amazon ECR avec AWS KMS
<a name="encryption-at-rest-monitoring"></a>

Vous pouvez l'utiliser AWS CloudTrail pour suivre les demandes qu'Amazon ECR envoie en votre AWS KMS nom. Les entrées du CloudTrail journal contiennent une clé contextuelle de chiffrement qui les rend plus facilement identifiables.

### Contexte de chiffrement Amazon ECR
<a name="ecr-encryption-context"></a>

Un *contexte de chiffrement* est un ensemble de paires clé-valeur qui contiennent des données non secrètes arbitraires. Lorsque vous incluez un contexte de chiffrement dans une demande de chiffrement de données, lie AWS KMS cryptographiquement le contexte de chiffrement aux données chiffrées. Pour déchiffrer les données, vous devez transmettre le même contexte de chiffrement. 

Dans ses requêtes [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)et [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) à AWS KMS, Amazon ECR utilise un contexte de chiffrement avec deux paires nom-valeur qui identifient le référentiel et le compartiment Amazon S3 utilisés. Voici un exemple : Les noms ne varient pas, mais les valeurs de contexte de chiffrement combinées sont différentes pour chaque valeur.

```
"encryptionContext": {
    "aws:s3:arn": "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df",
    "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
}
```

Vous pouvez utiliser le contexte de chiffrement pour identifier ces opérations cryptographiques dans les enregistrements et journaux d'audit, tels que [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)Amazon CloudWatch Logs, et comme condition d'autorisation dans les politiques et les autorisations.

Le contexte de chiffrement Amazon ECR se compose de deux paires nom-valeur.
+ **aws:s3:arn** – La première paire nom-valeur identifie le compartiment. La clé est `aws:s3:arn`. La valeur est l'Amazon Resource Name (ARN) du compartiment Amazon S3.

  ```
  "aws:s3:arn": "ARN of an Amazon S3 bucket"
  ```

  Par exemple, si l'ARN du compartiment est `arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df`, le contexte de chiffrement devra inclure la paire suivante.

  ```
  "arn:aws:s3:::us-west-2-starport-manifest-bucket/EXAMPLE1-90ab-cdef-fedc-ba987BUCKET1/sha256:a7766145a775d39e53a713c75b6fd6d318740e70327aaa3ed5d09e0ef33fc3df"
  ```
+ **aws:ecr:arn** – La deuxième paire nom-valeur identifie l'Amazon Resource Name (ARN) du référentiel. La clé est `aws:ecr:arn`. La valeur est l'ARN du référentiel.

  ```
  "aws:ecr:arn": "ARN of an Amazon ECR repository"
  ```

  Par exemple, si l'ARN du référentiel est `arn:aws:ecr:us-west-2:111122223333:repository/repository-name`, le contexte de chiffrement devra inclure la paire suivante.

  ```
  "aws:ecr:arn": "arn:aws:ecr:us-west-2:111122223333:repository/repository-name"
  ```

## Résolution des problèmes
<a name="encryption-at-rest-troubleshooting"></a>

Lorsque vous supprimez un référentiel Amazon ECR avec la console, si le référentiel est supprimé correctement, mais qu'Amazon ECR ne parvient pas à retirer les octrois ajoutés à votre clé KMS pour votre référentiel, vous recevrez l'erreur suivante.

```
The repository [{repository-name}] has been deleted successfully but the grants created by the kmsKey [{kms_key}] failed to be retired
```

Dans ce cas, vous pouvez retirer vous-même les AWS KMS subventions pour le dépôt.

**Pour annuler manuellement les AWS KMS subventions accordées à un dépôt**

1. Répertoriez les autorisations pour la AWS KMS clé utilisée pour le référentiel. La valeur `key-id` est incluse dans l'erreur que vous recevez de la console. Vous pouvez également utiliser la `list-keys` commande pour répertorier à la fois les clés KMS Clés gérées par AWS et les clés KMS gérées par le client dans une région spécifique de votre compte.

   ```
   aws kms list-grants \
        --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc 
        --region us-west-2
   ```

   La sortie inclut un `EncryptionContextSubset` avec l'Amazon Resource Name (ARN) de votre référentiel. Cela peut être utilisé pour déterminer quel octroi ajouté à la clé est celui que vous souhaitez retirer. La valeur `GrantId` sera utilisée lors de la suppression de l'octroi à l'étape suivante.

1. Retirez chaque subvention pour la AWS KMS clé ajoutée au référentiel. Remplacez la valeur pour *GrantId* par l'ID de la subvention indiqué dans le résultat de l'étape précédente.

   ```
   aws kms retire-grant \
        --key-id b8d9ae76-080c-4043-9237-c815bfc21dfc \
        --grant-id GrantId \
        --region us-west-2
   ```

# Validation de conformité pour le registre de conteneur Amazon Elastic
<a name="ecr-compliance"></a>

Pour savoir si un [programme Services AWS de conformité Service AWS s'inscrit dans le champ d'application de programmes de conformité](https://aws.amazon.com/compliance/services-in-scope/) spécifiques, consultez Services AWS la section de conformité et sélectionnez le programme de conformité qui vous intéresse. Pour des informations générales, voir Programmes de [AWS conformité Programmes AWS](https://aws.amazon.com/compliance/programs/) de .

Vous pouvez télécharger des rapports d'audit tiers à l'aide de AWS Artifact. Pour plus d'informations, voir [Téléchargement de rapports dans AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

Votre responsabilité en matière de conformité lors de l'utilisation Services AWS est déterminée par la sensibilité de vos données, les objectifs de conformité de votre entreprise et les lois et réglementations applicables. Pour plus d'informations sur votre responsabilité en matière de conformité lors de l'utilisation Services AWS, consultez [AWS la documentation de sécurité](https://docs.aws.amazon.com/security/).

# Sécurité de l'infrastructure dans le registre de conteneur Amazon Elastic
<a name="infrastructure-security"></a>

En tant que service géré, Amazon Elastic Container Registry est protégé par la sécurité du réseau AWS mondial. Pour plus d'informations sur les services AWS de sécurité et sur la manière dont AWS l'infrastructure est protégée, consultez la section [Sécurité du AWS cloud](https://aws.amazon.com/security/). Pour concevoir votre AWS environnement en utilisant les meilleures pratiques en matière de sécurité de l'infrastructure, consultez la section [Protection de l'infrastructure](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) dans le cadre * AWS bien architecturé du pilier de sécurité*.

Vous utilisez des appels d'API AWS publiés pour accéder à Amazon ECR via le réseau. Les clients doivent prendre en charge les éléments suivants :
+ Protocole TLS (Transport Layer Security). Nous exigeons TLS 1.2 et recommandons TLS 1.3.
+ Ses suites de chiffrement PFS (Perfect Forward Secrecy) comme DHE (Ephemeral Diffie-Hellman) ou ECDHE (Elliptic Curve Ephemeral Diffie-Hellman). La plupart des systèmes modernes tels que Java 7 et les versions ultérieures prennent en charge ces modes.

Vous pouvez appeler ces opérations d'API à partir de n'importe quel emplacement sur le réseau, mais Amazon ECR prend en charge les politiques d'accès basées sur les ressources, ce qui peut inclure des restrictions en fonction de l'adresse IP source. Vous pouvez également utiliser les politiques Amazon ECR pour contrôler l'accès depuis des points de terminaison Amazon Virtual Private Cloud (Amazon VPC) spécifiques ou spécifiques. VPCs En fait, cela isole l'accès réseau à une ressource Amazon ECR donnée uniquement du VPC spécifique au sein du réseau. AWS Pour de plus amples informations, veuillez consulter [Points de terminaison VPC de l'interface Amazon ECR ()AWS PrivateLink](vpc-endpoints.md).

# Points de terminaison VPC de l'interface Amazon ECR ()AWS PrivateLink
<a name="vpc-endpoints"></a>

Vous pouvez améliorer le niveau de sécurité de votre VPC en configurant Amazon ECR de façon à utiliser un point de terminaison d'un VPC d'interface. Les points de terminaison VPC sont alimentés par AWS PrivateLink une technologie qui vous permet d'accéder en privé à Amazon ECR APIs via des adresses IP privées (à la fois et). IPv4 IPv6 AWS PrivateLink restreint tout le trafic réseau entre votre VPC et Amazon ECR vers le réseau Amazon. Vous n'avez pas besoin d'une passerelle Internet, d'un périphérique NAT ni d'une passerelle privée virtuelle.

*Pour plus d'informations sur AWS PrivateLink les points de terminaison VPC, consultez la section Points de terminaison [VPC dans le guide de l'utilisateur](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) Amazon VPC.*

## Considérations relatives aux points de terminaison d'un VPC Amazon ECR
<a name="ecr-vpc-endpoint-considerations"></a>

Avant de configurer les points de terminaison d'un VPC pour Amazon ECR, vous devez tenir compte des considérations suivantes.
+ Pour permettre à vos tâches Amazon ECS hébergées sur des instances Amazon EC2 d'extraire des images privées d'Amazon ECR, créez les points de terminaison VPC d'interface pour Amazon ECS. Pour plus d'informations, consultez [Interface VPC Endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html) dans le manuel *Amazon Elastic Container Service* Developer Guide.
+ Les tâches Amazon ECS hébergées sur Fargate qui extrait des images de conteneur à partir d'Amazon ECR peuvent limiter l'accès au VPC spécifique utilisé par ces tâches et au point de terminaison d'un VPC utilisé par le service en ajoutant des clés de condition à au rôle IAM d'exécution de la tâche. Pour en savoir plus, consultez [Autorisations IAM facultatives pour les tâches Fargate qui extraient des images Amazon ECR sur les points de terminaison d'interface](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) dans le *guide du développeur du service de conteneur Amazon Elastic*.
+ Le groupe de sécurité attaché au point de terminaison d'un VPC doit autoriser les connexions entrantes sur le port 443 à partir du sous-réseau privé du VPC.
+ Les points de terminaison Amazon ECR VPC prennent en charge la connectivité à double pile IPv4 (et). IPv6 Lorsque vous créez un point de terminaison VPC à double pile, il peut gérer le trafic à la IPv4 fois via IPv6 des adresses IP privées.
+ Les points de terminaison VPC prennent en charge les référentiels publics Amazon ECR via le point de terminaison du SDK AWS API dans l'est des États-Unis (Virginie du Nord). 
+ Les points de terminaison VPC ne prennent en charge que le AWS DNS fourni via Amazon Route 53. Si vous souhaitez utiliser votre propre DNS, vous pouvez utiliser le transfert DNS conditionnel. Pour en savoir plus, consultez [Jeux d'options DHCP](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) dans le *guide de l'utilisateur Amazon VPC*.
+ Si vos conteneurs ont des connexions existantes vers Amazon S3, leurs connexions peuvent être brièvement interrompues lorsque vous ajoutez le point de terminaison de passerelle Amazon S3. Si vous souhaitez éviter cette interruption, créez un VPC qui utilise le point de terminaison de passerelle Amazon S3, puis migrez votre cluster Amazon ECS et ses conteneurs dans le nouveau VPC.
+ Lorsqu'une image est extraite à l'aide d'une règle de mise en cache par extraction pour la première fois, si vous avez configuré Amazon ECR pour utiliser un point de terminaison d'un VPC d'interface à l'aide de AWS PrivateLink , vous devez créer un sous-réseau public dans le même VPC, avec une passerelle NAT, puis acheminer tout le trafic sortant vers l'Internet depuis leur sous-réseau privé vers la passerelle NAT afin que l'extraction fonctionne. Les extractions d'images suivantes ne nécessitent pas cela. Pour plus d'informations, consultez la section [Scénario : Accéder à Internet depuis un sous-réseau privé](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#public-nat-internet-access) dans le *Guide de l'utilisateur Amazon Virtual Private Cloud*.
+ Pour les charges de travail nécessitant des modules cryptographiques validés par la norme FIPS 140-3, Amazon ECR prend en charge les points de terminaison FIPS pour les points de terminaison VPC.

### Considérations relatives aux images Windows
<a name="ecr-vpc-endpoint-windows-considerations"></a>

Les images basées sur le système d'exploitation Windows contiennent des artefacts dont la distribution est restreinte par la licence. Par défaut, lorsque vous poussez des images Windows vers un référentiel Amazon ECR, les couches qui contiennent ces artefacts ne sont pas poussées, car elles sont considérées comme des *couches étrangères*. Lorsque les artefacts sont fournis par Microsoft, les couches étrangères sont récupérées à partir de l'infrastructure Microsoft Azure. Pour cette raison, afin de permettre à vos conteneurs d'extraire ces couches étrangères d'Azure, des étapes supplémentaires sont nécessaires au-delà de la création des points de terminaison d'un VPC.

Il est possible de remplacer ce comportement lorsque vous poussez des images Windows vers Amazon ECR à l'aide de la clé `--allow-nondistributable-artifacts` dans le démon Docker. Lorsqu'il est activé, cet indicateur envoie les couches sous licence vers Amazon ECR, ce qui permet d'extraire ces images d'Amazon ECR via le point de terminaison d'un VPC, sans qu'un accès supplémentaire à Azure soit requis.

**Important**  
L'utilisation de l'indicateur `--allow-nondistributable-artifacts` n'exclut pas votre obligation de respecter les termes de la licence d'image de base du conteneur Windows ; vous ne pouvez pas publier du contenu Windows pour une redistribution publique ou tierce. L'utilisation dans votre propre environnement est autorisée.

Pour activer l'utilisation de cet indicateur pour votre installation Docker, vous devez modifier le fichier de configuration du démon Docker qui, en fonction de votre installation Docker, peut généralement être configuré dans le menu des paramètres ou des préférences sous l'onglet **Moteur Docker** ou en modifiant directement le fichier `C:\ProgramData\docker\config\daemon.json`.

Voici un exemple de configuration de la configuration requise. Remplacez la valeur par l'URI du référentiel vers lequel vous poussez les images.

```
{
    "allow-nondistributable-artifacts": [
        "111122223333.dkr.ecr.us-west-2.amazonaws.com"
    ]
}
```

Après avoir modifié le fichier de configuration du démon Docker, vous devrez redémarrer le démon Docker avant de tenter de pousser votre image. Confirmez que la transmission a fonctionné en vérifiant que la couche de base a fait l'objet d'une transmission de type push vers votre référentiel.

**Note**  
Les couches de base des images Windows sont volumineuses. La taille de la couche entraînera un délai de transmission plus long et des coûts de stockage supplémentaires dans Amazon ECR pour ces images. Pour ces raisons, nous vous recommandons d'utiliser cette option uniquement lorsqu'elle est strictement nécessaire pour réduire les temps de création et les coûts de stockage continus. Par exemple, la taille de l'image `mcr.microsoft.com/windows/servercore`est d'environ 1,7 Go lorsqu'elle est compressée dans Amazon ECR.

## Créer des points de terminaison d'un VPC pour Amazon ECR
<a name="ecr-setting-up-vpc-create"></a>

Pour créer des points de terminaison d'un VPC pour le service Amazon ECR, utilisez la procédure [Créer un point de terminaison d'interface](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) que vous trouverez dans le *gui de l'utilisateur Amazon VPC*.

Les points de terminaison Amazon ECR VPC prennent en charge la connectivité à double pile IPv4 (et). IPv6 Lorsque vous créez un point de terminaison VPC à double pile, il gère automatiquement le trafic sur les adresses IP privées IPv6 et sur IPv4 les adresses IP. Le point de terminaison acheminera le trafic en utilisant la version IP appropriée en fonction de la configuration réseau de votre client et des capacités du point de terminaison.

Si vous avez des points de IPv4 terminaison VPC existants uniquement et que vous souhaitez migrer vers des points de terminaison à double pile, vous pouvez modifier vos points de terminaison existants pour prendre en charge la connectivité à double pile ou créer de nouveaux points de terminaison à double pile. Lorsque vous créez ou modifiez des points de terminaison, assurez-vous que votre VPC et vos sous-réseaux prennent en charge la version IP que vous souhaitez utiliser. Après avoir créé des points de terminaison à double pile, les points de terminaison prendront en charge les deux et. IPv4 IPv6

Les tâches Amazon ECS hébergées sur des instances Amazon EC2 nécessitent des points de terminaison Amazon ECR et le point de terminaison de passerelle Amazon S3.

Les tâches Amazon ECS hébergées sur Fargate et utilisant la version `1.4.0` de la plateforme ou version ultérieure nécessitent à la fois les points de terminaison d'un VPC Amazon ECR et les points de terminaison de la passerelle Amazon S3.

**Les tâches Amazon ECS hébergées sur Fargate qui utilisent une version de plateforme ou une `1.3.0` version antérieure nécessitent uniquement le fichier com.amazonaws. *region*.ecr.dkr** Point de terminaison VPC Amazon ECR et points de terminaison de la passerelle Amazon S3.

**Note**  
L'ordre dans lequel les points de terminaison sont créés n'a pas d'importance.

**com.amazonaws. *region*.ecr .dkr**  
Ce point de terminaison est utilisé pour le registre APIs Docker. Les commandes du client Docker telles que `push` et `pull` utilisent ce point de terminaison.  
Lorsque vous créez ce point de terminaison, vous devez activer un nom d'hôte DNS privé. Pour ce faire, assurez-vous que l’option **Activer le nom DNS privé** est sélectionnée dans la console Amazon VPC lorsque vous créez le point de terminaison d’un VPC.  
**Pour les connexions conformes à la norme FIPS 140-3, utilisez le nom du point de terminaison FIPS com.amazonaws. *region*.ecr-fips .dkr**

**com.amazonaws. *region*.ecr.api**  
La valeur spécifiée *region* représente l'identifiant de région d'une AWS région prise en charge par Amazon ECR, par exemple `us-east-2` pour la région USA Est (Ohio).
**Pour les connexions conformes à la norme FIPS 140-3, utilisez les noms des points de terminaison FIPS : com.amazonaws. ***region***.ecr-fips.dkr et com.amazonaws. *region*.ecr-fips .api.**  
Ce point de terminaison est utilisé pour les appels à l'API Amazon ECR. Les actions d'API telles que `DescribeImages` et `CreateRepository` vont jusqu'à ce point de terminaison.  
Lorsque ce point de terminaison est créé, vous avez la possibilité d'activer un nom d'hôte DNS privé. Activez ce nom d'hôte en sélectionnant **Activer le nom de DNS privé** dans la console VPC lorsque vous créez le point de terminaison d'un VPC. Si vous activez un nom d'hôte DNS privé pour le point de terminaison VPC, mettez à jour votre SDK AWS CLI ou optez pour la dernière version afin qu'il ne soit pas nécessaire de spécifier une URL de point de terminaison lors de l'utilisation du SDK AWS CLI ou non.  
**Pour les connexions conformes à la norme FIPS 140-3, utilisez le nom du point de terminaison FIPS com.amazonaws. *region*.ecr-fips .api.**  
Si vous activez un nom d'hôte DNS privé et que vous utilisez un SDK ou une AWS CLI version publiée avant le 24 janvier 2019, vous devez utiliser le `--endpoint-url` paramètre pour spécifier les points de terminaison de l'interface. L'exemple suivant montre le format de l'URL du point de terminaison.  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr.region.amazonaws.com
```
Si vous n'activez pas un nom d'hôte DNS privé pour le point de terminaison d'un VPC, vous devrez utiliser le paramètre `--endpoint-url` en spécifiant l'ID du point de terminaison de VPC pour le point de terminaison d'interface. L'exemple suivant montre le format de l'URL du point de terminaison.  

```
aws ecr create-repository --repository-name name --endpoint-url https://VPC_endpoint_ID.api.ecr.region.vpce.amazonaws.com
```
Pour les connexions conformes à la norme FIPS 140-3, utilisez l'URL du point de terminaison FIPS :  

```
aws ecr create-repository --repository-name name --endpoint-url https://api.ecr-fips.region.amazonaws.com
```

## Créer le point de terminaison de la passerelle Amazon S3
<a name="ecr-setting-up-s3-gateway"></a>

Pour que vos tâches Amazon ECS puissent extraire des images privées d'Amazon ECR, vous devez créer un point de terminaison de passerelle pour Amazon S3. Le point de terminaison de passerelle est obligatoire, car Amazon ECR utilise Amazon S3 pour stocker vos couches d'images. Lorsque vos conteneurs téléchargent des images depuis Amazon ECR, ils doivent accéder à Amazon ECR pour obtenir le manifeste d'image et à Amazon S3 pour télécharger les couches d'image réelles. Voici l'Amazon Resource Name (ARN) du compartiment Amazon S3 contenant les couches pour chaque image Docker.

```
arn:aws:s3:::prod-region-starport-layer-bucket/*
```

**Note**  
Si vous créez un point de terminaison VPC à double pile pour Amazon ECR, vous devez également créer un point de terminaison Amazon S3 Gateway ou Interface à double pile. Reportez-vous à [la documentation S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html#privatelink-ip-address-types) pour plus de détails.

Utilisez la procédure [Créer un point de terminaison de passerelle](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-gateway.html#create-gateway-endpoint) dans le *guide de l'utilisateur Amazon VPC* pour créer le point de terminaison de la passerelle Amazon S3 suivant pour Amazon ECR. Lorsque vous créez le point de terminaison, veillez à sélectionner les tables de routage pour votre VPC.

**com.amazonaws. *region*.s3**  
Le point de terminaison de la passerelle Amazon S3 utilise un document de politique IAM pour limiter l'accès au service. Vous pouvez utiliser la politique **Accès total** en raison des restrictions que vous avez placées dans les rôles IAM de votre tâche, ou si d'autres politiques utilisateur IAM restent applicables au-dessus de cette politique. Si vous souhaitez limiter l'accès au compartiment Amazon S3 aux autorisations minimales requises pour utiliser Amazon ECR, consultez [Autorisations minimales relatives aux compartiments Amazon S3 pour Amazon ECR](#ecr-minimum-s3-perms).

### Autorisations minimales relatives aux compartiments Amazon S3 pour Amazon ECR
<a name="ecr-minimum-s3-perms"></a>

Le point de terminaison de la passerelle Amazon S3 utilise un document de politique IAM pour limiter l'accès au service. Pour accorder uniquement les autorisations minimales de compartiment Amazon S3 pour Amazon ECR, limitez l'accès au compartiment Amazon S3 utilisé par Amazon ECR lorsque vous créez le document de politique IAM pour le point de terminaison. 

Le tableau suivant décrit les autorisations de la politique de compartiment Amazon S3 requises par Amazon ECR.


| Autorisations | Description | 
| --- | --- | 
|  `arn:aws:s3:::prod-region-starport-layer-bucket/*`  |  Fournit l'accès au compartiment Amazon S3 contenant les couches pour chaque image Docker. Représente l'identifiant de région d'une région AWS prise en charge par Amazon ECR, telle que `us-east-2` pour la région USA Est (Ohio).  | 

#### Exemple
<a name="ecr-minimum-s3-perms-example"></a>

L'exemple suivant montre comment fournir l'accès aux compartiments Amazon S3 requis pour les opérations Amazon ECR.

```
{
  "Statement": [
    {
      "Sid": "Access-to-specific-bucket-only",
      "Principal": "*",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::prod-region-starport-layer-bucket/*"]
    }
  ]
}
```

## Création du point de terminaison CloudWatch Logs
<a name="ecr-setting-up-cloudwatch-logs"></a>

**Les tâches Amazon ECS utilisant le type de lancement Fargate qui utilisent un VPC sans passerelle Internet et qui utilisent également le pilote de journal pour envoyer des informations de journal à Logs nécessitent que vous créiez `awslogs` le fichier CloudWatch com.amazonaws. *region*Point de terminaison CloudWatch VPC de l'interface .logs** pour les journaux. Pour plus d'informations, consultez la section [Utilisation CloudWatch des journaux avec les points de terminaison VPC de l'interface dans le guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html) de l'utilisateur *Amazon CloudWatch Logs*.

## Créer une politique de point de terminaison pour vos points de terminaison d'un VPC Amazon ECR
<a name="ecr-vpc-endpoint-policy"></a>

Une politique de point de terminaison d'un VPC est une politique de ressource IAM que vous attachez à un point de terminaison lorsque vous le créez ou le modifiez. Si vous n'attachez pas de politique lorsque vous créez un point de AWS terminaison, associez une politique par défaut qui permet un accès complet au service. Une stratégie de point de terminaison n'annule pas et ne remplace pas les stratégies utilisateur ou les stratégies propres au service. Il s'agit d'une politique distincte qui contrôle l'accès depuis le point de terminaison jusqu'au service spécifié. Les politiques de point de terminaison doivent être écrites au format JSON. Pour en savoir plus, consultez [Contrôle de l'accès aux services avec des points de terminaison d'un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dans le *guide de l'utilisateur Amazon VPC*.

Nous vous recommandons de créer une politique de ressource IAM unique et de l'attacher aux deux points de terminaison d'un VPC Amazon ECR.

Voici un exemple de politique de point de terminaison pour l'API Amazon ECR. Cette politique permet à un rôle IAM spécifique d'extraire des images depuis Amazon ECR.

```
{
	"Statement": [{
		"Sid": "AllowPull",
		"Principal": {
			"AWS": "arn:aws:iam::1234567890:role/role_name"
		},
		"Action": [
			"ecr:BatchGetImage",
			"ecr:GetDownloadUrlForLayer",
                    "ecr:GetAuthorizationToken"
		],
		"Effect": "Allow",
		"Resource": "*"
	}]
}
```

L'exemple de politique de point de terminaison suivant empêche la suppression d'un référentiel spécifié.

```
{
	"Statement": [{
			"Sid": "AllowAll",
			"Principal": "*",
			"Action": "*",
			"Effect": "Allow",
			"Resource": "*"
		},
		{
			"Sid": "PreventDelete",
			"Principal": "*",
			"Action": "ecr:DeleteRepository",
			"Effect": "Deny",
			"Resource": "arn:aws:ecr:region:1234567890:repository/repository_name"
		}
	]
}
```

L'exemple de politique de point de terminaison suivant combine les deux exemples précédents en une seule politique.

```
{
	"Statement": [{
			"Sid": "AllowAll",
			"Effect": "Allow",
			"Principal": "*",
			"Action": "*",
			"Resource": "*"
		},
		{
			"Sid": "PreventDelete",
			"Effect": "Deny",
			"Principal": "*",
			"Action": "ecr:DeleteRepository",
			"Resource": "arn:aws:ecr:region:1234567890:repository/repository_name"
		},
		{
			"Sid": "AllowPull",
			"Effect": "Allow",
			"Principal": {
				"AWS": "arn:aws:iam::1234567890:role/role_name"
			},
			"Action": [
				"ecr:BatchGetImage",
				"ecr:GetDownloadUrlForLayer",
                          "ecr:GetAuthorizationToken"
			],
			"Resource": "*"
		}
	]
}
```

**Pour modifier la politique de point de terminaison d'un VPC pour Amazon ECR**

1. Ouvrez la console Amazon VPC à l’adresse [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. Dans le panneau de navigation, choisissez **Points de terminaison**.

1. Si vous n'avez pas encore créé les points de terminaison d'un VPC pour Amazon ECR, consultez [Créer des points de terminaison d'un VPC pour Amazon ECR](#ecr-setting-up-vpc-create).

1. Sélectionnez le point de terminaison d'un VPC Amazon ECR auquel ajouter une politique, puis choisissez l'onglet **Politique** dans la partie inférieure de l'écran.

1. Choisissez **Modifier la politique**, puis apportez les modifications souhaitées à la politique.

1. Choisissez **Enregistrer** pour enregistrer la politique.

## Sous-réseaux partagés
<a name="ecr-vpc-endpoint-shared-subnets"></a>

Vous ne pouvez pas créer, décrire, modifier ou supprimer des points de terminaison d'un VPC dans des sous-réseaux qui sont partagés avec vous. Toutefois, vous pouvez utiliser les points de terminaison d'un VPC dans les sous-réseaux qui sont partagés avec vous.

# Prévention du cas de figure de l’adjoint désorienté entre services
<a name="cross-service-confused-deputy-prevention"></a>

Le problème de député confus est un problème de sécurité dans lequel une entité qui n’est pas autorisée à effectuer une action peut contraindre une entité plus privilégiée à le faire. En AWS, l'usurpation d'identité interservices peut entraîner la confusion des adjoints. L’usurpation d’identité entre services peut se produire lorsqu’un service (le *service appelant*) appelle un autre service (le *service appelé*). Le service appelant peut être manipulé et ses autorisations utilisées pour agir sur les ressources d’un autre client auxquelles on ne serait pas autorisé à accéder autrement. Pour éviter cela, AWS fournit des outils qui vous aident à protéger vos données pour tous les services avec des principaux de service qui ont eu accès aux ressources de votre compte. 

Nous vous recommandons d'utiliser les clés de contexte de condition globale [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) ou [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dans les politiques de ressources afin de limiter les autorisations à la ressource octroyées par Amazon ECR à un autre service. Utilisez `aws:SourceArn` si vous souhaitez qu’une seule ressource soit associée à l’accès entre services. Utilisez `aws:SourceAccount` si vous souhaitez autoriser l’association d’une ressource de ce compte à l’utilisation interservices.

Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale `aws:SourceArn` avec l’ARN complet de la ressource. Si vous ne connaissez pas l’ARN complet de la ressource ou si vous spécifiez plusieurs ressources, utilisez la clé de contexte de condition globale `aws:SourceArn` avec des caractères génériques (`*`) pour les parties inconnues de l’ARN. Par exemple, `arn:aws:servicename:region:123456789012:*`. 

Si la valeur `aws:SourceArn` ne contient pas l’ID du compte, tel qu’un ARN de compartiment Amazon S3, vous devez utiliser les deux clés de contexte de condition globale pour limiter les autorisations. 

La valeur de `aws:SourceArn` doit être ResourceDescription.

L'exemple suivant montre comment vous pouvez utiliser les clés de contexte de condition `aws:SourceAccount` globale `aws:SourceArn` et les clés de contexte dans une politique de référentiel Amazon ECR pour autoriser l' AWS CodeBuild accès aux actions de l'API Amazon ECR nécessaires à l'intégration à ce service, tout en évitant le problème de confusion lié aux adjoints.

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

------