AWS Systems Manager Parameter Store - AWS Systems Manager

AWS Systems Manager Parameter Store

Parameter Store, une des fonctionnalités de AWS Systems Manager, offre un stockage sécurisé et hiérarchique des données pour la gestion des données de configuration et des codes secrets. Vous pouvez stocker des données telles que des mots de passe, des chaînes de base de données, des ID d'Amazon Machine Image (AMI) et des codes de licence en tant que valeurs de paramètres. Vous pouvez stocker ces valeurs sous forme de texte brut ou de données chiffrées. Vous pouvez référencer des paramètres Systems Manager dans vos scripts, commandes, documents SSM et flux de travail de configuration et d'automatisation à l'aide du nom unique que vous avez spécifié lors de la création du paramètre.

Parameter Store est également intégré à Secrets Manager. Vous pouvez récupérer les secrets Secrets Manager lors de l'utilisation d'autres services AWS qui prennent déjà en charge les références aux paramètres Parameter Store. Pour plus d'informations, consultez Référencement des secrets AWS Secrets Manager à partir des paramètres Parameter Store.

Note

Pour implémenter des cycles de vie de rotation des mots de passe, utilisez AWS Secrets Manager. Vous pouvez effectuer une rotation, gérer et récupérer les informations d'identification de la base de données, les clés d'API et d'autres secrets tout au long de leur cycle de vie à l'aide de Secrets Manager. Pour plus d'informations, consultez Présentation de AWS Secrets Manager dans le Guide de l'utilisateur AWS Secrets Manager.

Comment mon organisation peut-elle tirer parti de Parameter Store ?

Parameter Store offre les avantages suivants :

  • Utilisation d'un service de gestion sécurisé, évolutif et hébergé des codes secrets, sans serveurs à gérer.

  • Amélioration de vos niveaux de sécurité en séparant les données du code.

  • Stockage des données de configuration et des chaînes chiffrées en hiérarchies et en versions de suivi.

  • Accès de contrôle et d'audit à niveaux granulaires.

  • Stockez les paramètres de manière fiable car Parameter Store est hébergé dans plusieurs zones de disponibilité dans une Région AWS.

À qui est destiné Parameter Store ?

  • Les clients AWS qui veulent gérer les données de configuration de façon centralisée.

  • Les développeurs de logiciels qui veulent stocker différentes connexions et différents flux de référence.

  • Les administrateurs qui veulent recevoir des notifications lorsque leurs secrets et leurs mots de passe sont ou ne sont pas modifiés.

