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-valueseguente ottiene il valore di tre segreti.aws secretsmanager batch-get-secret-value \ --secret-id-listMySecret1MySecret2MySecret3Output:
{ "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-valueseguente ottiene i valori dei segreti nell’account in uso che contengonoMySecretnel 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-secretseguente disattiva la rotazione automatica per un segreto. Per riprendere la rotazione, chiamarotate-secret.aws secretsmanager cancel-rotate-secret \ --secret-idMyTestSecretOutput:
{ "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-secretseguente 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 \ --nameMyTestSecret\ --secret-stringfile://mycreds.jsonContenuto 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-secretseguente 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 \ --nameMyTestSecret\ --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-policyseguente mostra come eliminare la policy basata su risorse collegata a un segreto.aws secretsmanager delete-resource-policy \ --secret-idMyTestSecretOutput:
{ "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-secretseguente mostra come eliminare un segreto. È possibile recuperare il segreto conDeletionDatefino alla data e all’ora presenti nel campo di rispostarestore-secret. Per eliminare un segreto replicato in altre regioni, è necessario dapprima rimuovere le relative repliche conremove-regions-from-replication, quindi chiamaredelete-secret.aws secretsmanager delete-secret \ --secret-idMyTestSecret\ --recovery-window-in-days7Output:
{ "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-secretseguente mostra come eliminare immediatamente il secreto senza un intervallo di recupero. Non è possibile recuperare questo segreto.aws secretsmanager delete-secret \ --secret-idMyTestSecret\ --force-delete-without-recoveryOutput:
{ "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-secretseguente mostra i dettagli di un segreto.aws secretsmanager describe-secret \ --secret-idMyTestSecretOutput:
{ "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-passwordseguente 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-length20Output:
{ "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-policyseguente mostra come recuperare la policy basata su risorse collegata a un segreto.aws secretsmanager get-resource-policy \ --secret-idMyTestSecretOutput:
{ "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-valueseguente mostra come recuperare il valore corrente del segreto.aws secretsmanager get-secret-value \ --secret-idMyTestSecretOutput:
{ "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-valueseguente ottiene il valore precedente del secreto.aws secretsmanager get-secret-value \ --secret-idMyTestSecret--version-stageAWSPREVIOUSOutput:
{ "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-idsseguente ottiene un elenco di tutte le versioni di un segreto.aws secretsmanager list-secret-version-ids \ --secret-idMyTestSecretOutput:
{ "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-secretsseguente mostra come ottenere un elenco dei segreti del proprio account.aws secretsmanager list-secretsOutput:
{ "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-secretsseguente ottiene un elenco dei segreti nell’account in uso che contengonoTestnel 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-secretsseguente 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-policyseguente 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-idMyTestSecret\ --resource-policyfile://mypolicy.json\ --block-public-policyContenuto 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-valueseguente mostra come creare una nuova versione di un segreto con due coppie chiave-valore.aws secretsmanager put-secret-value \ --secret-idMyTestSecret\ --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-valueseguente 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-idMyTestSecret\ --secret-stringfile://mycreds.jsonContenuto 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-replicationseguente 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 chiamaredelete-secret.aws secretsmanager remove-regions-from-replication \ --secret-idMyTestSecret\ --remove-replica-regionseu-west-3Output:
{ "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.
-
Per informazioni dettagliate sull’API, consulta RemoveRegionsFromReplication
in AWS CLI Command Reference.
-
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-regionsseguente, un segreto viene replicato nella Regione eu-west-3. La replica è crittografata con la chiaveaws/secretsmanagergestita da AWS.aws secretsmanager replicate-secret-to-regions \ --secret-idMyTestSecret\ --add-replica-regionsRegion=eu-west-3Output:
{ "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.
-
Per informazioni dettagliate sull’API, consulta ReplicateSecretToRegions
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare restore-secret.
- AWS CLI
-
Come ripristinare un segreto precedentemente eliminato
L'esempio di
restore-secretseguente mostra il ripristino di un segreto per il quale in precedenza era stata pianificata l'eliminazione.aws secretsmanager restore-secret \ --secret-idMyTestSecretOutput:
{ "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-secretseguente 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 ilVersionIddella nuova versione del segreto creata dalla rotazione.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn:aws:lambda:us-west-2:1234566789012:function:SecretsManagerTestRotationLambda\ --rotation-rules "{\"ScheduleExpression\": \"cron(0 8/8 * * ? *)\", \"Duration\": \"2h\"}"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-secretseguente 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 ilVersionIddella nuova versione del segreto creata dalla rotazione.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecret\ --rotation-lambda-arnarn: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-secretseguente mostra come avviare una rotazione immediata. L’output mostra ilVersionIddella nuova versione del segreto creata dalla rotazione. Il segreto deve avere già la rotazione configurata.aws secretsmanager rotate-secret \ --secret-idMyTestDatabaseSecretOutput:
{ "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-replicaseguente 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 chiamatastop-replication-to-replicadall'interno della Regione della replica.aws secretsmanager stop-replication-to-replica \ --secret-idMyTestSecretOutput:
{ "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.
-
Per informazioni dettagliate sull’API, consulta StopReplicationToReplica
in AWS CLI Command Reference.
-
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-idMyTestSecret\ --tagsKey=FirstTag,Value=FirstValueQuesto 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-resourceseguente mostra come collegare due tag chiave-valore a un segreto.aws secretsmanager tag-resource \ --secret-idMyTestSecret\ --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-resourceseguente mostra come rimuovere due tag da un segreto. Per ogni tag, vengono rimossi sia la chiave che il valore.aws secretsmanager untag-resource \ --secret-idMyTestSecret\ --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-stageseguente sposta l’etichetta temporanea AWSCURRENT sulla versione precedente di un segreto, riportando il segreto alla versione precedente. Per trovare l’ID della versione precedente, utilizzalist-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-stagesposta 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-idMyTestSecret\ --version-stageAWSCURRENT\ --move-to-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Output:
{ "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-stageseguente aggiunge un’etichetta temporanea a una versione di un segreto. Puoi esaminare i risultati eseguendolist-secret-version-idse visualizzando il campo di rispostaVersionStagesper la versione interessata.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --move-to-version-idEXAMPLE1-90ab-cdef-fedc-ba987EXAMPLEOutput:
{ "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-stageseguente elimina un’etichetta temporanea collegata a una versione di un segreto. Puoi esaminare i risultati eseguendolist-secret-version-idse visualizzando il campo di rispostaVersionStagesper la versione interessata.aws secretsmanager update-secret-version-stage \ --secret-idMyTestSecret\ --version-stageSTAGINGLABEL1\ --remove-from-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE11111Output:
{ "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 UpdateSecretVersionStage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare update-secret.
- AWS CLI
-
Esempio 1: aggiornare la descrizione di un segreto
L'esempio di
update-secretseguente mostra come aggiornare la descrizione di un segreto.aws secretsmanager update-secret \ --secret-idMyTestSecret\ --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-secretseguente 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-idMyTestSecret\ --kms-key-idarn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLEOutput:
{ "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-policyseguente 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-policyfile://mypolicy.jsonContenuto 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.
-
Per informazioni dettagliate sull’API, consulta ValidateResourcePolicy
in AWS CLI Command Reference.
-