Esempi di Secrets Manager che utilizzano AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di Secrets Manager che utilizzano AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando AWS Command Line Interface with Secrets Manager.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarebatch-get-secret-value.

AWS CLI

Esempio 1: come recuperare il valore del segreto per un gruppo di segreti elencati per nome

L’esempio batch-get-secret-value seguente ottiene il valore di tre segreti.

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

Output:

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

Per ulteriori informazioni, consulta Recuperare un gruppo di segreti in un batch nella Guida per l’utente di AWS Secrets Manager.

Esempio 2: come recuperare il valore del segreto per un gruppo di segreti selezionati in base al filtro

L’esempio batch-get-secret-value seguente ottiene i valori dei segreti nell’account in uso il cui nome contiene MySecret. Il filtro per nome fa distinzione tra maiuscole e minuscole.

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

Output:

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

Per ulteriori informazioni, consulta Recuperare un gruppo di segreti in un batch nella Guida per l’utente di AWS Secrets Manager.

Il seguente esempio di codice mostra come utilizzarecancel-rotate-secret.

AWS CLI

Come disattivare la rotazione automatica per un segreto

L’esempio cancel-rotate-secret seguente disattiva la rotazione automatica per un segreto. Per riprendere la rotazione, chiama rotate-secret.

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

Output:

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

Per ulteriori informazioni, consulta Rotazione di un segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarecreate-secret.

AWS CLI

Esempio 1: come creare un segreto dalle credenziali in un file JSON

L’esempio di create-secret seguente mostra come creare un segreto partendo dalle credenziali in un file. Per ulteriori informazioni, consulta Caricamento dei parametri AWS CLI da un file nella Guida per l'utente della AWS CLI.

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

Contenuto di mycreds.json:

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

Output:

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

Per ulteriori informazioni, consulta Creazione di un segreto nella Guida per l’utente di Secrets Manager.

Esempio 2: come creare un segreto

L’esempio di create-secret seguente mostra come creare un segreto con due coppie chiave-valore. Quando immetti i comandi in una shell dei comandi, c’è il rischio che la cronologia dei comandi sia accessibile o che le utilità abbiano accesso ai parametri dei comandi. Questo è un problema se il comando include il valore di un segreto. Per ulteriori informazioni, consulta Mitigare i rischi dell’utilizzo degli strumenti della riga di comando per archiviare i segreti nella Guida per l’utente di Secrets Manager.

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

Output:

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

Per ulteriori informazioni, consulta Creazione di un segreto nella Guida per l’utente di Secrets Manager.

  • Per i dettagli sull'API, consulta AWS CLI Command CreateSecretReference.

Il seguente esempio di codice mostra come utilizzaredelete-resource-policy.

AWS CLI

Come eliminare una policy basata sulle risorse collegata a un segreto

L’esempio di delete-resource-policy seguente mostra come eliminare la policy basata su risorse collegata a un segreto.

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

Output:

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

Per ulteriori informazioni, consulta Autenticazione e controllo degli accessi nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzaredelete-secret.

AWS CLI

Esempio 1: come eliminare un segreto

L’esempio di delete-secret seguente mostra come eliminare un segreto. È possibile recuperare il segreto con DeletionDate fino alla data e all’ora presenti nel campo di risposta restore-secret. Per eliminare un segreto replicato in altre regioni, è necessario dapprima rimuovere le relative repliche con remove-regions-from-replication, quindi chiamare delete-secret.

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

Output:

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

Per ulteriori informazioni, consulta Eliminare un segreto nella Guida per l’utente di Secrets Manager.

Esempio 2: come eliminare immediatamente un segreto

L’esempio di delete-secret seguente mostra come eliminare immediatamente il secreto senza un intervallo di recupero. Non è possibile recuperare questo segreto.

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

Output:

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

Per ulteriori informazioni, consulta Eliminare un segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzaredescribe-secret.

AWS CLI

Come recuperare i dettagli di un segreto

L’esempio describe-secret seguente mostra i dettagli di un segreto.

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

Output:

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

Per ulteriori informazioni, consulta Segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareget-random-password.

AWS CLI

Come generare una password casuale

L’esempio get-random-password seguente genera una password casuale che contiene 20 caratteri e include almeno una lettera maiuscola, una lettera minuscola, un numero e un segno di punteggiatura.

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

Output:

{ "RandomPassword": "EXAMPLE-PASSWORD" }

Per ulteriori informazioni, consulta Creazione e gestione di segreti nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareget-resource-policy.

AWS CLI

Come recuperare la policy basata sulle risorse collegata a un segreto

L’esempio di get-resource-policy seguente mostra come recuperare la policy basata su risorse collegata a un segreto.

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

Output:

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

Per ulteriori informazioni, consulta Autenticazione e controllo degli accessi nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareget-secret-value.

AWS CLI

Esempio 1: come recuperare il valore crittografato di un segreto

L’esempio di get-secret-value seguente mostra come recuperare il valore corrente del segreto.

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

Output:

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

