Authentification par registre privé pour les tâches - AWS Batch

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.

Authentification par registre privé pour les tâches

L'authentification du registre privé pour les tâches utilisées vous AWS Secrets Manager permet de stocker vos informations d'identification en toute sécurité, puis de les référencer dans votre définition de tâche. Cela permet de référencer des images de conteneurs qui existent dans des registres privés autres que ceux AWS qui nécessitent une authentification dans vos définitions de tâches. Cette fonctionnalité est prise en charge par les jobs hébergés sur les instances Amazon EC2 et Fargate.

Important

Si votre définition de tâche fait référence à une image stockée dans Amazon ECR, cette rubrique ne s'applique pas. Pour plus d'informations, consultez Utilisation d'images Amazon ECR avec Amazon ECS dans le Guide de l'utilisateur Amazon Elastic Container Registry.

Pour les tâches hébergées sur des instances Amazon EC2, cette fonctionnalité nécessite une version 1.19.0 ou une version ultérieure de l'agent de conteneur. Cependant, nous vous recommandons d'utiliser la dernière version de l'agent de conteneur. Pour plus d'informations sur la façon de vérifier la version de votre agent et de passer à la dernière version, consultez la section Mise à jour de l'agent de conteneur Amazon ECS dans le manuel Amazon Elastic Container Service Developer Guide.

Pour les jobs hébergés sur Fargate, cette fonctionnalité nécessite une version de plateforme 1.2.0 ou une version ultérieure. Pour plus d'informations, consultez les AWS versions de la plateforme Fargate Linux dans le guide du développeur Amazon Elastic Container Service.

Dans votre définition du conteneur, spécifiez l'objet repositoryCredentials avec les détails du secret que vous avez créé. Le secret auquel vous faites référence peut provenir d'un compte différent Région AWS ou différent de celui de la tâche qui l'utilise.

Note

Lorsque vous utilisez l' AWS Batch API AWS CLI, ou AWS SDK, si le secret existe dans la même tâche Région AWS que la tâche que vous lancez, vous pouvez utiliser l'ARN complet ou le nom du secret. Si le secret existe dans un autre compte, l'ARN complet du secret doit être spécifié. Lorsque vous utilisez le AWS Management Console, l'ARN complet du secret doit toujours être spécifié.

Voici un extrait de définition de tâche qui indique les paramètres requis :

"containerProperties": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:123456789012:secret:secret_name" } } ]

Autorisations IAM requises pour l'authentification de registre privé

Le rôle d'exécution est requis pour utiliser cette fonctionnalité. Cela permet à l'agent de conteneur d'extraire l'image de conteneur. Pour de plus amples informations, veuillez consulter AWS Batch rôle d'exécution IAM.

Pour donner accès aux secrets que vous créez, ajoutez les autorisations suivantes en tant que politique intégrée au rôle d'exécution. Pour plus d'informations, consultez Ajout et suppression de politiques IAM.

  • secretsmanager:GetSecretValue

  • kms:Decrypt : requis uniquement si votre clé utilise une clé KMS personnalisée et non la clé par défaut. L'Amazon Resource Name (ARN) de votre clé personnalisée doit être ajouté en tant que ressource.

Voici un exemple de stratégie en ligne qui ajoute les autorisations.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:region:123456789012:secret:secret_name", "arn:aws:kms:region:123456789012:key/key_id" ] } ] }

Utilisation de l'authentification de registre privé

Pour créer un secret basique

AWS Secrets Manager À utiliser pour créer un secret pour vos informations d'identification de registre privées.

  1. Ouvrez la AWS Secrets Manager console à l'adresse https://console.aws.amazon.com/secretsmanager/.

  2. Choisissez Store a new secret (Stocker un nouveau secret).

  3. Pour Select secret type (Sélectionner un type de secret), choisissez Other type of secrets (Autre type de secrets).

  4. Sélectionner Plaintext (Texte brut) et saisissez vos informations d'identification de registre privé au format suivant :

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  5. Choisissez Suivant.

  6. Pour Secret name (Nom du secret), saisissez un chemin facultatif et un nom, comme production/MyAwesomeAppSecret ou development/TestSecret, puis choisissez Next (Suivant). Vous pouvez éventuellement ajouter une description pour vous aider à vous souvenir de la finalité de ce secret ultérieurement.

    Le nom du secret doit contenir uniquement des lettres ASCII, des chiffres ou les caractères suivants : /_+=.@-.

  7. (Facultatif) À ce stade, vous pouvez configurer la rotation de votre secret. Pour cette procédure, gardez l'option Disable automatic rotation (Désactiver la rotation automatique) et choisissez Next (Suivant).

    Pour savoir comment configurer la rotation sur des secrets nouveaux ou existants, voir Rotation de vos AWS Secrets Manager secrets.

  8. Vérifiez vos paramètres, puis choisissez Store secret (Stocker le secret) pour enregistrer tous les éléments que vous avez saisis en tant que nouveau secret dans Secrets Manager.

Enregistrez une définition de tâche et, sous Registre privé, activez l'authentification du registre privé. Ensuite, dans ARN ou nom Secrets Manager, saisissez l'Amazon Resource Name (ARN) du secret. Pour de plus amples informations, veuillez consulter Autorisations IAM requises pour l'authentification de registre privé.