Secrets-Manager-Beispiele unter Verwendung von AWS CLI - AWS Command Line Interface

Secrets-Manager-Beispiele unter Verwendung von AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie das AWS Command Line Interface mit Secrets Manager nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie batch-get-secret-value verwendet wird.

AWS CLI

Beispiel 1: So rufen Sie den Secrets-Wert für eine Gruppe von Secrets ab, die nach Namen aufgelistet sind

Im folgenden Beispiel für batch-get-secret-value wird der aktuelle Secret-Wert für drei Secrets abgerufen.

aws secretsmanager batch-get-secret-value \ --secret-id-list MySecret1 MySecret2 MySecret3

Ausgabe:

{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }

Weitere Informationen finden Sie unter Abrufen einer Gruppe von Secret in einem Batch im AWS-Secrets-Manager-Benutzerhandbuch.

Beispiel 2: so rufen Sie den Secrets-Wert für eine Gruppe von Secrets ab, die durch Filter ausgewählt sind

Das folgende Beispiel für batch-get-secret-value erhält eine Liste der Secrets-Werte in Ihrem Konto, deren Name MySecret enthält. Bei dem Filtern nach Namen muss die Groß- und Kleinschreibung beachtet werden.

aws secretsmanager batch-get-secret-value \ --filters Key="name",Values="MySecret"

Ausgabe:

{ "SecretValues": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret1-a1b2c3", "Name": "MySecret1", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa", "SecretString": "{\"username\":\"diego_ramirez\",\"password\":\"EXAMPLE-PASSWORD\",\"engine\":\"mysql\",\"host\":\"secretsmanagertutorial.cluster.us-west-2.rds.amazonaws.com\",\"port\":3306,\"dbClusterIdentifier\":\"secretsmanagertutorial\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1523477145.729" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret2-a1b2c3", "Name": "MySecret2", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb", "SecretString": "{\"username\":\"akua_mansa\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1673477781.275" }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret3-a1b2c3", "Name": "MySecret3", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLEccccc", "SecretString": "{\"username\":\"jie_liu\",\"password\":\"EXAMPLE-PASSWORD\"", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "1373477721.124" } ], "Errors": [] }

Weitere Informationen finden Sie unter Abrufen einer Gruppe von Secret in einem Batch im AWS-Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie cancel-rotate-secret verwendet wird.

AWS CLI

So deaktivieren Sie die automatische Rotation eines Secrets

Im folgenden Beispiel für cancel-rotate-secret wird die automatische Rotation für ein Secret deaktiviert. Rufen Sie rotate-secret auf, um die Rotation fortzusetzen.

aws secretsmanager cancel-rotate-secret \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Rotieren eines Secrets im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie create-secret verwendet wird.

AWS CLI

Beispiel 1: So erstellen Sie ein Secret aus Anmeldeinformationen in einer JSON-Datei

Das folgende create-secret-Beispiel erstellt ein Secret anhand von Anmeldeinformationen in einer Datei. Weitere Informationen finden Sie unter Laden von AWS-CLI-Parametern aus einer Datei im AWS-CLI-Benutzerhandbuch.

aws secretsmanager create-secret \ --name MyTestSecret \ --secret-string file://mycreds.json

Inhalt von mycreds.json:

