View a markdown version of this page

Paramètre : stocker la référence - AWS Systems Manager

• Le AWS Systems Manager CloudWatch tableau de bord ne sera plus disponible après le 30 avril 2026. Les clients peuvent continuer à utiliser CloudWatch la console Amazon pour consulter, créer et gérer leurs CloudWatch tableaux de bord Amazon, comme ils le font aujourd'hui. Pour plus d'informations, consultez la documentation Amazon CloudWatch Dashboard.

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.

Paramètre : stocker la référence

Un paramètre est une donnée stockéeParameter Store, telle qu'un bloc de texte, une liste de noms, un identifiant, un AMI identifiant de commerçant ou une autre valeur de configuration. Vous pouvez référencer ces données de manière centralisée dans vos scripts, commandes et documents SSM.

Lorsque vous faites référence à un paramètre, vous spécifiez son nom selon 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.

Type de paramètre : String

Par défaut, la valeur d’un paramètre String est constituée d’un bloc de texte que vous saisissez. Par exemple :

  • abc123

  • Example Corp

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

Type de paramètre : StringList

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

Monday,Wednesday,Friday

CSV,TSV,CLF,ELF,JSON

Type de paramètre : SecureString

SecureStringÀ utiliser pour les valeurs de configuration qui nécessitent un chiffrement, telles que les points de terminaison de service et les identifiants de compte. Pour les secrets tels que les informations d'identification de base de données, les clés d'API ou les jetons, nous recommandons AWS Secrets Manager, qui fournit des contrôles de sécurité spécialement conçus, notamment la rotation automatique et la réplication entre régions.

Seule la valeur du paramètre est cryptée. Le nom du paramètre, sa description et les autres métadonnées ne sont pas chiffrés.

Parameter Storechiffre et déchiffre les valeurs des SecureString paramètres à l'aide d'une clé. AWS KMS Vous pouvez utiliser la clé par défaut Clé gérée par AWS Parameter Store ou une clé gérée par le client. Utilisez une clé gérée par le client lorsque vous devez restreindre les principaux autorisés à déchiffrer des paramètres particuliers. Pour de plus amples informations, veuillez consulter Chiffrement et déchiffrement des paramètres à l'aide de AWS KMS clés.

Important

Notez les informations importantes suivantes.

  • Si vous gérez des informations d'identification qui nécessitent une rotation automatique, un accès entre comptes ou une journalisation d'audit précise, nous vous recommandons d'utiliser. AWS Secrets Manager Secrets Manager est spécialement conçu pour gérer les secrets tels que les informations d'identification de base de données, les clés d'API et les secrets gérés par des logiciels tiers pris en charge. Pour plus d'informations, voir Qu'est-ce que c'est AWS Secrets Manager ? dans le Guide de AWS Secrets Manager l'utilisateur.

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

  • 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 des SecureString paramètres avec d'autres paramètres Services AWS. La fonction Lambda suivante extrait un identifiant marchand chiffré à partir du /myapp/dev/vendor/merchant-id paramètre. La fonction utilise la valeur sans l'écrire dans les journaux de la fonction ni la renvoyer dans la réponse.

import json import boto3 ssm = boto3.client("ssm", region_name="us-east-1") def lambda_handler(event, context): response = ssm.get_parameter( Name="/myapp/dev/vendor/merchant-id", WithDecryption=True ) merchant_id = response["Parameter"]["Value"] # Use merchant_id when communicating with the vendor system. # Don't write the value to logs or include it in the response. return { "statusCode": 200, "body": json.dumps("Vendor configuration retrieved.") }
AWS KMS chiffrement et tarification

Lorsque vous créez un SecureString paramètre, Systems Manager l'utilise AWS KMS pour chiffrer la valeur du paramètre.

Important

Parameter Store prend uniquement en charge des clés KMS à chiffrement symétrique. Vous ne pouvez pas utiliser une clé KMS à chiffrement 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 .

La création d'Parameter Storeun SecureString paramètre est gratuite, mais des frais d'utilisation AWS KMS peuvent s'appliquer. Pour en savoir plus, consultez Pricing AWS Key Management Service (Tarification).

Pour plus d'informations sur les clés gérées par le client Clés gérées par AWS et sur les clés gérées par le client, consultez la section AWS Key Management Service Concepts du Guide du AWS Key Management Service développeur. Pour plus d'informations sur Parameter Store les utilisations AWS KMS, voir Comment AWS Systems ManagerParameter Store les utiliser AWS KMS.

