Création d'un modèle de création de référentiel dans Amazon ECR - Amazon ECR

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.

Création d'un modèle de création de référentiel dans Amazon ECR

Vous pouvez créer un modèle de création de référentiel pour définir les paramètres à utiliser pour les référentiels créés par Amazon ECR en votre nom lors d'actions de récupération du cache ou de réplication. Une fois le modèle de création de référentiel créé, les paramètres seront appliqués à tous les nouveaux référentiels créés. Cela n'a aucun effet sur les référentiels créés précédemment.

Lorsque vous configurez un référentiel avec des modèles, vous avez la possibilité de spécifier des clés KMS et des balises de ressources. Si vous avez l'intention d'utiliser des clés KMS, des balises de ressources ou une combinaison des deux dans un ou plusieurs modèles, vous devez :

Une fois configuré, vous pouvez associer le rôle personnalisé à des modèles spécifiques de votre registre.

Autorisations IAM pour créer des modèles de création de référentiels

Les autorisations suivantes sont nécessaires pour qu'un principal IAM puisse gérer les modèles de création de référentiels. Cette autorisation doit être accordée à l'aide d'une politique IAM basée sur l'identité.

  • ecr:CreateRepositoryCreationTemplate : accorde l'autorisation de créer un modèle de création de référentiel.

  • ecr:UpdateRepositoryCreationTemplate— Autorise la mise à jour d'un modèle de création de dépôt.

  • ecr:DescribeRepositoryCreationTemplates— Accorde l'autorisation de répertorier les modèles de création de référentiels dans un registre.

  • ecr:DeleteRepositoryCreationTemplate : accorde l'autorisation de supprimer un modèle de création de référentiel.

  • ecr:CreateRepository— Accorde l'autorisation de créer un référentiel Amazon ECR.

  • ecr:PutLifecyclePolicy : accorde l'autorisation de créer une politique de cycle de vie et de l'appliquer à un référentiel. Cette autorisation n'est requise que si le modèle de création de référentiel inclut une politique de cycle de vie.

  • ecr:SetRepositoryPolicy : accorde l'autorisation de créer une politique d'autorisation pour un référentiel. Cette autorisation n'est requise que si le modèle de création de référentiel inclut une politique de référentiel.

  • iam:PassRole— Accorde l'autorisation d'autoriser une entité à transmettre un rôle à un service ou à une application. Cette autorisation est nécessaire pour les services et applications qui doivent assumer un rôle pour effectuer des actions en votre nom.

Création d'un modèle de création de référentiel

Une fois que vous avez rempli les conditions requises pour vos modèles, vous pouvez procéder à la création des modèles de création de référentiels.

