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

Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.

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 operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, è possibile visualizzare le azioni nel loro contesto negli scenari correlati.

Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile trovare 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: recuperare il valore segreto per un gruppo di segreti elencati per nome

L'batch-get-secret-valueesempio seguente ottiene il valore segreto secrets per 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: Per recuperare il valore segreto per un gruppo di segreti selezionati dal filtro

L'batch-get-secret-valueesempio seguente ottiene il valore segreto che i segreti presenti nell'account hanno MySecret nel nome. 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

Per disattivare la rotazione automatica di un segreto

L'cancel-rotate-secretesempio seguente disattiva la rotazione automatica di un segreto. Per riprendere la rotazione, chiamarotate-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 Ruotare un segreto nella Guida per l'utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarecreate-secret.

AWS CLI

Esempio 1: creare un codice 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, consultate Caricamento AWS CLI dei parametri da un file nella Guida per l'AWS CLIutente.

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 Creare un segreto nella Guida per l'utente di Secrets Manager.

Esempio 2: 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 di strumenti da riga di comando per archiviare 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 Creare un segreto nella Guida per l'utente di Secrets Manager.

  • Per API i dettagli, vedere CreateSecretin AWS CLI Command Reference.

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

AWS CLI

Per eliminare la politica basata sulle risorse allegata 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: eliminare un segreto

L'esempio di delete-secret seguente mostra come eliminare un segreto. È possibile recuperare il segreto restore-secret entro la data e l'ora indicate nel campo di DeletionDate risposta. 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: 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.

  • Per API i dettagli, vedere DeleteSecretin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzaredescribe-secret.

AWS CLI

Per recuperare i dettagli di un segreto

L'describe-secretesempio 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 Secret nella Guida per l'utente di Secrets Manager.

  • Per API i dettagli, vedere DescribeSecretin AWS CLI Command Reference.

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

AWS CLI

Per generare una password casuale

L'get-random-passwordesempio seguente genera una password casuale lunga 20 caratteri che include almeno una lettera maiuscola, una lettera minuscola, un numero e una punteggiatura.

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

Output:

{ "RandomPassword": "EXAMPLE-PASSWORD" }

Per ulteriori informazioni, consulta Creare e gestire segreti nella Guida per l'utente di Secrets Manager.

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

AWS CLI

Per recuperare la politica basata sulle risorse allegata 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: recuperare il valore segreto 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 Recupera un segreto nella Guida per l'utente di Secrets Manager.

Esempio 2: Per recuperare il valore segreto precedente

L'get-secret-valueesempio seguente ottiene il valore segreto precedente. :

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 Recupera un segreto nella Guida per l'utente di Secrets Manager.

  • Per API i dettagli, vedere GetSecretValuein AWS CLI Command Reference.

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

AWS CLI

Per elencare tutte le versioni segrete associate a un segreto

L'list-secret-version-idsesempio 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, vedere Versione nella Guida per l'utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzarelist-secrets.

AWS CLI

Esempio 1: Per elencare i segreti del tuo 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 Find a secret nella Guida per l'utente di Secrets Manager.

Esempio 2: per filtrare l'elenco dei segreti nel tuo account

L'list-secretsesempio seguente ottiene un elenco dei segreti del tuo account contenuti 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 Find a secret nella Guida per l'utente di Secrets Manager.

Esempio 3: Per elencare i segreti presenti nel tuo account gestito da un altro servizio

L'list-secretsesempio seguente restituisce i segreti del tuo account gestiti da AmazonRDS.

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.

  • Per API i dettagli, vedere ListSecretsin AWS CLI Command Reference.

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

AWS CLI

Per aggiungere una politica 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 AWS CLI dei parametri da un file nella Guida per l'AWS CLIutente.

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 politica di autorizzazioni 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: per memorizzare un nuovo valore segreto in un segreto

L'put-secret-valueesempio seguente crea 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: Per memorizzare un nuovo valore segreto derivante 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, consultate Caricamento AWS CLI dei parametri da un file nella Guida per l'AWS CLIutente.

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 API i dettagli, vedere PutSecretValuein AWS CLI Command Reference.

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