Note

Pour afficher la valeur par défaut Clé gérée par AWS pourParameter Store, exécutez la commande suivante.

aws kms describe-key \ --region us-east-1 \ --key-id alias/aws/ssm

Contraintes relatives au nom des paramètres

Utilisez les informations indiquées dans cette rubrique pour vous aider à spécifier les valeurs valides des noms de paramètre lorsque vous créez un paramètre.

Ces informations complètent les détails de la rubrique PutParameter de la référence de l'AWS Systems Manager API, qui fournit également des informations sur les valeurs AllowedPattern, la description KeyId, le remplacement, le type et la valeur.

Les exigences et contraintes relatives aux noms de paramètre sont les suivantes :

  • Sensibilité à la casse : les noms de paramètre sont sensibles à la casse.

  • Espaces : les noms de paramètre ne peuvent pas comporter d'espaces.

  • Caractères valides : les noms de paramètre ne peuvent inclure que les lettres et symboles suivants : a-zA-Z0-9_.-

    De plus, le caractère oblique (/) est utilisé pour délimiter les hiérarchies de noms de paramètres. Par exemple : /Dev/Production/East/Project-ABC/MyParameter

  • Valid AMI format (Format d'AMI valide) : lorsque vous sélectionnez aws:ec2:image comme type de données pour un paramètre String, l'ID que vous saisissez doit être valide pour le format d'ID d'AMI ami-12345abcdeEXAMPLE.

  • Fully qualified (Complètement qualifié) : lorsque vous créez ou référencez un paramètre dans une hiérarchie, vous devez inclure une barre oblique (/). Lorsque vous référencez un paramètre faisant partie d'une hiérarchie, vous devez spécifier le chemin de hiérarchie entier, y compris la barre oblique initiale (/).

    • Noms de paramètres complets : MyParameter1, /MyParameter2, /Dev/Production/East/Project-ABC/MyParameter

    • Nom du paramètre non complet : MyParameter3/L1

  • Longueur : la longueur maximale pour le nom du paramètre que vous spécifiez est de 1011 caractères. Ce décompte de 1011 caractères inclut les caractères de l’ARN qui précèdent le nom que vous spécifiez, comme les 45 caractères dans arn:aws:ssm:us-east-2:111122223333:parameter/.

  • Préfixes : le préfixe « aws » ou « ssm » (non sensible à la casse) n'est pas autorisé pour un nom de paramètre. Par exemple, les tentatives de création de paramètres portant les noms suivants échouent avec une exception :

    • awsTestParameter

    • SSM-testparameter

    • /aws/testparam1

    Note

    Lorsque vous spécifiez un paramètre dans un document, une commande ou un script SSM, incluez ssm dans la syntaxe. Par exemple, {{ssm :parameter-name}} et {{ssm :parameter-name}}, tels que{{ssm:MyParameter}}, et {{ ssm:MyParameter }}.

  • Uniqueness (Unicité) : un nom de paramètre doit être unique dans une Région AWS. Par exemple, Systems Manager traite les paramètres suivants comme des paramètres distincts, s'ils existent dans la même région :

    • /Test/TestParam1

    • /TestParam1

    Les exemples suivants sont également uniques :

    • /Test/TestParam1/Logpath1

    • /Test/TestParam1

    Cependant, les exemples suivants, s'ils se trouvent dans la même région, ne sont pas uniques :

    • /TestParam1

    • TestParam1

  • Profondeur de hiérarchie: si vous spécifiez une hiérarchie de paramètres, la hiérarchie peut avoir une profondeur maximale de quinze niveaux. Vous pouvez définir un paramètre à n'importe quel niveau de la hiérarchie. Les deux exemples suivants sont valides du point de vue de la structure :

    • /Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/parameter-name

    • parameter-name

    La tentative de création du paramètre suivant échouerait avec une exception HierarchyLevelLimitExceededException :

    • /Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/L15/L16/parameter-name

Important

Si un utilisateur a accès à un chemin, il peut accéder à tous les niveaux de ce chemin. Par exemple, si un utilisateur a l'autorisation d'accéder à un chemin /a, il peut également accéder à /a/b. Même si l'accès à un paramètre Gestion des identités et des accès AWS (IAM) a été explicitement refusé à un utilisateur/a/b, il peut toujours appeler l'opération d'GetParametersByPathAPI de manière récursive pour /a et afficher. /a/b