{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Weitere Informationen finden Sie unter Erstellen eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So erstellen Sie ein Secret

Das folgende create-secret-Beispiel erstellt ein Secret mit zwei Schlüssel-/Wert-Paaren. Wenn Sie Befehle in eine Befehls-Shell eingeben, besteht die Gefahr, dass auf den Befehlsverlauf zugegriffen wird oder Serviceprogramme Zugriff auf Ihre Befehlsparameter haben. Dies ist problematisch, wenn der Befehl den Secrets-Wert enthält. Weitere Informationen finden Sie unter Reduzieren von Risiken durch die Verwendung von Befehlszeilentools zum Speichern von Secrets im Secrets-Manager-Benutzerhandbuch.

aws secretsmanager create-secret \ --name MyTestSecret \ --description "My test secret created with the CLI." \ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" }

Weitere Informationen finden Sie unter Erstellen eines Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter CreateSecret in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie delete-resource-policy verwendet wird.

AWS CLI

So löschen Sie die ressourcenbasierte Richtlinie, die an ein Secret angefügt ist

Im folgenden delete-resource-policy-Beispiel wird die an ein Secret angefügte ressourcenbasierte Richtlinie gelöscht.

aws secretsmanager delete-resource-policy \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie delete-secret verwendet wird.

AWS CLI

Beispiel 1: So löschen Sie ein Secret

Im folgenden delete-secret-Beispiel wird ein Secret gelöscht. Sie können das Secret mit DeletionDate bis zu dem Datum und Zeitpunkt wiederherstellen, die im Antwortfeld restore-secret angegeben sind. Um ein Secret zu löschen, das in andere Regionen repliziert wird, entfernen Sie zuerst die zugehörigen Replikate mit remove-regions-from-replication und rufen Sie dann delete-secret auf.

aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --recovery-window-in-days 7

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1524085349.095 }

Weitere Informationen finden Sie unter Löschen eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So löschen Sie ein Secret sofort

Das folgende delete-secret-Beispiel löscht ein Secret sofort und ohne ein Wiederherstellungsfenster. Sie können dieses Secret nicht wiederherstellen.

aws secretsmanager delete-secret \ --secret-id MyTestSecret \ --force-delete-without-recovery

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "DeletionDate": 1508750180.309 }

Weitere Informationen finden Sie unter Löschen eines Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter DeleteSecret in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie describe-secret verwendet wird.

AWS CLI

So rufen Sie die Details eines Secrets ab

Im folgenden Beispiel für describe-secret werden die Details eines Secrets angezeigt.

aws secretsmanager describe-secret \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-Ca8JGt", "Name": "MyTestSecret", "Description": "My test secret", "KmsKeyId": "arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "RotationEnabled": true, "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:MyTestRotationLambda", "RotationRules": { "AutomaticallyAfterDays": 2, "Duration": "2h", "ScheduleExpression": "cron(0 16 1,15 * ? *)" }, "LastRotatedDate": 1525747253.72, "LastChangedDate": 1523477145.729, "LastAccessedDate": 1524572133.25, "Tags": [ { "Key": "SecondTag", "Value": "AnotherValue" }, { "Key": "FirstTag", "Value": "SomeValue" } ], "VersionIdsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333": [ "AWSPENDING" ] }, "CreatedDate": 1521534252.66, "PrimaryRegion": "us-west-2", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InSync", "StatusMessage": "Replication succeeded" } ] }

Weitere Informationen finden Sie unter Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter DescribeSecret in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie get-random-password verwendet wird.

AWS CLI

So generieren Sie ein zufälliges Passwort

Im folgenden Beispiel für get-random-password wird ein zufälliges Passwort mit 20 Zeichen generiert, das mindestens einen Großbuchstaben, einen Kleinbuchstaben, eine Zahl und ein Satzzeichen enthält.

aws secretsmanager get-random-password \ --require-each-included-type \ --password-length 20

Ausgabe:

{ "RandomPassword": "EXAMPLE-PASSWORD" }

Weitere Informationen finden Sie unter Erstellen und Verwalten eines Secrets im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie get-resource-policy verwendet wird.

AWS CLI

So rufen Sie die ressourcenbasierte Richtlinie ab, die an ein Secret angefügt ist

Im folgenden get-resource-policy-Beispiel wird die an ein Secret angefügte ressourcenbasierte Richtlinie abgerufen.

aws secretsmanager get-resource-policy \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "ResourcePolicy": "{\n\"Version\":\"2012-10-17\",\n\"Statement\":[{\n\"Effect\":\"Allow\",\n \"Principal\":{\n\"AWS\":\"arn:aws:iam::123456789012:root\"\n},\n\"Action\": \"secretsmanager:GetSecretValue\",\n\"Resource\":\"*\"\n}]\n}" }