Per ulteriori informazioni, consulta Recupero di un segreto nella Guida per l’utente di Secrets Manager.

Esempio 2: come recuperare il valore del segreto precedente

L’esempio get-secret-value seguente mostra come recuperare il valore precedente del segreto:

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

Output:

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

Per ulteriori informazioni, consulta Recupero di un segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarelist-secret-version-ids.

AWS CLI

Come elencare tutte le versioni del segreto associate a un segreto

L’esempio list-secret-version-ids seguente ottiene un elenco di tutte le versioni di un segreto.

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

Output:

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

Per ulteriori informazioni, consulta Versione nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarelist-secrets.

AWS CLI

Esempio 1: come elencare i segreti nell’account

L’esempio di list-secrets seguente mostra come ottenere un elenco dei segreti del proprio account.

aws secretsmanager list-secrets

Output:

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

Per ulteriori informazioni, consulta Cercare un segreto nella Guida per l’utente di Secrets Manager.

Esempio 2: come filtrare l’elenco dei segreti nell’account

L’esempio list-secrets seguente ottiene un elenco dei segreti nell’account in uso che contengono Test nel nome. Il filtro per nome fa distinzione tra maiuscole e minuscole.

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

Output:

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

Per ulteriori informazioni, consulta Cercare un segreto nella Guida per l’utente di Secrets Manager.

Esempio 3: come elencare i segreti presenti in un account gestito da un altro servizio

L’esempio list-secrets seguente restituisce i segreti nel tuo account che sono gestiti da Amazon RDS.

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

Output:

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

Per ulteriori informazioni, consulta Segreti gestiti da altri servizi nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareput-resource-policy.

AWS CLI

Come aggiungere una policy basata sulle risorse a un segreto

L’esempio di put-resource-policy seguente mostra come aggiungere una policy di autorizzazioni a un segreto, verificando innanzitutto che la policy non fornisca un accesso ampio al segreto. La policy viene letta da un file. Per ulteriori informazioni, consulta Caricamento dei parametri AWS CLI da un file nella Guida per l'utente della AWS CLI.

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

Contenuto di mypolicy.json:

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

Output:

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

Per ulteriori informazioni, consulta Allegare una policy di autorizzazione a un segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareput-secret-value.

AWS CLI

Esempio 1: come archiviare il nuovo valore di un segreto in un segreto

L’esempio put-secret-value seguente mostra come creare una nuova versione di un segreto con due coppie chiave-valore.

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

Output:

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

Per ulteriori informazioni, consulta Modificare un segreto nella Guida per l’utente di Secrets Manager.

Esempio 2: come archiviare il nuovo valore di un segreto dalle credenziali in un file JSON

L’esempio di put-secret-value seguente mostra come creare una nuova versione di un segreto partendo dalle credenziali in un file. Per ulteriori informazioni, consulta Caricamento dei parametri AWS CLI da un file nella Guida per l'utente della AWS CLI.

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

Contenuto di mycreds.json:

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

Output:

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

Per ulteriori informazioni, consulta Modificare un segreto nella Guida per l’utente di Secrets Manager.

  • Per i dettagli sull'API, consulta AWS CLI Command PutSecretValueReference.

Il seguente esempio di codice mostra come utilizzareremove-regions-from-replication.

AWS CLI

Come eliminare un segreto di replica

L’esempio di remove-regions-from-replication seguente mostra come eliminare un segreto di replica nella Regione eu-west-3. Per eliminare un segreto primario replicato in altre Regioni, è necessario dapprima eliminare le relative repliche e poi chiamare delete-secret.

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

Output:

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

Per ulteriori informazioni, consulta Eliminazione di un segreto di replica nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarereplicate-secret-to-regions.

AWS CLI

Come replicare un segreto in un’altra Regione

Nell’esempio replicate-secret-to-regions seguente, un segreto viene replicato nella Regione eu-west-3. La replica è crittografata con la chiave AWS aws/secretsmanager gestita.

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

Output:

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

Per ulteriori informazioni, consulta Replica di un segreto in un’altra Regione nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarerestore-secret.

AWS CLI

Come ripristinare un segreto precedentemente eliminato

L’esempio di restore-secret seguente mostra il ripristino di un segreto per il quale in precedenza era stata pianificata l’eliminazione.

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

Output:

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

Per ulteriori informazioni, consulta Eliminare un segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarerotate-secret.

AWS CLI

Esempio 1: come configurare e avviare la rotazione automatica di un segreto

L’esempio rotate-secret seguente configura e avvia la rotazione automatica per un segreto. Secrets Manager ruota immediatamente il segreto una volta e successivamente lo ruota ogni otto ore in una finestra di due ore. L’output mostra il valore VersionId della nuova versione del segreto creata dalla rotazione.

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

Output:

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

Per ulteriori informazioni, consulta Ruotare i segreti nella Guida per l’utente di Secrets Manager.

Esempio 2: come configurare e avviare la rotazione automatica su un intervallo di rotazione