AWS CLI

Per eliminare una replica segreta

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 Eliminare 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

Per 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 gestita. aws/secretsmanager

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 Replicare 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

Per 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.

  • Per API i dettagli, vedere RestoreSecretin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarerotate-secret.

AWS CLI

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

L'rotate-secretesempio seguente configura e avvia la rotazione automatica di un segreto. Secrets Manager ruota il segreto una volta immediatamente e poi ogni otto ore in una finestra di due ore. L'output mostra VersionId la nuova versione segreta creata mediante 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: configurare e avviare la rotazione automatica su un intervallo di rotazione

L'rotate-secretesempio seguente configura e avvia la rotazione automatica per un segreto. Secrets Manager ruota il segreto una volta immediatamente e poi ogni 10 giorni. L'output mostra VersionId la nuova versione segreta creata mediante 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: ruotare immediatamente un segreto

L'esempio di rotate-secret seguente mostra come avviare una rotazione immediata. L'output mostra VersionId la nuova versione segreta creata mediante 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.

  • Per API i dettagli, vedere RotateSecretin AWS CLI Command Reference.

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

AWS CLI

Promuovere una replica segreta a una principale

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: aggiungere un tag a un segreto

L'esempio di 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 Tagga i tuoi segreti nella Guida per l'utente di Secrets Manager.

Esempio 2: Per aggiungere più 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 Tag secrets nella Guida per l'utente di Secrets Manager.

  • Per API i dettagli, vedere TagResourcein AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareuntag-resource.

AWS CLI

Per rimuovere i 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 Tag secrets nella Guida per l'utente di Secrets Manager.

  • Per API i dettagli, vedere UntagResourcein AWS CLI Command Reference.

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

AWS CLI

Esempio 1: ripristinare un segreto alla versione precedente

L'update-secret-version-stageesempio seguente sposta l'etichetta AWS CURRENT temporanea alla versione precedente di un segreto, che ripristina il segreto alla versione precedente. Per trovare l'ID della versione precedente, usa. list-secret-version-ids Per questo esempio, la versione con l'etichetta è a1b2c3d4-5678-90ab-cdef- e la versione con l' AWS CURRENTetichetta è a1b2c3d4-5678-90ab-cdef-. EXAMPLE11111 AWS PREVIOUS EXAMPLE22222 In questo esempio, si sposta l'etichetta dalla versione 11111 alla 22222. AWS CURRENT Poiché l' AWS CURRENTetichetta viene rimossa da una versione, sposta update-secret-version-stage automaticamente l' AWS PREVIOUSetichetta a quella versione (11111). L'effetto è che le AWS PREVIOUS versioni AWS CURRENT e 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, vedere Versione nella Guida per l'utente di Secrets Manager.

Esempio 2: per aggiungere un'etichetta temporanea allegata a una versione di un segreto

L'update-secret-version-stageesempio seguente aggiunge un'etichetta temporanea a una versione di un segreto. È possibile esaminare i risultati eseguendo list-secret-version-ids e visualizzando il campo di VersionStages risposta 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, vedere Versione nella Guida per l'utente di Secrets Manager.

Esempio 3: Per eliminare un'etichetta temporanea associata a una versione di un segreto

L'update-secret-version-stageesempio seguente elimina un'etichetta temporanea associata a una versione di un segreto. È possibile esaminare i risultati eseguendo list-secret-version-ids e visualizzando il campo di VersionStages risposta 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, vedere Versione nella Guida per l'utente di Secrets Manager.

Il seguente esempio di codice mostra come utilizzareupdate-secret.

AWS CLI

Esempio 1: 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: Per aggiornare la chiave di crittografia associata a un segreto

L'update-secretesempio seguente aggiorna la KMS chiave utilizzata per crittografare il valore segreto. La KMS chiave deve trovarsi nella stessa area 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.

  • Per API i dettagli, vedere UpdateSecretin AWS CLI Command Reference.

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

AWS CLI

Per convalidare una politica delle risorse

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

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 il riferimento alle autorizzazioni per Secrets Manager nella Guida per l'utente di Secrets Manager.