AWS Management Console
Pour créer un modèle de création de référentiel (AWS Management Console)
  1. Ouvrez la console Amazon ECR à https://console.aws.amazon.com/ecr/l'adresse.

  2. Dans la barre de navigation, choisissez la région dans laquelle créer le modèle de création de référentiel.

  3. Dans le volet de navigation, choisissez Registre privé, Modèles de création de référentiels.

  4. Sur la page Modèles de création de référentiels, choisissez Créer un modèle.

  5. Sur la page Étape 1 : définir le modèle, pour Détails du modèle, choisissez Un préfixe spécifique pour appliquer le modèle à un préfixe d'espace de noms de référentiel spécifique ou choisissez N'importe quel préfixe dans votre registre ECR pour appliquer le modèle à tous les référentiels qui ne correspondent à aucun autre modèle dans la région.

    1. Si vous choisissez Un préfixe spécifique pour Préfixe, spécifiez le préfixe de l'espace de noms du référentiel auquel appliquer le modèle. Il y a toujours un / supposé/appliqué à la fin du préfixe. Par exemple, le préfixe de prod s'appliquerait à tous les référentiels commençant par prod/. De la même façon, le préfixe de prod/team s'appliquerait à tous les référentiels commençant par prod/team/.

    2. Si vous choisissez N'importe quel préfixe dans votre registre ECR, le Préfixe sera défini sur ROOT.

  6. Pour Applied for, spécifiez à quels flux de travail Amazon ECR ce modèle s'appliquera. Les options sont PULL_THROUGH_CACHE et REPLICATION.

  7. Pour Description du modèle, spécifiez une description facultative pour le modèle, puis choisissez Suivant.

  8. Sur la page Étape 2 : ajouter une configuration de création de référentiel, spécifiez la configuration des paramètres de référentiel à appliquer aux référentiels créés à l'aide du modèle.

    1. Pour Mutabilité des balises d'image, choisissez le paramètre mutabilité des balises à utiliser. Pour de plus amples informations, veuillez consulter Empêcher le remplacement des balises d'image dans Amazon ECR.

      • Mutable : choisissez cette option si vous souhaitez que les balises d'image soient remplacées. Recommandé pour les référentiels utilisant des actions de cache d'extraction afin de garantir qu'Amazon ECR puisse mettre à jour les images mises en cache. En outre, pour désactiver les mises à jour de balises pour quelques balises modifiables, entrez le nom des balises ou utilisez des caractères génériques (*) pour faire correspondre plusieurs balises similaires dans la zone de texte d'exclusion des balises modifiables.

      • Immuable : choisissez cette option si vous souhaitez empêcher le remplacement des balises d'image. Elle s'applique à toutes les balises et exclusions du référentiel lors du transfert d'une image avec une balise existante. Amazon ECR renvoie un ImageTagAlreadyExistsException si vous tentez de publier une image avec une balise existante. En outre, pour activer les mises à jour des balises pour quelques balises immuables, entrez les noms des balises ou utilisez des caractères génériques (*) pour faire correspondre plusieurs balises similaires dans la zone de texte Exclusion de balises immuable.

    2. Pour la configuration du chiffrement, choisissez le paramètre de chiffrement à utiliser. Pour de plus amples informations, veuillez consulter Chiffrement au repos.

      Lorsque AES-256 est sélectionné, Amazon ECR utilise le chiffrement côté serveur avec des clés de chiffrement gérées par Amazon Simple Storage Service, ce qui chiffre vos données au repos à l'aide d'un algorithme de chiffrement AES-256 standard du secteur. Ceci est offert sans frais supplémentaires.

      Lorsqu'AWS KMS est sélectionné, Amazon ECR utilise le chiffrement côté serveur avec les clés stockées dans AWS Key Management Service (AWS KMS). Lorsque vous chiffrez vos données, vous pouvez soit utiliser la clé AWS gérée par défaut, qui est gérée par Amazon ECR, soit spécifier votre propre AWS KMS clé, appelée clé gérée par le client. AWS KMS

      Note

      Les paramètres de chiffrement pour un référentiel ne peuvent pas être modifiés une fois celui-ci créé.

    3. Pour les autorisations de référentiel, spécifiez la politique d'autorisation de référentiel à appliquer aux référentiels créés à l'aide de ce modèle. Vous pouvez éventuellement utiliser le menu déroulant pour sélectionner l'un des exemples JSON pour les cas d'utilisation les plus fréquents. Pour de plus amples informations, veuillez consulter Politiques relatives aux référentiels privés dans Amazon ECR.

    4. Pour la politique de cycle de vie de référentiel, spécifiez la politique de cycle de vie de référentiel à appliquer aux référentiels créés à l'aide de ce modèle. Vous pouvez éventuellement utiliser le menu déroulant pour sélectionner l'un des exemples JSON pour les cas d'utilisation les plus fréquents. Pour de plus amples informations, veuillez consulter Automatisez le nettoyage des images en utilisant les politiques de cycle de vie d'Amazon ECR.

    5. Pour les AWS balises de référentiel, spécifiez les métadonnées, sous forme de paires clé-valeur, à associer aux référentiels créés à l'aide de ce modèle, puis choisissez Next. Pour de plus amples informations, veuillez consulter Marquage d'un référentiel privé dans Amazon ECR.

    6. Pour le rôle de création de référentiel, sélectionnez un rôle IAM personnalisé dans le menu déroulant à utiliser pour les modèles de création de référentiel lors de l'utilisation de balises de référentiel ou de KMS dans le modèle (voir Création d'un rôle IAM pour les modèles de création de référentiels pour plus de détails). Choisissez ensuite Next.

  9. Sur la page Étape 3 : vérifier et créer, passez en revue les paramètres que vous avez spécifiés pour le modèle de création de référentiel. Choisissez l'option Modifier pour effectuer des changements. Une fois que vous avez terminé, choisissez Créer.