Quelles sont les fonctions d'Parameter Store ?

  • Notification de modification

    Vous pouvez configurer des notifications de modifications et invoquer des actions automatisées à la fois pour les paramètres et les politiques de paramètres. Pour plus d'informations, consultez Configuration de notifications ou d'actions de déclenchement basées sur des événements Parameter Store.

  • Organiser et contrôler l'accès

    Vous pouvez baliser vos paramètres individuellement pour vous aider à identifier un ou plusieurs paramètres en fonction des balises que vous leur avez affectées. Par exemple, vous pouvez baliser des paramètres pour des environnements, des services, des utilisateurs, des groupes ou des périodes spécifiques. Vous pouvez également restreindre l'accès aux paramètres en créant une politique AWS Identity and Access Management (IAM) qui spécifie les balises auxquelles un utilisateur ou un groupe peut accéder. Pour plus d'informations, consultez Balisage de paramètres Systems Manager.

  • Versions d'étiquettes

    Vous pouvez associer un alias aux versions de votre paramètre en créant des étiquettes. Les étiquettes peuvent vous aider à vous souvenir de l'objectif d'une version de paramètre lorsqu'il existe plusieurs versions.

  • Validation des données

    Vous pouvez créer des paramètres désignant une instance Amazon Elastic Compute Cloud (Amazon EC2), et Parameter Store les valide pour s'assurer qu'il fait référence au type de ressource attendu, que la ressource existe et que le client a l'autorisation d'utiliser la ressource. Par exemple, vous pouvez créer un paramètre avec un ID d'Amazon Machine Image (AMI) comme valeur avec le type de données aws:ec2:image, et Parameter Store effectue une opération de validation asynchrone pour s'assurer que la valeur du paramètre répond aux exigences de mise en forme d'un ID d'AMI et que la valeur spécifiée AMI est disponible dans votre Compte AWS.

  • Secrets de référence

    Parameter Store est intégré à AWS Secrets Manager afin que vous puissiez récupérer les secrets Secrets Manager lors de l'utilisation d'autres services AWS qui prennent déjà en charge les références aux paramètres Parameter Store.

  • Accessible à partir d'autres services AWS

    Vous pouvez utiliser les paramètres Parameter Store avec d'autres fonctionnalités Systems Manager et services AWS pour récupérer les secrets et les données de configuration à partir d'un magasin central. Les paramètres fonctionnent avec les fonctionnalités de Systems Manager telles que Run Command, Automation et State Manager, fonctionnalités de AWS Systems Manager. Vous pouvez également référencer des paramètres dans un certain nombre d'autres services AWS, notamment les suivants :

    • Amazon Elastic Compute Cloud (Amazon EC2)

    • Amazon Elastic Container Service (Amazon ECS)

    • AWS Secrets Manager

    • AWS Lambda

    • AWS CloudFormation

    • AWS CodeBuild

    • AWS CodePipeline

    • AWS CodeDeploy

  • Intégrer à d'autres services AWS

    Configuration de l'intégration avec les services AWS suivants pour le chiffrement, la notification, la surveillance et l'audit :

Qu'est-ce qu'un paramètre ?

Un paramètre Parameter Store est tout élément de données enregistré dans Parameter Store, tel qu'un bloc de texte, une liste de noms, un mot de passe, un ID d'AMI, une clé de licence, etc. Vous pouvez référencer ces données de manière centralisée et sécurisée dans vos scripts, commandes et documents SSM.

Lorsque vous référencez un paramètre, vous spécifiez son nom à l'aide de la convention suivante.

{{ssm:parameter-name}}

Note

Les paramètres ne peuvent pas être référencés ou imbriqués dans les valeurs d'autres paramètres. Vous ne pouvez pas inclure {{}} ou {{ssm:parameter-name}} dans une valeur de paramètre.

Parameter Store prend en charge trois types de paramètres. String, StringList et SecureString.

À une exception près, lorsque vous créez ou mettez à jour un paramètre, vous saisissez sa valeur sous forme de texte brut et Parameter Store n'effectue aucune validation sur le texte en question. Pour les paramètres String, vous pouvez néanmoins spécifier le type de données comme aws:ec2:image. Alors, Parameter Store valide la valeur que vous saisissez comme étant au format approprié pour une AMI Amazon EC2 ; par exemple : ami-12345abcdeEXAMPLE.

Chaîne

Par défaut, les paramètres String sont constitués d'un bloc de texte que vous saisissez. Par exemple :

  • abc123

  • Example Corp

  • <img src="images/bannerImage1.png"/>

StringList

Les paramètres StringList contiennent une liste de valeurs séparées par des virgules, comme le montre les exemples suivants.

Monday,Wednesday,Friday

CSV,TSV,CLF,ELF,JSON

SecureString

Un paramètre SecureString correspond à des données sensibles qui doivent être stockées et référencées de manière sécurisée. Si vous ne voulez pas que les utilisateurs modifient ou référencent en texte brut certaines de vos données, telles que les mots de passe ou les clés de licence, créez ces paramètres à l'aide du type de données SecureString.

Important

Ne stockez pas de données sensibles dans un paramètre StringList ou String. Pour toutes les données sensibles qui doivent rester chiffrées, utilisez uniquement le type de paramètre SecureString.

