Erstellen eines Parameter Store Parameter mit dem AWS CLI - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen eines Parameter Store Parameter mit dem AWS CLI

Sie können die AWS Command Line Interface (AWS CLI) verwenden, um SecureString Parametertypen StringStringList, und zu erstellen. Warten Sie nach dem Löschen eines Parameters mindestens 30 Sekunden, um einen Parameter mit dem gleichen Namen zu erstellen.

Parameter können nicht referenziert oder in den Werten anderer Parameter verschachtelt werden. Sie können {{}} oder {{ssm:parameter-name}} nicht in einen Parameterwert aufnehmen.

Anmerkung

Parameter sind nur dort verfügbar AWS-Region , wo sie erstellt wurden.

Erstellen eines String Parameters mit dem AWS CLI

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um einen Parameter vom String-Typ zu erstellen. Ersetzen Sie jeden example resource placeholder durch Ihre Informationen.

    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"

    –oder–

    Führen Sie den folgenden Befehl aus, um einen Parameter zu erstellen, der ein Amazon Machine Image (AMI) ID als Parameterwert.

    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"

    Die Option --name unterstützt Hierarchien. Weitere Informationen zu Hierarchien finden Sie unter Arbeiten mit Parameterhierarchien in Parameter Store.

    Die --data-type Option muss nur angegeben werden, wenn Sie einen Parameter erstellen, der eine enthält AMI ID. Es überprüft, ob es sich bei dem von Ihnen eingegebenen Parameterwert um einen ordnungsgemäß formatierten Amazon Elastic Compute Cloud (Amazon) handelt. EC2 AMI ID. Für alle anderen Parameter lautet der Standarddatentyp text und Sie können optional einen Wert angeben. Weitere Informationen finden Sie unter Verwendung der nativen Parameterunterstützung in Parameter Store für Amazon Machine Image IDs.

    Wichtig

    Bei Erfolg gibt der Befehl die Versionsnummer des Parameters zurück. Ausnahme: Wenn Sie aws:ec2:image als Datentyp angegeben haben, bedeutet eine neue Versionsnummer in der Antwort nicht, dass der Parameterwert bereits validiert wurde. Weitere Informationen finden Sie unter Verwendung der nativen Parameterunterstützung in Parameter Store für Amazon Machine Image IDs.

    Im folgenden Beispiel werden einem Parameter die Tags zweier Schlüssel-Wert-Paare hinzugefügt.

    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\"}]

    Im folgenden Beispiel wird eine Parameterhierarchie im Namen verwendet, um einen String-Klartext-Parameter zu erstellen. Er gibt die Versionsnummer des Parameters zurück. Weitere Informationen zu Parameterhierarchien finden Sie unter Arbeiten mit Parameterhierarchien in Parameter Store.

    Linux & macOS

    Parameter nicht in einer Hierarchie

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

    Parameter in einer Hierarchie

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

    Parameter nicht in einer Hierarchie

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

    Parameter in einer Hierarchie

    aws ssm put-parameter ^ --name "/amis/windows/golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"
  3. Führen Sie den folgenden Befehl aus, um den letzten Parameterwert anzuzeigen und die Details des neuen Parameters zu überprüfen.

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

    Das System gibt unter anderem folgende Informationen zurück

    {
        "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"            
            }
        ]
    }

Führen Sie den folgenden Befehl aus, um den Parameterwert zu ändern. Er gibt die Versionsnummer des Parameters zurück.

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

Führen Sie den folgenden Befehl aus, um den Verlauf der Parameterwerte anzuzeigen.

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

Führen Sie den folgenden Befehl aus, um diesen Parameter in einem Befehl zu verwenden.

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

Führen Sie den folgenden Befehl aus, wenn Sie nur den Parameterwert abrufen möchten.

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

Führen Sie den folgenden Befehl aus, wenn Sie nur den Parameterwert mithilfe von get-parameters abrufen möchten.

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

Führen Sie den folgenden Befehl aus, um die Metadaten zum Parameter anzuzeigen.

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

Der Name muss großgeschrieben werden.

Das System gibt unter anderem folgende Informationen zurück

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

