Création d'une Parameter Store paramètre à l'aide du AWS CLI - AWS Systems Manager

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.

Création d'une Parameter Store paramètre à l'aide du AWS CLI

Vous pouvez utiliser le AWS Command Line Interface (AWS CLI) pour créer des types StringStringList, et de SecureString paramètres. Après avoir supprimé un paramètre, attendez au moins 30 secondes avant de créer un paramètre avec le même nom.

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.

Note

Les paramètres sont uniquement disponibles dans la Région AWS où ils ont été créés.

Création d'un String paramètre à l'aide du AWS CLI

  1. Si vous ne l'avez pas déjà fait, installez et configurez l' AWS Command Line Interface (AWS CLI).

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Exécutez la commande suivante pour créer un paramètre de type String. Remplacez chacun example resource placeholder avec vos propres informations.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type String \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type String ^ --tags "Key=tag-key,Value=tag-value"

    -ou-

    Exécutez la commande suivante pour créer un paramètre contenant une Amazon Machine Image (AMI) ID en tant que valeur de paramètre.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "an-AMI-id" \ --type String \ --data-type "aws:ec2:image" \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "an-AMI-id" ^ --type String ^ --data-type "aws:ec2:image" ^ --tags "Key=tag-key,Value=tag-value"

    L'option --name prend en charge les hiérarchies. Pour plus d'informations sur les hiérarchies, consultez Utiliser des hiérarchies de paramètres dans Parameter Store.

    L'--data-typeoption doit être spécifiée uniquement si vous créez un paramètre contenant une AMI ID. Cela valide le fait que la valeur de paramètre saisie est un Amazon Elastic Compute Cloud (Amazon) correctement formaté EC2 AMI ID. Pour tous les autres paramètres, le type de données par défaut est text et la spécification d'une valeur n'est pas obligatoire. Pour de plus amples informations, veuillez consulter Utilisation de la prise en charge native des paramètres dans Parameter Store pour Amazon Machine Image IDs.

    Important

    En cas de réussite, la commande renvoie le numéro de version du paramètre. Exception : si vous avez spécifié aws:ec2:image comme type de données, un nouveau numéro de version dans la réponse ne signifie pas que la valeur du paramètre a déjà été validée. Pour de plus amples informations, veuillez consulter Utilisation de la prise en charge native des paramètres dans Parameter Store pour Amazon Machine Image IDs.

    Dans l'exemple suivant, on ajoute deux balises de paires clé-valeur à un paramètre.

    Linux & macOS
    aws ssm put-parameter \ --name parameter-name \ --value "parameter-value" \ --type "String" \ --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
    Windows
    aws ssm put-parameter ^ --name parameter-name ^ --value "parameter-value" ^ --type "String" ^ --tags [{\"Key\":\"Region1\",\"Value\":\"East1\"},{\"Key\":\"Environment1\",\"Value\":\"Production1\"}]

    L'exemple suivant utilise une hiérarchie de noms de paramètres pour créer un paramètre String en texte clair. Cela renvoie le numéro de version du paramètre. Pour plus d'informations sur les hiérarchies de paramètres, consultez Utiliser des hiérarchies de paramètres dans Parameter Store.

    Linux & macOS

    Paramètre non présent dans une hiérarchie

    aws ssm put-parameter \ --name "golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"

    Paramètre présent dans une hiérarchie

    aws ssm put-parameter \ --name "/amis/linux/golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"
    Windows

    Paramètre non présent dans une hiérarchie

    aws ssm put-parameter ^ --name "golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"

    Paramètre présent dans une hiérarchie

    aws ssm put-parameter ^ --name "/amis/windows/golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"
  3. Exécutez la commande suivante pour afficher la dernière valeur de paramètre et vérifier les détails de votre nouveau paramètre.

    aws ssm get-parameters --names "/Test/IAD/helloWorld"

    Le système retourne des informations telles que les suivantes.

    {
        "InvalidParameters": [],
        "Parameters": [
            {            
                "Name": "/Test/IAD/helloWorld",
                "Type": "String",
                "Value": "My updated parameter value",
                "Version": 2,
                "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00",
                "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld"            
            }
        ]
    }

Exécutez la commande suivante pour modifier la valeur du paramètre. Cela renvoie le numéro de version du paramètre.

aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite

Exécutez la commande suivante pour afficher l'historique des valeurs du paramètre.

aws ssm get-parameter-history --name "/Test/IAD/helloWorld"

Exécutez la commande suivante pour utiliser ce paramètre dans une commande.

aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"

Exécutez la commande suivante uniquement pour récupérer la valeur de paramètre.

aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"

Exécutez la commande suivante uniquement pour récupérer la valeur de paramètre avec get-parameters.

aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"

Exécutez la commande suivante pour afficher les métadonnées du paramètre.

aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
Note

Nom doit être en majuscule.

Le système retourne des informations telles que les suivantes.

{
    "Parameters": [
        {
            "Name": "helloworld",
            "Type": "String",
            "LastModifiedUser": "arn:aws:iam::123456789012:user/JohnDoe",
            "LastModifiedDate": 1494529763.156,
            "Version": 1,
            "Tier": "Standard",
            "Policies": []           
        }
    ]
}

Création d'un StringList paramètre à l'aide du AWS CLI

  1. Si vous ne l'avez pas déjà fait, installez et configurez l' AWS Command Line Interface (AWS CLI).

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Exécutez la commande suivante pour créer un paramètre. Remplacez chacun example resource placeholder avec vos propres informations.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "a-comma-separated-list-of-values" \ --type StringList \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-comma-separated-list-of-values" ^ --type StringList ^ --tags "Key=tag-key,Value=tag-value"
    Note

    En cas de réussite, la commande renvoie le numéro de version du paramètre.

    Cet exemple ajoute deux balises de paires clé-valeur à un paramètre. (En fonction du type de système d'exploitation de votre ordinateur local, exécutez l'une des commandes suivantes pour télécharger et exécuter un script à partir de la version Windows inclut les caractères d'échappement [« \ »] dont vous avez besoin pour exécuter la commande à partir de votre outil de ligne de commande.)

    Voici un exemple de StringList qui utilise une hiérarchie de paramètres.

    Linux & macOS
    aws ssm put-parameter \ --name /IAD/ERP/Oracle/addUsers \ --value "Milana,Mariana,Mark,Miguel" \ --type StringList
    Windows
    aws ssm put-parameter ^ --name /IAD/ERP/Oracle/addUsers ^ --value "Milana,Mariana,Mark,Miguel" ^ --type StringList
    Note

    Les éléments d'un StringList doivent être séparés par une virgule (,). Vous ne pouvez pas utiliser d'autres caractères de ponctuation ou spéciaux pour introduire des articles dans la liste. Si vous avez une valeur de paramètre qui nécessite une virgule, alors utilisez le type String.

  3. Exécutez la commande get-parameters pour vérifier les détails du paramètre. Par exemple :

    aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"

Création d'un SecureString paramètre à l'aide du AWS CLI

Utilisez la procédure suivante pour créer un paramètre SecureString. Remplacez chacun example resource placeholder avec vos propres informations.

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.

Important

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

  1. Si vous ne l'avez pas déjà fait, installez et configurez l' AWS Command Line Interface (AWS CLI).

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Exécutez l'une des commandes suivantes pour créer un paramètre utilisant le type de données SecureString.

    Linux & macOS

    Création d'un SecureString paramètre à l'aide de la valeur par défaut Clé gérée par AWS

    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type "SecureString"

    Créer un paramètre SecureString utilisant une clé gérée par le client

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" --tags "Key=tag-key,Value=tag-value"

    Création d'un SecureString paramètre utilisant une AWS KMS clé personnalisée

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" \ --key-id "your-account-ID/the-custom-AWS KMS-key" \ --tags "Key=tag-key,Value=tag-value"
    Windows

    Création d'un SecureString paramètre à l'aide de la valeur par défaut Clé gérée par AWS

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type "SecureString"

    Créer un paramètre SecureString utilisant une clé gérée par le client

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --tags "Key=tag-key,Value=tag-value"

    Création d'un SecureString paramètre utilisant une AWS KMS clé personnalisée

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --key-id " ^ --tags "Key=tag-key,Value=tag-value"account-ID/the-custom-AWS KMS-key"

    Si vous créez un paramètre SecureString à l'aide de la clé Clé gérée par AWS dans votre compte et votre région, il n'est pas nécessaire de fournir une valeur pour le paramètre --key-id.

    Note

    Pour utiliser le paramètre AWS KMS key attribué à votre Compte AWS et Région AWS, supprimez le key-id paramètre de la commande. Pour plus d'informations sur la configuration d'une règle dans AWS KMS keys, consultez les Concepts AWS Key Management Service dans le Guide du développeur AWS Key Management Service .

    Pour utiliser une clé gérée par le client au lieu de la Clé gérée par AWS affectée à votre compte, spécifiez la clé à l'aide du --key-id paramètre. Le paramètre prend en charge les formats de KMS paramètres suivants.

    • Exemple d'Amazon Resource Name de clé (ARN) de clé :

      arn:aws:kms:us-east-2:123456789012:key/key-id

    • ARNExemple d'alias :

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

    • Exemple d'ID de clé :

      12345678-1234-1234-1234-123456789012

    • Exemple de nom d'alias :

      alias/MyAliasName

    Vous pouvez créer une clé gérée par le client en utilisant le AWS Management Console ou le AWS KMS API. Les AWS CLI commandes suivantes créent une clé gérée par le client dans le courant Région AWS de votre Compte AWS.

    aws kms create-key

    Utilisez une commande au format suivant pour créer un paramètre SecureString à l'aide de la clé que vous venez de créer.

    L'exemple suivant utilise un nom brouillé (3l3vat3131) comme paramètre de mot de passe et une AWS KMS key.

    Linux & macOS
    aws ssm put-parameter \ --name /Finance/Payroll/3l3vat3131 \ --value "P@sSwW)rd" \ --type SecureString \ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
    Windows
    aws ssm put-parameter ^ --name /Finance/Payroll/3l3vat3131 ^ --value "P@sSwW)rd" ^ --type SecureString ^ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
  3. Exécutez la commande suivante pour vérifier les détails du paramètre.

    Si vous ne spécifiez pas le with-decryption paramètre, ou si vous le no-with-decryption spécifiez, la commande renvoie un code chiffréGUID.

    Linux & macOS
    aws ssm get-parameters \ --name "the-parameter-name-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-parameter-name-you-specified" ^ --with-decryption
  4. Exécutez la commande suivante pour afficher les métadonnées du paramètre.

    Linux & macOS
    aws ssm describe-parameters \ --filters "Key=Name,Values=the-name-that-you-specified"
    Windows
    aws ssm describe-parameters ^ --filters "Key=Name,Values=the-name-that-you-specified"
  5. Exécutez la commande suivante pour modifier la valeur du paramètre si vous n'utilisez pas de AWS KMS key gérée par le client.

    Linux & macOS
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --overwrite

    -ou-

    Exécutez l'une des commandes suivantes pour modifier la valeur du paramètre si vous utilisez une AWS KMS key gérée par le client.

    Linux & macOS
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "the-KMSkey-ID" \ --overwrite
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "account-alias/the-KMSkey-ID" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "the-KMSkey-ID" ^ --overwrite
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "account-alias/the-KMSkey-ID" ^ --overwrite
  6. Exécutez la commande suivante pour afficher la dernière valeur du paramètre.

    Linux & macOS
    aws ssm get-parameters \ --name "the-name-that-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-name-that-you-specified" ^ --with-decryption
  7. Exécutez la commande suivante pour afficher l'historique des valeurs du paramètre.

    Linux & macOS
    aws ssm get-parameter-history \ --name "the-name-that-you-specified"
    Windows
    aws ssm get-parameter-history ^ --name "the-name-that-you-specified"
Note

Vous pouvez créer manuellement un paramètre avec une valeur chiffrée. Dans ce cas, dans la mesure où la valeur est déjà chiffrée, vous n'avez pas à choisir le type de paramètre SecureString. Si vous sélectionnez SecureString, votre paramètre sera doublement chiffré.

Par défaut, toutes les valeurs SecureString sont affichées sous forme de texte chiffré. Pour déchiffrer une SecureString valeur, un utilisateur doit avoir l'autorisation d'appeler l'opération AWS KMS DecryptAPI. Pour obtenir des informations sur la configuration du contrôle d'accès pour une AWS KMS , consultez Authentification et contrôle d'accès pour une AWS KMS dans le Manuel du développeur AWS Key Management Service .

Important

Si vous modifiez l'alias de KMS clé pour la KMS clé utilisée pour chiffrer un paramètre, vous devez alors également mettre à jour l'alias de clé utilisé par le paramètre pour référencer AWS KMS la. Cela s'applique uniquement à l'alias de KMS clé. L'ID de clé auquel un alias s'attache ne change pas, sauf si vous supprimez la clé entière.

Créer un paramètre multiligne à l'aide de AWS CLI

Vous pouvez utiliser la AWS CLI pour créer un paramètre avec des sauts de ligne. Utilisez des sauts de ligne pour diviser le texte en valeurs de paramètres plus longues afin d'améliorer la lisibilité ou, par exemple, mettre à jour le contenu de paramètres multi-paragraphes d'une page Web. Vous pouvez inclure le contenu dans un JSON fichier et utiliser l'--cli-input-jsonoption en utilisant des caractères de saut de ligne tels \n que illustré dans l'exemple suivant.

  1. Si vous ne l'avez pas déjà fait, installez et configurez l' AWS Command Line Interface (AWS CLI).

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Exécutez la commande suivante pour créer un paramètre multiligne.

    Linux & macOS
    aws ssm put-parameter \ --name "MultiLineParameter" \ --type String \ --cli-input-json file://MultiLineParameter.json
    Windows
    aws ssm put-parameter ^ --name "MultiLineParameter" ^ --type String ^ --cli-input-json file://MultiLineParameter.json

    L'exemple suivant affiche le contenu d'un fichier MultiLineParameter.json.

    { "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>" }

La valeur de paramètre enregistrée est stockée de la façon suivante.

<para>Paragraph One</para>
<para>Paragraph Two</para>
<para>Paragraph Three</para>