Weitere Informationen finden Sie unter Authentifizierung und Zugriffskontrolle im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie get-secret-value verwendet wird.

AWS CLI

Beispiel 1: So rufen Sie den verschlüsselten Secrets-Wert eines Secrets ab

Im folgenden get-secret-value-Beispiel wird der aktuelle Secret-Wert abgerufen.

aws secretsmanager get-secret-value \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "SecretString": "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": 1523477145.713 }

Weitere Informationen finden Sie unter Abrufen eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So rufen Sie den vorherigen Secret-Wert ab

Im folgenden Beispiel für get-secret-value wird der vorherige Secret-Wert abgerufen.

aws secretsmanager get-secret-value \ --secret-id MyTestSecret --version-stage AWSPREVIOUS

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "SecretString": "{\"user\":\"diegor\",\"password\":\"PREVIOUS-EXAMPLE-PASSWORD\"}", "VersionStages": [ "AWSPREVIOUS" ], "CreatedDate": 1523477145.713 }

Weitere Informationen finden Sie unter Abrufen eines Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter GetSecretValue in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie list-secret-version-ids verwendet wird.

AWS CLI

So listen Sie alle Secrets-Versionen auf, die mit einem Secret verknüpft sind

Im folgenden Beispiel für list-secret-version-ids wird eine Liste aller Versionen eines Secrets abgerufen.

aws secretsmanager list-secret-version-ids \ --secret-id MyTestSecret

Ausgabe:

{ "Versions": [ { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSPREVIOUS" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523477145.713 }, { "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "VersionStages": [ "AWSCURRENT" ], "LastAccessedDate": 1523477145.713, "CreatedDate": 1523486221.391 }, { "CreatedDate": 1.51197446236E9, "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE33333;" } ], "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Version im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie list-secrets verwendet wird.

AWS CLI

Beispiel 1: So listen Sie die Secrets in Ihrem Konto auf

Das folgende list-secrets-Beispiel erhält eine Liste der Secrets in Ihrem Konto.

aws secretsmanager list-secrets

Ausgabe:

{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherSecret-d4e5f6", "Name": "AnotherSecret", "LastChangedDate": 1523482025.685, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ] } } ] }

Weitere Informationen finden Sie unter Finden eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So filtern Sie die Secrets in Ihrem Konto

Das folgende Beispiel für list-secrets ruft eine Liste der Secrets in Ihrem Konto auf, deren Name Test enthält. Bei dem Filtern nach Namen muss die Groß- und Kleinschreibung beachtet werden.

aws secretsmanager list-secrets \ --filter Key="name",Values="Test"

Ausgabe:

{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } } ] }

Weitere Informationen finden Sie unter Finden eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 3: So listen Sie die Geheimnisse in Ihrem Konto auf, die von einem anderen Service verwaltet werden

Im folgenden Beispiel für list-secrets werden die Secrets in Ihrem Konto zurückgegeben, die von Amazon RDS verwaltet werden.

aws secretsmanager list-secrets \ --filter Key="owning-service",Values="rds"

Ausgabe:

{ "SecretList": [ { "Name": "rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Tags": [ { "Value": "arn:aws:rds:us-west-2:123456789012:cluster:database-1", "Key": "aws:rds:primaryDBClusterArn" }, { "Value": "rds", "Key": "aws:secretsmanager:owningService" } ], "RotationRules": { "AutomaticallyAfterDays": 1 }, "LastChangedDate": 1673477781.275, "LastRotatedDate": 1673477781.26, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb": [ "AWSCURRENT", "AWSPENDING" ] }, "OwningService": "rds", "RotationEnabled": true, "CreatedDate": 1673467300.7, "LastAccessedDate": 1673395200.0, "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-a1b2c3", "Description": "Secret associated with primary RDS DB cluster: arn:aws:rds:us-west-2:123456789012:cluster:database-1" } ] }

Weitere Informationen finden Sie unter Von anderen Services verwaltete Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter ListSecrets in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie put-resource-policy verwendet wird.

AWS CLI

So fügen Sie einem Secret eine ressourcenbasierte Richtlinie hinzu

Im folgenden put-resource-policy-Beispiel wird einem Secret eine Berechtigungsrichtlinie hinzugefügt, wobei zunächst geprüft wird, ob die Richtlinie keinen umfassenden Zugriff auf das Secret gewährt. Die Richtlinie wird aus einer Datei gelesen. Weitere Informationen finden Sie unter Laden von AWS-CLI-Parametern aus einer Datei im AWS-CLI-Benutzerhandbuch.

aws secretsmanager put-resource-policy \ --secret-id MyTestSecret \ --resource-policy file://mypolicy.json \ --block-public-policy

Inhalt von mypolicy.json:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Beispiele finden Sie unter Anhängen einer Berechtigungsrichtlinie an ein Secret im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie put-secret-value verwendet wird.

AWS CLI

Beispiel 1: So speichern Sie einen neuen Secret-Werts in einem Secret

Im folgenden Beispiel für put-secret-value wird eine neue Version eines Secrets mit zwei Schlüssel-/Wert-Paaren erstellt.

aws secretsmanager put-secret-value \ --secret-id MyTestSecret \ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }

Weitere Informationen finden Sie unter Ändern eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So speichern Sie einen neuen Secret-Werts aus den Anmeldeinformationen in einer JSON-Datei

Das folgende put-secret-value-Beispiel erstellt eine neue Version eines Secrets anhand von Anmeldeinformationen in einer Datei. Weitere Informationen finden Sie unter Laden von AWS-CLI-Parametern aus einer Datei im AWS-CLI-Benutzerhandbuch.

aws secretsmanager put-secret-value \ --secret-id MyTestSecret \ --secret-string file://mycreds.json

Inhalt von mycreds.json:

{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "VersionStages": [ "AWSCURRENT" ] }

Weitere Informationen finden Sie unter Ändern eines Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter PutSecretValue in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie remove-regions-from-replication verwendet wird.

AWS CLI

Löschen eines Geheimnisreplikats

Im folgenden remove-regions-from-replication-Beispiel wird ein Replikat-Secret in eu-west-3 gelöscht. Um ein primäres Secret zu löschen, das in andere Regionen repliziert wird, entfernen Sie zuerst die Replikate und rufen Sie dann delete-secret auf.

aws secretsmanager remove-regions-from-replication \ --secret-id MyTestSecret \ --remove-replica-regions eu-west-3

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [] }

Weitere Informationen finden Sie unter Löschen eines Replikat-Secrets im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie replicate-secret-to-regions verwendet wird.

AWS CLI

So replizieren Sie ein Secret in eine andere Region

Im folgenden replicate-secret-to-regions-Beispiel wird ein Secret in eu-west-3 repliziert. Das Replikat ist mit dem AWS-verwalteten Schlüssel aws/secretsmanager verschlüsselt.

aws secretsmanager replicate-secret-to-regions \ --secret-id MyTestSecret \ --add-replica-regions Region=eu-west-3

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [ { "Region": "eu-west-3", "KmsKeyId": "alias/aws/secretsmanager", "Status": "InProgress" } ] }

Weitere Informationen finden Sie unter Replizieren eines Secrets in eine andere Region im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie restore-secret verwendet wird.

AWS CLI

So stellen Sie ein zuvor gelöschtes Secret wieder her

Das folgende restore-secret-Beispiel stellt ein Secret wieder her, dessen Löschung zuvor geplant war.

aws secretsmanager restore-secret \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Löschen eines Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter RestoreSecret in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie rotate-secret verwendet wird.

AWS CLI

Beispiel 1: So konfigurieren und starten Sie die automatische Rotation für ein Secret

Im folgenden Beispiel für rotate-secret wird die automatische Rotation für ein Secret konfiguriert und gestartet. Secrets Manager rotiert das Secret einmalig sofort und dann alle acht Stunden in einem zweistündigen Fenster. Die Ausgabe zeigt die VersionId der neuen Secrets-Version, die durch Rotation erstellt wurde.