AWS CLI

La create-repository-creation-template AWS CLI commande est utilisée pour créer un modèle de création de référentiel pour votre registre privé.

Pour créer un modèle de création de référentiel (AWS CLI)
  1. Utilisez le AWS CLI pour générer un squelette pour la create-repository-creation-templatecommande.

    aws ecr create-repository-creation-template \ --generate-cli-skeleton

    La sortie de la commande affiche la syntaxe complète du modèle de création de référentiel.

    { "appliedFor":[""], // string array, but valid are PULL_THROUGH_CACHE and REPLICATION "prefix": "string", "description": "string", "imageTagMutability": "MUTABLE"|"IMMUTABLE"|"IMMUTABLE_WITH_EXCLUSION"|"MUTABLE_WITH_EXCLUSION", "imageTagMutabilityExclusionFilters": [ "filterType": "WILDCARD", "filter": "string" ], "repositoryPolicy": "string", "lifecyclePolicy": "string" "encryptionConfiguration": { "encryptionType": "AES256"|"KMS", "kmsKey": "string" }, "resourceTags": [ { "Key": "string", "Value": "string" } ], "customRoleArn": "string", // must be a valid IAM Role ARN }
  2. Créez un fichier nommé repository-creation-template.json avec le résultat de l'étape précédente. Ce modèle définit une clé de chiffrement KMS pour tout dépôt créé dans le cadre prod/* d'une politique de dépôt qui permet de transférer et d'extraire des images vers de futurs référentiels, définit une politique de cycle de vie qui fera expirer les images datant de plus de deux semaines et définit un rôle personnalisé qui permettra à ECR d'accéder à la clé KMS et d'attribuer la balise de ressource aux examplekey futurs référentiels.

    { "prefix": "prod", "description": "For repositories cached from my PTC rule and in my replication configuration that start with 'prod/'", "appliedFor": ["PULL_THROUGH_CACHE","REPLICATION"], "encryptionConfiguration": { "encryptionType": "KMS", "kmsKey": "arn:aws:kms:us-west-2:111122223333:key/a1b2c3d4-5678-90ab-cdef-example11111" }, "resourceTags": [ { "Key": "examplekey", "Value": "examplevalue" } ], "imageTagMutability": "IMMUTABLE_WITH_EXCLUSION", "imageTagMutabilityExclusionFilters": [ { "filterType": "WILDCARD", "filter": "latest" }, { "filterType": "WILDCARD", "filter": "beta*" } ] "repositoryPolicy": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"AllowPushPullIAMRole\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:user\/IAMusername\"},\"Action\":[\"ecr:BatchGetImage\",\"ecr:BatchCheckLayerAvailability\",\"ecr:CompleteLayerUpload\",\"ecr:GetDownloadUrlForLayer\",\"ecr:InitiateLayerUpload\",\"ecr:PutImage\",\"ecr:UploadLayerPart\"]}]}", "lifecyclePolicy": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"any\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}", "customRoleArn": "arn:aws:iam::111122223333:role/myRole" }
  3. Utilisez la commande suivante pour créer un modèle de création de référentiel. Assurez-vous de spécifier le nom du fichier de configuration créé à l'étape précédente à la place de celui repository-creation-template.json de l'exemple suivant.

    aws ecr create-repository-creation-template \ --cli-input-json file://repository-creation-template.json