Erstellen eines StringList Parameters mit dem AWS CLI

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um einen Parameter zu erstellen. Ersetzen Sie jeden example resource placeholder durch Ihre Informationen.

    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"
    Anmerkung

    Bei Erfolg gibt der Befehl die Versionsnummer des Parameters zurück.

    In diesem Beispiel werden die Tags zweier Schlüssel-Wert-Paare an ein Parameter hinzugefügt. (Führen Sie, abhängig von der Art des Betriebssystems auf Ihrem lokalen Computer, einen der folgenden Befehle aus. Die von einer lokalen Windows-Maschine auszuführende Version enthält die Escape-Zeichen ("\"), mit denen Sie den Befehl von Ihrem Befehlszeilen-Tool aus ausführen.)

    Im folgenden Beispiel für StringList wird eine Parameterhierarchie verwendet.

    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
    Anmerkung

    Die Elemente einer StringList müssen durch ein Komma (,) getrennt werden. Sie können keine anderen Satzzeichen oder Sonderzeichen als Escape-Zeichen für Elemente in der Liste verwenden. Verwenden Sie den Typ String, wenn ein Parameterwert ein Komma erfordert.

  3. Führen Sie den Befehl get-parameters aus, um die Details zu einem Parameter zu überprüfen. Zum Beispiel:

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

Erstellen eines SecureString Parameters mit dem AWS CLI

Gehen Sie folgendermaßen vor, um einen SecureString-Parameter zu erstellen. Ersetzen Sie jeden example resource placeholder durch Ihre Informationen.

Wichtig

Nur der Wert eines SecureString-Parameters wird verschlüsselt. Der Name des Parameters, die Beschreibung und andere Eigenschaften sind nicht verschlüsselt.

Wichtig

Parameter Store unterstützt nur KMS-Schlüssel mit symmetrischer Verschlüsselung. Sie können keinen KMS-Schlüssel zur asymmetrischen Verschlüsselung verwenden, um Ihre Parameter zu verschlüsseln. Wie Sie feststellen, ob ein KMS-Schlüssel symmetrisch oder asymmetrisch ist, erfahren Sie unter Erkennen symmetrischer und asymmetrischer Schlüssel im AWS Key Management Service -Entwicklerhandbuch.

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie einen der folgenden Befehle aus, um einen Parameter zu erstellen, der den Datentyp SecureString verwendet.

    Linux & macOS

    Erstellen Sie einen SecureString Parameter mit der Standardeinstellung Von AWS verwalteter Schlüssel

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

    Einen SecureString-Parameter erstellen, der einen vom Kunden verwalteten Schlüssel verwendet

    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"

    Erstellen Sie einen SecureString Parameter, der einen benutzerdefinierten AWS KMS Schlüssel verwendet

    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

    Erstellen Sie einen SecureString Parameter mit der Standardeinstellung Von AWS verwalteter Schlüssel

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

    Einen SecureString-Parameter erstellen, der einen vom Kunden verwalteten Schlüssel verwendet

    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"

    Erstellen Sie einen SecureString Parameter, der einen benutzerdefinierten AWS KMS Schlüssel verwendet

    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"

    Wenn Sie einen SecureString-Parameter erstellen, indem Sie den Von AWS verwalteter Schlüssel -Schlüssel in Ihrem Konto und Ihrer Region verwenden, müssen Sie keinen Wert für den --key-id-Parameter angeben.

    Anmerkung

    Um den Ihrem AWS-Konto und AWS KMS key zugewiesenen Wert zu verwenden AWS-Region, entfernen Sie den key-id Parameter aus dem Befehl. Weitere Informationen zum Konfigurieren einer Regel in AWS KMS keys finden Sie unter AWS Key Management Service im AWS Key Management Service -Entwicklerhandbuch.

    Um einen vom Kunden verwalteten Schlüssel anstelle des Ihrem Konto Von AWS verwalteter Schlüssel zugewiesenen Schlüssels zu verwenden, geben Sie den Schlüssel mithilfe des --key-id Parameters an. Der Parameter unterstützt die folgenden KMS-Parameterformate.

    • Beispiel für Schlüssel-Amazon-Ressourcenname (ARN):

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

    • Beispiel für den Alias-ARN:

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

    • Beispiel: Key-ID

      12345678-1234-1234-1234-123456789012

    • Beispiel für den Aliasnamen:

      alias/MyAliasName

    Sie können einen vom Kunden verwalteten Schlüssel mithilfe der AWS Management Console oder der AWS KMS API erstellen. Die folgenden AWS CLI Befehle erstellen einen vom Kunden verwalteten Schlüssel in AWS-Region Ihrer aktuellen Version AWS-Konto.

    aws kms create-key

    Verwenden Sie einen Befehl im folgenden Format, um einen SecureString-Parameter mit dem Schlüssel zu erstellen, den Sie gerade generiert haben.

    Im folgenden Beispiel wird ein verschleierter Name (3l3vat3131) für einen Passwortparameter und einen AWS KMS key verwendet.

    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. Führen Sie den folgenden Befehl aus, um die Details zu einem Parameter zu überprüfen.

    Wenn Sie keinen with-decryption-Parameter bzw. den no-with-decryption-Parameter angeben, gibt der Befehl eine verschlüsselte GUID zurück.

    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. Führen Sie den folgenden Befehl aus, um die Metadaten zum Parameter anzuzeigen.

    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. Führen Sie den folgenden Befehl aus, um den Parameterwert zu ändern, wenn Sie keinen vom Kunden verwalteten AWS KMS key verwenden.

    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

    –oder–

    Führen Sie einen der folgenden Befehle aus, um den Parameterwert zu ändern, wenn Sie einen vom Kunden verwalteten AWS KMS key verwenden.

    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. Führen Sie den folgenden Befehl aus, um den letzten Parameterwert anzuzeigen.

    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. Führen Sie den folgenden Befehl aus, um den Verlauf der Parameterwerte anzuzeigen.

    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"
Anmerkung

Sie können einen Parameter mit einem verschlüsselten Wert manuell erstellen. Da der Wert in diesem Fall bereits verschlüsselt ist, müssen Sie den SecureString-Parametertyp nicht auswählen. Wenn Sie SecureString dennoch auswählen, wird Ihr Parameter zweifach verschlüsselt.

Alle SecureString-Werte werden standardmäßig als verschlüsselter Text angezeigt. Um einen SecureString Wert zu entschlüsseln, muss ein Benutzer über die Berechtigung zum Aufrufen des API-Vorgangs AWS KMS Decrypt verfügen. Weitere Informationen zur Konfiguration der AWS KMS -Zugriffskontrolle finden Sie unter Authentifizierung und Zugriffskontrolle für AWS KMS im AWS Key Management Service -Entwicklerhandbuch.

Wichtig

Wenn Sie den KMS-Schlüsselalias für den KMS-Schlüssel, der zum Verschlüsseln eines Parameters verwendet wird, ändern, müssen Sie auch den Schlüsselalias aktualisieren, mit dem der Parameter AWS KMS referenziert. Dies gilt nur für den KMS-Schlüsselalias; die Schlüssel-ID, die ein Alias anfügt, bleibt unverändert, es sei denn, Sie löschen den gesamten Schlüssel.

Erstellen eines mehrzeiligen Parameters mit dem AWS CLI

Sie können den verwenden AWS CLI , um einen Parameter mit Zeilenumbrüchen zu erstellen. Verwenden Sie Zeilenumbrüche, um den Text in längere Parameterwerte aufzuteilen, um die Lesbarkeit zu verbessern, oder aktualisieren Sie beispielsweise den Inhalt von Parametern mit mehreren Absätzen für eine Webseite. Sie können den Inhalt in eine JSON-Datei einschließen und die --cli-input-json-Option verwenden, indem Sie Zeilenumbruchzeichen wie \n verwenden, wie im folgenden Beispiel gezeigt.

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um einen mehrzeiligen Parameter zu erstellen.

    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

    Im folgenden Beispiel werden die Inhalte der Datei MultiLineParameter.json angezeigt.

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

Der gespeicherte Parameterwert wird wie folgt gespeichert.

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