Spécification de données sensibles à l'aide du Systems Manager Parameter Store - 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.

Spécification de données sensibles à l'aide du Systems Manager Parameter Store

Vous pouvez ainsi injecter des données sensibles dans vos conteneurs en les stockant dans les paramètres du AWS Systems Manager Parameter Store, puis en les référençant dans la définition de votre conteneur. AWS Batch

Considérations relatives à la spécification de données sensibles à l'aide du Systems Manager Parameter Store

Les éléments suivants doivent être pris en compte lors de la spécification de données sensibles pour les conteneurs à l'aide des paramètres Systems Manager Parameter Store.

  • Cette fonctionnalité nécessite que votre instance de conteneur dispose de la version 1.23.0 ou 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 vérification de la version de votre agent et la mise à jour vers 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.

  • Les données sensibles sont injectées dans le conteneur pour votre tâche lors du démarrage initial du conteneur. Si le paramètre secret ou Parameter Store est ensuite mis à jour ou fait l'objet d'une rotation, le conteneur ne reçoit pas la valeur mise à jour automatiquement. Vous devez lancer une nouvelle tâche pour forcer le lancement d'une nouvelle tâche avec des secrets mis à jour.

Autorisations IAM requises pour les secrets AWS Batch

Pour utiliser cette fonctionnalité, vous devez disposer du rôle d'exécution et le référencer dans votre définition de tâche. Cela permet à l'agent de conteneur Amazon ECS de récupérer les AWS Systems Manager ressources nécessaires. Pour plus d’informations, consultez AWS Batch IAMrôle d'exécution.

Pour donner accès aux AWS Systems Manager paramètres du magasin de paramètres que vous créez, ajoutez manuellement les autorisations suivantes en tant que politique intégrée au rôle d'exécution. Pour plus d'informations, consultez la section Ajout et suppression de politiques IAM dans le guide de l'utilisateur IAM.

  • ssm:GetParameters : obligatoire lorsque vous référencez un paramètre Systems Manager Parameter Store dans une définition de tâche.

  • secretsmanager:GetSecretValue : obligatoire si vous référencez directement un secret Secrets Manager ou si votre paramètre Systems Manager Parameter Store référence un secret Secrets Manager dans une définition de tâche.

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

L'exemple suivant de politique en ligne ajoute les autorisations requises :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:ssm:<region>:<aws_account_id>:parameter/<parameter_name>", "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name>", "arn:aws:kms:<region>:<aws_account_id>:key/<key_id>" ] } ] }

Injection de données sensibles sous la forme d'une variable d'environnement

Dans votre définition de conteneur, spécifiez secrets avec le nom de la variable d'environnement à définir dans le conteneur et l'ARN complet du paramètre Systems Manager Parameter Store contenant les données sensibles à présenter au conteneur.

Ce qui suit est un extrait d'une définition de tâche indiquant le format lors du référencement d'un paramètre du magasin de paramètres de Systems Manager. Si le paramètre Systems Manager Parameter Store existe dans la même région que la tâche que vous lancez, vous pouvez utiliser l'ARN complet ou le nom du paramètre. Si le paramètre existe dans une autre région, l'ARN complet doit être spécifié.

{ "containerProperties": [{ "secrets": [{ "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }

Injection de données sensibles dans une configuration de journal

Dans votre définition de conteneur, lorsque vous spécifiez logConfiguration, vous pouvez spécifier secretOptions avec le nom de l'option du pilote de journal à définir dans le conteneur et l'ARN complet du paramètre Systems Manager Parameter Store contenant les données sensibles à présenter au conteneur.

Important

Si le paramètre Systems Manager Parameter Store existe dans la même région que la tâche que vous lancez, vous pouvez utiliser l'ARN complet ou le nom du paramètre. Si le paramètre existe dans une autre région, l'ARN complet doit être spécifié.

Ce qui suit est un extrait d'une définition de tâche indiquant le format lors du référencement d'un paramètre du magasin de paramètres de Systems Manager.

{ "containerProperties": [{ "logConfiguration": [{ "logDriver": "fluentd", "options": { "tag": "fluentd demo" }, "secretOptions": [{ "name": "fluentd-address", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }] }

Création d'un AWS Systems Manager paramètre Parameter Store

Vous pouvez utiliser la AWS Systems Manager console pour créer un paramètre de magasin de paramètres de Systems Manager pour vos données sensibles. Pour plus d'informations, veuillez consulter la rubrique Procédure : Créer et utiliser un paramètre dans une commande (console) dans le Guide de l'utilisateur AWS Systems Manager .

Pour créer un paramètre Parameter Store
  1. Ouvrez la AWS Systems Manager console à l'adresse https://console.aws.amazon.com/systems-manager/.

  2. Dans le panneau de navigation, choisissez Parameter Store, Create Parameter (Créer un paramètre).

  3. Dans le champ Name (Nom), saisissez une hiérarchie et un nom de paramètre. Par exemple, saisissez test/database_password.

  4. Pour Description, saisissez une description facultative.

  5. Pour Type, choisissez String StringList, ou SecureString.

    Note
    • Si vous le souhaitez SecureString, le champ KMS Key ID apparaît. Si vous ne fournissez pas d'ID de clé KMS, un ARN de clé KMS, un nom d'alias ou un ARN d'alias, le système utilise alias/aws/ssm. Il s'agit de la clé KMS par défaut de Systems Manager. Pour éviter d'utiliser cette clé, choisissez une clé personnalisée. Pour plus d'informations, veuillez consulter la rubrique Utilisation de paramètres de chaîne sécurisée dans le Guide de l'utilisateur AWS Systems Manager .

    • Lorsque vous créez un paramètre de chaîne sécurisée dans la console à l'aide du paramètre key-id avec un nom d'alias de clé KMS personnalisée ou un ARN d'alias, vous devez spécifier le préfixe alias/ avant l'alias. Voici un exemple d'ARN :

      arn:aws:kms:us-east-2:123456789012:alias/MyAliasName

      Voici un exemple de nom d'alias :

      alias/MyAliasName
  6. Pour Value (Valeur), tapez une valeur. Par exemple, MyFirstParameter. Si vous le souhaitez SecureString, la valeur est masquée exactement telle que vous l'avez saisie.

  7. Sélectionnez Create parameter (Créer un paramètre).