Spécifiez les données sensibles avec 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écifiez les données sensibles avec 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 à prendre en compte lors de la spécification de données sensibles à l'aide du magasin de paramètres de Systems Manager

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 ECS conteneur Amazon 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.

IAMAutorisations requises pour les AWS Batch secrets

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 ECS conteneur Amazon de récupérer les AWS Systems Manager ressources nécessaires. Pour de plus amples informations, veuillez consulter Rôle d'exécution AWS Batch IAM.

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 IAM politiques dans le guide de IAM l'utilisateur.

  • 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 KMS clé personnalisée et non la clé par défaut. La clé ARN pour votre clé personnalisée doit être ajoutée 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>" ] } ] }

Injectez des données sensibles en tant que variable d'environnement

Dans votre définition de conteneur, spécifiez secrets le nom de la variable d'environnement à définir dans le conteneur et l'intégralité ARN 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 le nom complet ARN ou le nom du paramètre. Si le paramètre existe dans une autre région, la valeur complète ARN doit être spécifiée.

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

Injecter des données sensibles dans une configuration de journal

Dans votre définition de conteneur, lorsque logConfiguration vous spécifiez un, vous pouvez spécifier secretOptions le nom de l'option de pilote de journal à définir dans le conteneur et l'intégralité ARN 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 le nom complet ARN ou le nom du paramètre. Si le paramètre existe dans une autre région, la valeur complète ARN doit être spécifiée.

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 KMSKey ID apparaît. Si vous ne fournissez pas d'identifiant de KMS clé, de KMS cléARN, de nom d'alias ou d'aliasARN, le système utilisealias/aws/ssm. Il s'agit de la KMS clé par défaut pour 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é dans la console en utilisant le key-id paramètre avec un nom d'alias de KMS clé personnalisé ou un aliasARN, vous devez spécifier le préfixe alias/ avant l'alias. Voici un ARN exemple :

      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).