Esempi per Secrets Manager con la AWS CLI - AWS Command Line Interface

Esempi per Secrets Manager con la AWS CLI

Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando l’AWS Command Line Interface con Secrets Manager.

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

Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Operazioni

L’esempio di codice seguente mostra come utilizzare batch-get-secret-value.

AWS CLI

Esempio 1: 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 Retrieve a group of secrets in a batch nella Guida per l’utente di AWS Secrets Manager.

Esempio 2: 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 che contengono 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 Retrieve a group of secrets in a batch nella Guida per l’utente di AWS Secrets Manager.

  • Per informazioni dettagliate sull’API, consulta BatchGetSecretValue in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare cancel-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.

  • Per informazioni dettagliate sull’API, consulta CancelRotateSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare create-secret.

AWS CLI

Esempio 1: 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 Loading AWS CLI parameters from a file nella Guida per l’utente della CLI di AWS.

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: 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 Mitigate the risks of using command-line tools to store secrets 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 informazioni dettagliate sull’API, consulta CreateSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-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.

  • Per informazioni dettagliate sull’API, consulta DeleteResourcePolicy in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare delete-secret.

AWS CLI

Esempio 1: 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: 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 informazioni dettagliate sull’API, consulta DeleteSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare describe-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.

  • Per informazioni dettagliate sull’API, consulta DescribeSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetRandomPassword in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-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.

  • Per informazioni dettagliate sull’API, consulta GetResourcePolicy in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare get-secret-value.

AWS CLI

Esempio 1: 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: recuperare il valore precedente del segreto

L’esempio get-secret-value seguente ottiene il valore precedente del secreto.

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.

  • Per informazioni dettagliate sull’API, consulta GetSecretValue in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-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.

  • Per informazioni dettagliate sull’API, consulta ListSecretVersionIds in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare list-secrets.

AWS CLI

Esempio 1: 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 Find a secret nella Guida per l’utente di Secrets Manager.

Esempio 2: 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 Find a secret nella Guida per l’utente di Secrets Manager.

Esempio 3: 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.

  • Per informazioni dettagliate sull’API, consulta ListSecrets in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-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 Loading AWS CLI parameters from a file nella Guida per l’utente della CLI di AWS.

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.

  • Per informazioni dettagliate sull’API, consulta PutResourcePolicy in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare put-secret-value.

AWS CLI

Esempio 1: 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 Modify a secret nella Guida per l’utente di Secrets Manager.

Esempio 2: 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 Loading AWS CLI parameters from a file nella Guida per l’utente della CLI di AWS.

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 Modify a secret nella Guida per l’utente di Secrets Manager.

  • Per informazioni dettagliate sull’API, consulta PutSecretValue in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare remove-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.

L’esempio di codice seguente mostra come utilizzare replicate-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/secretsmanager gestita da AWS.

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.

L’esempio di codice seguente mostra come utilizzare restore-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.

  • Per informazioni dettagliate sull’API, consulta RestoreSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare rotate-secret.

AWS CLI

Esempio 1: 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 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 Rotate secrets nella Guida per l’utente di Secrets Manager.

Esempio 2: 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 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 Rotate secrets 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 il 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 Rotate secrets nella Guida per l’utente di Secrets Manager.

  • Per informazioni dettagliate sull’API, consulta RotateSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare stop-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 Promote a replica secret nella Guida per l’utente di Secrets Manager.

L’esempio di codice seguente mostra come utilizzare tag-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 Tag your secrets nella Guida per l’utente di Secrets Manager.

Esempio 2: 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 Tag secrets nella Guida per l’utente di Secrets Manager.

  • Per informazioni dettagliate sull’API, consulta TagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare untag-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 Tag secrets nella Guida per l’utente di Secrets Manager.

  • Per informazioni dettagliate sull’API, consulta UntagResource in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare update-secret-version-stage.

AWS CLI

Esempio 1: ripristinare la versione precedente di un segreto

L’esempio update-secret-version-stage seguente sposta l’etichetta temporanea AWSCURRENT sulla versione precedente di un segreto, riportando 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 AWSCURRENT è a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 e la versione con l’etichetta AWSPREVIOUS è a1b2c3d4-5678-90ab-cdef-EXAMPLE22222. In questo esempio, l’etichetta AWSCURRENT viene spostata fa 11111 a 22222. Poiché l’etichetta AWSCURRENT viene rimossa da una versione, update-secret-version-stage sposta automaticamente l’etichetta AWSPREVIOUS in quella versione (11111). In questo modo, le versioni AWSCURRENT e AWSPREVIOUS vengono invertite.

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

L’esempio di codice seguente mostra come utilizzare update-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 Modify a secret nella Guida per l’utente di Secrets Manager.

Esempio 2: 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 Modify a secret nella Guida per l’utente di Secrets Manager.

  • Per informazioni dettagliate sull’API, consulta UpdateSecret in AWS CLI Command Reference.

L’esempio di codice seguente mostra come utilizzare validate-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 Loading AWS CLI parameters from a file nella Guida per l’utente della CLI di AWS.

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.