L’esempio rotate-secret seguente configura e avvia la rotazione automatica per un segreto. Secrets Manager ruota immediatamente il segreto una volta e successivamente lo ruota ogni dieci giorni. L’output mostra il valore VersionId della nuova versione del segreto creata dalla rotazione.

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

Output:

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

Per ulteriori informazioni, consulta Ruotare i segreti nella Guida per l’utente di Secrets Manager.

Esempio 3: come ruotare immediatamente un segreto

L’esempio di rotate-secret seguente mostra come avviare una rotazione immediata. L’output mostra il valore VersionId della nuova versione del segreto creata dalla rotazione. Il segreto deve avere già la rotazione configurata.

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

Output:

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

Per ulteriori informazioni, consulta Ruotare i segreti nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarestop-replication-to-replica.

AWS CLI

Come promuovere un segreto di replica a primario

L’esempio di stop-replication-to-replica seguente mostra come rimuovere il collegamento tra un segreto di replica e quello primario. Il segreto di replica viene promosso a segreto primario nella Regione della replica. È necessario effettuare una chiamata stop-replication-to-replica dall’interno della Regione della replica.

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

Output:

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

Per ulteriori informazioni, consulta Promuovere un segreto di replica nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzaretag-resource.

AWS CLI

Esempio 1: come aggiungere un tag a un segreto

L’esempio seguente mostra come collegare un tag con una sintassi abbreviata.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Taggare i segreti nella Guida per l’utente di Secrets Manager.

Esempio 2: come aggiungere tag a un segreto

L’esempio di tag-resource seguente mostra come collegare due tag chiave-valore a un segreto.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Taggare i segreti nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Come rimuovere tag da un segreto

L’esempio di untag-resource seguente mostra come rimuovere due tag da un segreto. Per ogni tag, vengono rimossi sia la chiave che il valore.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, consulta Taggare i segreti nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareupdate-secret-version-stage.

AWS CLI

Esempio 1: come ripristinare la versione precedente di un segreto

L'update-secret-version-stageesempio seguente sposta l'etichetta staging AWS CURRENT alla versione precedente di un segreto, che ripristina il segreto alla versione precedente. Per trovare l’ID della versione precedente, utilizza list-secret-version-ids. Per questo esempio, la versione con l'etichetta AWS CURRENT è a1b2c3d4-5678-90ab-cdef- e la versione con l'etichetta PREVIOUS è a1b2c3d4-5678-90ab-cdef-. EXAMPLE11111 AWS EXAMPLE22222 In questo esempio, si sposta AWS l'etichetta CURRENT dalla versione 11111 alla 22222. Poiché l'etichetta AWS CURRENT viene rimossa da una versione, sposta update-secret-version-stage automaticamente l'etichetta AWS PREVIOUS a quella versione (11111). L'effetto è che le versioni AWS CURRENT e AWS PREVIOUS vengono scambiate.

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

Output:

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

Per ulteriori informazioni, consulta Versione nella Guida per l’utente di Secrets Manager.

Esempio 2: come aggiungere un’etichetta temporanea collegata a una versione di un segreto

L’esempio update-secret-version-stage seguente aggiunge un’etichetta temporanea a una versione di un segreto. Puoi esaminare i risultati eseguendo list-secret-version-ids e visualizzando il campo di risposta VersionStages per la versione interessata.

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

Output:

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

Per ulteriori informazioni, consulta Versione nella Guida per l’utente di Secrets Manager.

Esempio 3: come eliminare un’etichetta temporanea collegata a una versione di un segreto

L’esempio update-secret-version-stage seguente elimina un’etichetta temporanea collegata a una versione di un segreto. Puoi esaminare i risultati eseguendo list-secret-version-ids e visualizzando il campo di risposta VersionStages per la versione interessata.

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

Output:

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

Per ulteriori informazioni, consulta Versione nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareupdate-secret.

AWS CLI

Esempio 1: come aggiornare la descrizione di un segreto

L’esempio di update-secret seguente mostra come aggiornare la descrizione di un segreto.

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

Output:

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

Per ulteriori informazioni, consulta Modificare un segreto nella Guida per l’utente di Secrets Manager.

Esempio 2: come aggiornare la chiave di crittografia associata a un segreto

L’esempio di update-secret seguente mostra come aggiornare la chiave KMS utilizzata per crittografare il valore del segreto. La chiave KMS deve trovarsi nella stessa Regione del segreto.

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

Output:

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

Per ulteriori informazioni, consulta Modificare un segreto nella Guida per l’utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarevalidate-resource-policy.

AWS CLI

Come convalidare un policy delle risorse

L’esempio validate-resource-policy seguente verifica che una policy delle risorse non conceda un ampio accesso a un segreto. La policy viene letta da un file su disco. Per ulteriori informazioni, consulta Caricamento dei parametri AWS CLI da un file nella Guida per l'utente della AWS CLI.

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

Contenuto di mypolicy.json:

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

Output:

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

Per ulteriori informazioni, consulta Riferimento per le autorizzazioni per Secrets Manager nella Guida per l’utente di Secrets Manager.