Erstellen eines Systems Manager-Parameters (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 Systems Manager-Parameters (AWS CLI)

Sie können mit der AWS Command Line Interface (AWS CLI) String-, StringList- und SecureString-Parametertypen 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 in den AWS-Region verfügbar, in denen sie erstellt wurden.

Erstellen eines String-Parameters (AWS CLI)

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), wenn noch nicht erfolgt.

    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 Beispiel Platzhalter für Ressourcen mit Ihren eigenen 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 eine Amazon Machine Image (AMI)-ID als Parameterwert enthält.

    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.

    Die Option --data-type muss nur angegeben werden, wenn Sie einen Parameter erstellen, der eine AMI-ID enthält. Es wird überprüft, dass der eingegebene Parameterwert eine ordnungsgemäß formatierte Amazon Elastic Compute Cloud (Amazon EC2) AMI-ID ist. Für alle anderen Parameter lautet der Standarddatentyp text und Sie können optional einen Wert angeben. Weitere Informationen finden Sie unter Unterstützung für native Parameter 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 Unterstützung für native Parameter 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.

    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 (AWS CLI)

  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), wenn noch nicht erfolgt.

    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 Beispiel Platzhalter für Ressourcen mit Ihren eigenen 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 (AWS CLI)

Gehen Sie folgendermaßen vor, um einen SecureString-Parameter zu erstellen. Ersetzen Sie jeden Beispiel Platzhalter für Ressourcen mit Ihren eigenen 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 zur symmetrischen 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), wenn noch nicht erfolgt.

    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 eines SecureString-Parameters mit dem standardmäßigen Von AWS verwalteter Schlüssel

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

    Erstellen eines SecureString-Parameters, 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 eines SecureString-Parameters, 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 eines SecureString-Parameters mit dem standardmäßigen Von AWS verwalteter Schlüssel

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

    Erstellen eines SecureString-Parameters, 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 eines SecureString-Parameters, 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

    Wenn Sie den AWS KMS key verwenden möchten, der Ihrem AWS-Konto und Ihrer AWS-Region zugewiesen wurde, müssen Sie den key-id-Parameter in dem Befehl entfernen. Weitere Informationen zum Konfigurieren einer Regel in AWS KMS keys finden Sie unter AWS Key Management Service im AWS Key Management Service-Entwicklerhandbuch.

    Wenn Sie statt des Ihrem Konto zugewiesenen Von AWS verwalteter Schlüssel einen kundenverwalteten Schlüssel verwenden möchten, müssen Sie den Schlüssel mithilfe des --key-id-Parameters angeben. 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 kundenverwalteten Schlüssel erstellen, indem Sie die AWS Management Console oder die AWS KMS-API verwenden. Mit den folgenden AWS CLI-Befehlen wird in der aktuellen AWS-Region Ihres AWS-Konto ein kundenverwalteter Schlüssel erstellt.

    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 entschlüsseln zu können, muss ein Benutzer die Berechtigung zum Aufruf der AWS KMS-API-Operation Decrypt besitzen. 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 (AWS CLI)

Sie können die AWS CLI verwenden, 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), wenn noch nicht erfolgt.

    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>