aws secretsmanager rotate-secret \ --secret-id MyTestDatabaseSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda \ --rotation-rules "{\"ScheduleExpression\": \"cron(0 8/8 * * ? *)\", \"Duration\": \"2h\"}"

Ausgabe:

{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Weitere Informationen finden Sie unter Rotieren von Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So konfigurieren und starten Sie die automatische Rotation in einem Rotationsintervall

Im folgenden Beispiel für rotate-secret wird die automatische Rotation für ein Secret konfiguriert und gestartet. Secrets Manager rotiert das Secret einmalig sofort und dann alle 10 Tage. Die Ausgabe zeigt die VersionId der neuen Secrets-Version, die durch Rotation erstellt wurde.

aws secretsmanager rotate-secret \ --secret-id MyTestDatabaseSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda \ --rotation-rules "{\"ScheduleExpression\": \"rate(10 days)\"}"

Ausgabe:

{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Weitere Informationen finden Sie unter Rotieren von Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So rotieren Sie ein Secret sofort

Im folgenden rotate-secret-Beispiel wird eine sofortige Rotation gestartet. Die Ausgabe zeigt die VersionId der neuen Secrets-Version, die durch Rotation erstellt wurde. Für das Secret muss die Rotation bereits konfiguriert sein.

aws secretsmanager rotate-secret \ --secret-id MyTestDatabaseSecret

Ausgabe:

{ "ARN": "aws:arn:secretsmanager:us-west-2:123456789012:secret:MyTestDatabaseSecret-a1b2c3", "Name": "MyTestDatabaseSecret", "VersionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }

Weitere Informationen finden Sie unter Rotieren von Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter RotateSecret in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie stop-replication-to-replica verwendet wird.

AWS CLI

So stufen Sie ein Replikat-Secret zu einem primären Secret herauf

Im folgenden stop-replication-to-replica-Beispiel wird die Verknüpfung zwischen einem Replikat-Secret und dem primären entfernt. Das Replikat-Secret wird in der Replikat-Region zum primären Secret heraufgestuft. Sie müssen stop-replication-to-replica innerhalb der Replikatregion aufrufen.

aws secretsmanager stop-replication-to-replica \ --secret-id MyTestSecret

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3" }

Weitere Informationen finden Sie unter Heraufstufen eines Replikat-Secrets im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

Beispiel 1: So fügen Sie ein Tag zu einem Secret hinzu

Im folgenden -Beispiel wird gezeigt, wie Sie ein Tag mit Abkürzungssyntax anfügen.

aws secretsmanager tag-resource \ --secret-id MyTestSecret \ --tags Key=FirstTag,Value=FirstValue

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Markieren Ihrer Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So fügen Sie einem Secret mehrere Tags hinzu

Das folgende tag-resource-Beispiel fügt zwei Schlüssel-/Wert-Tags an ein Secret an.

aws secretsmanager tag-resource \ --secret-id MyTestSecret \ --tags '[{"Key": "FirstTag", "Value": "FirstValue"}, {"Key": "SecondTag", "Value": "SecondValue"}]'

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Markieren Ihrer Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

So entfernen Sie Tags von einem Secret

Im folgenden untag-resource-Beispiel werden zwei Tags aus einem Secret entfernt. Für jedes Tag werden sowohl der Schlüssel als auch der Wert entfernt.

aws secretsmanager untag-resource \ --secret-id MyTestSecret \ --tag-keys '[ "FirstTag", "SecondTag"]'

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Markieren Ihrer Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie update-secret-version-stage verwendet wird.

AWS CLI

Beispiel 1: So setzen Sie ein Secret auf eine frühere Version zurück

Im folgenden Beispiel für update-secret-version-stage wird das Staging-Label AWS-CURRENT auf die vorherige Version eines Secrets verschoben, wodurch das Secret auf die vorherige Version zurückgesetzt wird. Verwenden Sie list-secret-version-ids, um die ID der vorherigen Version zu finden. In diesem Beispiel ist die Version mit dem Label AWS-CURRENT a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 und die Version mit dem Label AWS-PREVIOUS a1b2c3d4-5678-90ab-cdef-EXAMPLE22222. In diesem Beispiel verschieben Sie das Label AWS-CURRENT von Version 11111 nach 22222. Da das Label AWS-CURRENT aus einer Version entfernt wird, wird update-secret-version-stage automatisch das Label AWS-PREVIOUS in diese Version (11111) verschieben. Dies hat zur Folge, dass die Versionen AWS-CURRENT und AWS-PREVIOUS vertauscht werden.

aws secretsmanager update-secret-version-stage \ --secret-id MyTestSecret \ --version-stage AWSCURRENT \ --move-to-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE22222 \ --remove-from-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Version im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So fügen Sie ein Staging-Label hinzu, das an eine Version eines Secrets angehängt ist

Im folgenden Beispiel für update-secret-version-stage wird einer Version eines Secrets ein Staging-Label hinzugefügt. Sie können die Ergebnisse überprüfen, indem Sie list-secret-version-ids ausführen und das VersionStages-Antwortfeld für die betroffene Version anzeigen.

aws secretsmanager update-secret-version-stage \ --secret-id MyTestSecret \ --version-stage STAGINGLABEL1 \ --move-to-version-id EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Version im Secrets-Manager-Benutzerhandbuch.

Beispiel 3: So löschen Sie ein Staging-Label, das an eine Secret-Version angehängt ist

Im folgenden Beispiel für update-secret-version-stage wird ein Staging-Label gelöscht, das an eine Version eines Secrets angehängt ist. Sie können die Ergebnisse überprüfen, indem Sie list-secret-version-ids ausführen und das VersionStages-Antwortfeld für die betroffene Version anzeigen.

aws secretsmanager update-secret-version-stage \ --secret-id MyTestSecret \ --version-stage STAGINGLABEL1 \ --remove-from-version-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Version im Secrets-Manager-Benutzerhandbuch.

Das folgende Codebeispiel zeigt, wie update-secret verwendet wird.

AWS CLI

Beispiel 1: So aktualisieren Sie die Beschreibung eines Secrets

Im folgenden update-secret-Beispiel wird die Beschreibung eines Secrets aktualisiert.

aws secretsmanager update-secret \ --secret-id MyTestSecret \ --description "This is a new description for the secret."

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Ändern eines Secrets im Secrets-Manager-Benutzerhandbuch.

Beispiel 2: So aktualisieren Sie den mit einem Secret verknüpften Verschlüsselungsschlüssel

Im folgenden update-secret-Beispiel wird der KMS-Schlüssel aktualisiert, der zum Verschlüsseln des Secret-Werts verwendet wird. Der KMS-Schlüssel muss sich in derselben Region wie das Secret befinden.

aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE

Ausgabe:

{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }

Weitere Informationen finden Sie unter Ändern eines Secrets im Secrets-Manager-Benutzerhandbuch.

  • API-Details finden Sie unter UpdateSecret in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie validate-resource-policy verwendet wird.

AWS CLI

So validieren Sie eine Ressourcenrichtlinie

Im folgenden Beispiel für validate-resource-policy wird überprüft, ob eine Ressourcenrichtlinie keinen umfassenden Zugriff auf ein Secret gewährt. Die Richtlinie wird aus einer Datei im Laufwerk gelesen. Weitere Informationen finden Sie unter Laden von AWS-CLI-Parametern aus einer Datei im AWS-CLI-Benutzerhandbuch.

aws secretsmanager validate-resource-policy \ --resource-policy file://mypolicy.json

Inhalt von mypolicy.json:

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:role/MyRole" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*" } ] }

Ausgabe:

{ "PolicyValidationPassed": true, "ValidationErrors": [] }

Weitere Informationen finden Sie unter Berechtigungsreferenz für Secrets Manager im Secrets-Manager-Benutzerhandbuch.