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-valuewird der aktuelle Secret-Wert für drei Secrets abgerufen.aws secretsmanager batch-get-secret-value \ --secret-id-listMySecret1MySecret2MySecret3Ausgabe:
{ "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-valueerhält eine Liste der Secrets-Werte in Ihrem Konto, deren NameMySecretenthä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.
-
API-Details finden Sie unter BatchGetSecretValue
in der AWS CLI-Befehlsreferenz.
-
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-secretwird die automatische Rotation für ein Secret deaktiviert. Rufen Sierotate-secretauf, um die Rotation fortzusetzen.aws secretsmanager cancel-rotate-secret \ --secret-idMyTestSecretAusgabe:
{ "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.
-
API-Details finden Sie unter CancelRotateSecret
in der AWS CLI-Befehlsreferenz.
-
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 \ --nameMyTestSecret\ --secret-stringfile://mycreds.jsonInhalt 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 \ --nameMyTestSecret\ --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-idMyTestSecretAusgabe:
{ "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.
-
API-Details finden Sie unter DeleteResourcePolicy
in der AWS CLI-Befehlsreferenz.
-
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 mitDeletionDatebis zu dem Datum und Zeitpunkt wiederherstellen, die im Antwortfeldrestore-secretangegeben sind. Um ein Secret zu löschen, das in andere Regionen repliziert wird, entfernen Sie zuerst die zugehörigen Replikate mitremove-regions-from-replicationund rufen Sie danndelete-secretauf.aws secretsmanager delete-secret \ --secret-idMyTestSecret\ --recovery-window-in-days7Ausgabe:
{ "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-idMyTestSecret\ --force-delete-without-recoveryAusgabe:
{ "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-secretwerden die Details eines Secrets angezeigt.aws secretsmanager describe-secret \ --secret-idMyTestSecretAusgabe:
{ "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-passwordwird 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-length20Ausgabe:
{ "RandomPassword": "EXAMPLE-PASSWORD" }Weitere Informationen finden Sie unter Erstellen und Verwalten eines Secrets im Secrets-Manager-Benutzerhandbuch.
-
API-Details finden Sie unter GetRandomPassword
in der AWS CLI-Befehlsreferenz.
-
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-idMyTestSecretAusgabe:
{ "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.
-
API-Details finden Sie unter GetResourcePolicy
in der AWS CLI-Befehlsreferenz.
-
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-idMyTestSecretAusgabe:
{ "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-valuewird der vorherige Secret-Wert abgerufen.aws secretsmanager get-secret-value \ --secret-idMyTestSecret--version-stageAWSPREVIOUSAusgabe:
{ "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-idswird eine Liste aller Versionen eines Secrets abgerufen.aws secretsmanager list-secret-version-ids \ --secret-idMyTestSecretAusgabe:
{ "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.
-
API-Details finden Sie unter ListSecretVersionIds
in der AWS CLI-Befehlsreferenz.
-
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-secretsAusgabe:
{ "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-secretsruft eine Liste der Secrets in Ihrem Konto auf, deren NameTestenthä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-secretswerden 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-idMyTestSecret\ --resource-policyfile://mypolicy.json\ --block-public-policyInhalt 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.
-
API-Details finden Sie unter PutResourcePolicy
in der AWS CLI-Befehlsreferenz.
-
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-valuewird eine neue Version eines Secrets mit zwei Schlüssel-/Wert-Paaren erstellt.aws secretsmanager put-secret-value \ --secret-idMyTestSecret\ --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-idMyTestSecret\ --secret-stringfile://mycreds.jsonInhalt 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 danndelete-secretauf.aws secretsmanager remove-regions-from-replication \ --secret-idMyTestSecret\ --remove-replica-regionseu-west-3Ausgabe:
{ "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.
-
API-Details finden Sie unter RemoveRegionsFromReplication
in der AWS CLI-Befehlsreferenz.
-
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üsselaws/secretsmanagerverschlüsselt.aws secretsmanager replicate-secret-to-regions \ --secret-idMyTestSecret\ --add-replica-regionsRegion=eu-west-3Ausgabe:
{ "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.
-
API-Details finden Sie unter ReplicateSecretToRegions
in der AWS CLI-Befehlsreferenz.
-
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-idMyTestSecretAusgabe:
{ "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-secretwird 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 dieVersionIdder neuen Secrets-Version, die durch Rotation erstellt wurde.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn: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-secretwird 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 dieVersionIdder neuen Secrets-Version, die durch Rotation erstellt wurde.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn: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 dieVersionIdder neuen Secrets-Version, die durch Rotation erstellt wurde. Für das Secret muss die Rotation bereits konfiguriert sein.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecretAusgabe:
{ "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üssenstop-replication-to-replicainnerhalb der Replikatregion aufrufen.aws secretsmanager stop-replication-to-replica \ --secret-idMyTestSecretAusgabe:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3" }Weitere Informationen finden Sie unter Heraufstufen eines Replikat-Secrets im Secrets-Manager-Benutzerhandbuch.
-
API-Details finden Sie unter StopReplicationToReplica
in der AWS CLI-Befehlsreferenz.
-
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-idMyTestSecret\ --tagsKey=FirstTag,Value=FirstValueMit 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-idMyTestSecret\ --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-idMyTestSecret\ --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-stagewird das Staging-Label AWS-CURRENT auf die vorherige Version eines Secrets verschoben, wodurch das Secret auf die vorherige Version zurückgesetzt wird. Verwenden Sielist-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, wirdupdate-secret-version-stageautomatisch 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-idMyTestSecret\ --version-stageAWSCURRENT\ --move-to-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Ausgabe:
{ "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-stagewird einer Version eines Secrets ein Staging-Label hinzugefügt. Sie können die Ergebnisse überprüfen, indem Sielist-secret-version-idsausführen und dasVersionStages-Antwortfeld für die betroffene Version anzeigen.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --move-to-version-idEXAMPLE1-90ab-cdef-fedc-ba987EXAMPLEAusgabe:
{ "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-stagewird ein Staging-Label gelöscht, das an eine Version eines Secrets angehängt ist. Sie können die Ergebnisse überprüfen, indem Sielist-secret-version-idsausführen und dasVersionStages-Antwortfeld für die betroffene Version anzeigen.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Ausgabe:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret" }Weitere Informationen finden Sie unter Version im Secrets-Manager-Benutzerhandbuch.
-
API-Details finden Sie unter UpdateSecretVersionStage
in der AWS CLI-Befehlsreferenz.
-
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-idMyTestSecret\ --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-idMyTestSecret\ --kms-key-idarn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLEAusgabe:
{ "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-policywird ü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-policyfile://mypolicy.jsonInhalt 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.
-
API-Details finden Sie unter ValidateResourcePolicy
in der AWS CLI-Befehlsreferenz.
-