Pour plus d'informations, consultez Créer un paramètre SecureString (AWS CLI).

Nous recommandons l'utilisation des paramètres SecureString pour les scénarios suivants :

  • Vous voulez utiliser les données/paramètres sur les services AWS sans exposer les valeurs en texte brut dans les commandes, les fonctions, les journaux de l'agent ou les journaux CloudTrail.

  • Vous voulez contrôler les personnes ayant accès aux données sensibles.

  • Vous souhaitez être en mesure d’auditer les accès aux données sensibles (CloudTrail).

  • Vous voulez chiffrer vos données sensibles et vous voulez utiliser vos propres clés de chiffrement pour la gestion des accès.

Important

Seule la valeur d'un paramètre SecureString est chiffrée. Les noms de paramètres, les descriptions et d'autres propriétés ne sont pas chiffrés.

Vous pouvez utiliser le type de paramètre SecureString pour les données textuelles que vous souhaitez chiffrer, notamment les mots de passe, les secrets d'application, les données de configuration confidentielles ou d'autres types de données que vous souhaitez protéger. Les données SecureString sont chiffrées et déchiffrées avec une clé AWS KMS. Vous pouvez utiliser une clé KMS par défaut fournie par AWS ou créer et utiliser votre propre AWS KMS key. (Utilisez votre propre AWS KMS key pour restreindre l'accès des utilisateurs aux paramètres SecureString. Pour de plus amples informations, veuillez consulter Autorisations IAM pour l'utilisation des clés par défaut AWS et des clés gérées par le client.)

Vous pouvez également utiliser les paramètres SecureString avec d'autres services AWS. Dans l'exemple suivant, la fonction Lambda récupère un paramètre SecureString à l'aide de l'API GetParameters.

from __future__ import print_function import json import boto3 ssm = boto3.client('ssm', 'us-east-2') def get_parameters(): response = ssm.get_parameters( Names=['LambdaSecureString'],WithDecryption=True ) for parameter in response['Parameters']: return parameter['Value'] def lambda_handler(event, context): value = get_parameters() print("value1 = " + value) return value # Echo back the first key value

Chiffrement et tarification AWS KMS

Si vous sélectionnez le type de paramètre SecureString lors de la création de votre paramètre, Systems Manager utilise AWS KMS pour chiffrer la valeur du paramètre.

Important

Parameter Store prend uniquement en charge des clés KMS symétriques. Vous ne pouvez pas utiliser une clé KMS asymétrique pour chiffrer vos paramètres. Pour savoir si une clés KMS est symétrique ou asymétrique, consultez Identification de clés symétriques et asymétriques dans le Guide du développeur AWS Key Management Service.

Parameter Store n'applique aucun frais pour la création d'un paramètre SecureString, mais applique des frais pour l'utilisation du chiffrement AWS KMS. Pour obtenir des informations, veuillez consulter Tarification AWS Key Management Service.

Pour de plus amples informations sur les clés gérées par AWS et par le client, consultez la section Concepts AWS Key Management Service dans le Guide du développeur AWS Key Management Service. Pour de plus amples informations sur Parameter Store et sur le chiffrement AWS KMS, veuillez consulter Comment AWS Systems ManagerParameter Store utilise-t-il AWS KMS ?.

Note

Pour afficher une Clé gérée par AWS, utilisez l'opération DescribeKey d'une AWS KMS. Cet exemple AWS Command Line Interface (AWS CLI) utilise DescribeKey pour afficher une Clé gérée par AWS.

aws kms describe-key --key-id alias/aws/ssm

Rubriques en relation

Pour obtenir un exemple de création et d'utilisation d'un paramètre SecureString, veuillez consulter Création d'un paramètre SecureString et association d'un nœud à un domaine (PowerShell). Pour plus d'informations sur l'utilisation de paramètres Systems Manager avec d'autres services AWS, consultez les billets de blogs suivants :