Exemplos de Secrets Manager usando AWS CLI - AWS SDKExemplos de código

Há mais AWS SDK exemplos disponíveis no GitHub repositório AWS Doc SDK Examples.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplos de Secrets Manager usando AWS CLI

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface with Secrets Manager.

Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.

Tópicos

Ações

O código de exemplo a seguir mostra como usar batch-get-secret-value.

AWS CLI

Exemplo 1: Para recuperar o valor secreto de um grupo de segredos listados por nome

O batch-get-secret-value exemplo a seguir obtém os segredos do valor secreto para três segredos.

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

Saída:

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

Para obter mais informações, consulte Recuperar um grupo de segredos em um lote no Guia do Usuário do AWS Secrets Manager.

Exemplo 2: Para recuperar o valor secreto de um grupo de segredos selecionados pelo filtro

O batch-get-secret-value exemplo a seguir obtém os segredos de valor secreto em sua conta que estão MySecret no nome. A filtragem por nome diferencia maiúsculas de minúsculas.

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

Saída:

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

Para obter mais informações, consulte Recuperar um grupo de segredos em um lote no Guia do Usuário do AWS Secrets Manager.

O código de exemplo a seguir mostra como usar cancel-rotate-secret.

AWS CLI

Para desativar a rotação automática de um segredo

O cancel-rotate-secret exemplo a seguir desativa a rotação automática de um segredo. Para retomar a rotação, liguerotate-secret.

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

Saída:

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

Para obter mais informações, consulte Rotate a secret no Guia do usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar create-secret.

AWS CLI

Exemplo 1: Para criar um segredo a partir das credenciais em um arquivo JSON

O exemplo de create-secret a seguir cria um segredo com base em credenciais em um arquivo. Para obter mais informações, consulte Carregando AWS CLI parâmetros de um arquivo no Guia AWS CLI do usuário.

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

Conteúdo de mycreds.json:

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

Saída:

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

Para obter mais informações, consulte Criar um segredo no Guia do usuário do Secrets Manager.

Exemplo 2: Para criar um segredo

O seguinte exemplo de create-secret cria um segredo com dois pares de chave/valor. Quando você insere comandos em um shell de comando, existe o risco de o histórico de comandos ser acessado ou de utilitários terem acesso aos seus parâmetros de comando. Isso é uma preocupação se o comando incluir o valor de um segredo. Para obter mais informações, consulte Mitigar os riscos do uso de ferramentas de linha de comando para armazenar segredos no Guia do Usuário do Secrets Manager.

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

Saída:

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

Para obter mais informações, consulte Criar um segredo no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte CreateSecretna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar delete-resource-policy.

AWS CLI

Para excluir a política baseada em recursos anexada a um segredo

O exemplo de delete-resource-policy a seguir exclui a política baseada em recurso anexada a um segredo.

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

Saída:

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

Para obter mais informações, consulte Autenticação e controle de acesso no Guia do Usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar delete-secret.

AWS CLI

Exemplo 1: como excluir um segredo

O exemplo de delete-secret a seguir exclui um segredo. É possível recuperar o segredo com restore-secret até a data e a hora presentes no campo de resposta DeletionDate. Para excluir um segredo que está replicado em outras regiões, primeiro remova suas réplicas com remove-regions-from-replication e então chame delete-secret.

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

Saída:

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

Para obter mais informações, consulte Excluir um segredo no Guia do usuário do Secrets Manager.

Exemplo 2: como excluir um segredo instantaneamente

O exemplo de delete-secret a seguir exclui imediatamente um segredo sem uma janela de recuperação. Não é possível recuperar esse segredo.

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

Saída:

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

Para obter mais informações, consulte Excluir um segredo no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte DeleteSecretna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar describe-secret.

AWS CLI

Como recuperar os detalhes de um segredo

O exemplo de describe-secret a seguir mostra os detalhes de um segredo.

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

Saída:

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

Para obter mais informações, consulte Segredo no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte DescribeSecretna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-random-password.

AWS CLI

Para gerar uma senha aleatória

O get-random-password exemplo a seguir gera uma senha aleatória de 20 caracteres que inclui pelo menos uma letra maiúscula, minúscula, número e pontuação.

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

Saída:

{ "RandomPassword": "EXAMPLE-PASSWORD" }

Para obter mais informações, consulte Criar e gerenciar segredos no Guia do Usuário do Secrets Manager.

  • Para API obter detalhes, consulte GetRandomPasswordna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-resource-policy.

AWS CLI

Para recuperar a política baseada em recursos anexada a um segredo

O exemplo de get-resource-policy a seguir recupera a política baseada em recurso anexada a um segredo.

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

Saída:

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

Para obter mais informações, consulte Autenticação e controle de acesso no Guia do Usuário do Secrets Manager.

  • Para API obter detalhes, consulte GetResourcePolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar get-secret-value.

AWS CLI

Exemplo 1: como recuperar o valor secreto criptografado de um segredo

O exemplo de get-secret-value a seguir obtém o valor atual do segredo.

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

Saída:

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

Para obter mais informações, consulte Recuperar segredos no Guia do usuário do Secrets Manager.

Exemplo 2: como recuperar o valor secreto anterior

O seguinte exemplo de get-secret-value recupera o valor secreto anterior:

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

Saída:

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

Para obter mais informações, consulte Recuperar segredos no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte GetSecretValuena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar list-secret-version-ids.

AWS CLI

Para listar todas as versões secretas associadas a um segredo

O list-secret-version-ids exemplo a seguir obtém uma lista de todas as versões de um segredo.

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

Saída:

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

Para obter mais informações, consulte Versão no Guia do Usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar list-secrets.

AWS CLI

Exemplo 1: como listar os segredos na conta

O exemplo de list-secrets a seguir mostra uma lista dos segredos em sua conta.

aws secretsmanager list-secrets

Saída:

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

Para obter mais informações, consulte Localizar segredos no Guia do usuário do Secrets Manager.

Exemplo 2: como filtrar os segredos na conta

O exemplo de list-secrets a seguir obtém uma lista dos segredos em sua conta que têm Test no nome. A filtragem por nome diferencia maiúsculas de minúsculas.

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

Saída:

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

Para obter mais informações, consulte Localizar segredos no Guia do usuário do Secrets Manager.

Exemplo 3: como listar os segredos na conta gerenciada por outro serviço

O list-secrets exemplo a seguir retorna os segredos da sua conta que são gerenciados pela AmazonRDS.

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

Saída:

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

Para obter mais informações, consulte o Segredos gerenciados por outros serviços no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte ListSecretsna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar put-resource-policy.

AWS CLI

Para adicionar uma política baseada em recursos a um segredo

O exemplo de put-resource-policy a seguir adiciona uma política de permissões a um segredo, verificando primeiro se a política não fornece acesso amplo ao segredo. A política é lida de um arquivo. Para obter mais informações, consulte Carregando AWS CLI parâmetros de um arquivo no Guia AWS CLI do usuário.

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

Conteúdo de mypolicy.json:

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

Saída:

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

Para obter mais informações, consulte Anexar uma política de permissões a um segredo no Guia do Usuário do Secrets Manager.

  • Para API obter detalhes, consulte PutResourcePolicyna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar put-secret-value.

AWS CLI

Exemplo 1: como armazenar um novo valor secreto em um segredo

O exemplo de put-secret-value a seguir cria uma nova versão de um segredo com dois pares de chave/valor.

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

Saída:

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

Para obter mais informações, consulte Modificar um segredo no Guia do usuário do Secrets Manager.

Exemplo 2: Para armazenar um novo valor secreto das credenciais em um arquivo JSON

O exemplo de put-secret-value a seguir cria uma nova versão de um segredo com base em credenciais em um arquivo. Para obter mais informações, consulte Carregando AWS CLI parâmetros de um arquivo no Guia AWS CLI do usuário.

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

Conteúdo de mycreds.json:

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

Saída:

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

Para obter mais informações, consulte Modificar um segredo no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte PutSecretValuena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar remove-regions-from-replication.

AWS CLI

Para excluir uma réplica secreta

O exemplo de remove-regions-from-replication a seguir exclui um segredo de réplica em eu-west-3. Para excluir um segredo primário que está replicado em outras regiões, primeiro remova as réplicas e então chame delete-secret.

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

Saída:

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

Para obter mais informações, consulte Excluir uma réplica secreta no Guia do Usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar replicate-secret-to-regions.

AWS CLI

Para replicar um segredo para outra região

O exemplo de replicate-secret-to-regions a seguir replica um segredo para eu-west-3. A réplica é criptografada com a chave AWS aws/secretsmanager gerenciada.

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

Saída:

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

Para obter mais informações, consulte Replicar um segredo para outra região no Guia do Usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar restore-secret.

AWS CLI

Para restaurar um segredo excluído anteriormente

O exemplo de restore-secret a seguir restaura um segredo que estava previamente programado para exclusão.

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

Saída:

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

Para obter mais informações, consulte Excluir um segredo no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte RestoreSecretna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar rotate-secret.

AWS CLI

Exemplo 1: Para configurar e iniciar a rotação automática de um segredo

O rotate-secret exemplo a seguir configura e inicia a rotação automática de um segredo. O Secrets Manager gira o segredo uma vez imediatamente e depois a cada oito horas em uma janela de duas horas. A saída mostra a VersionId da nova versão secreta criada por rotação.

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

Saída:

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

Para obter mais informações, consulte Rotate secrets no Guia do Usuário do Secrets Manager.

Exemplo 2: Para configurar e iniciar a rotação automática em um intervalo de rotação

O rotate-secret exemplo a seguir configura e inicia a rotação automática de um segredo. O Secrets Manager alterna o segredo uma vez imediatamente e depois a cada 10 dias. A saída mostra a VersionId da nova versão secreta criada por rotação.

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

Saída:

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

Para obter mais informações, consulte Rotate secrets no Guia do Usuário do Secrets Manager.

Exemplo 3: Para girar um segredo imediatamente

O exemplo de rotate-secret a seguir inicia uma alternância imediata. A saída mostra a VersionId da nova versão secreta criada por rotação. O segredo já deve ter a alternância configurada.

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

Saída:

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

Para obter mais informações, consulte Rotate secrets no Guia do Usuário do Secrets Manager.

  • Para API obter detalhes, consulte RotateSecretna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar stop-replication-to-replica.

AWS CLI

Para promover uma réplica secreta para uma primária

O exemplo de stop-replication-to-replica a seguir remove o link entre um segredo de réplica e o primário. O segredo de réplica é promovido a um segredo primário na região da réplica. É necessário chamar stop-replication-to-replica diretamente da região da réplica.

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

Saída:

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

Para obter mais informações, consulte Promover uma réplica secreta no Guia do Usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar tag-resource.

AWS CLI

Exemplo 1: Para adicionar uma tag a um segredo

O exemplo de a seguir mostra como anexar um tag com uma sintaxe abreviada.

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

Este comando não produz saída.

Para obter mais informações, consulte Marcar seus segredos no Guia do Usuário do Secrets Manager.

Exemplo 2: Para adicionar várias tags a um segredo

O exemplo de tag-resource a seguir anexa duas tags de chave/valor a um segredo.

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

Este comando não produz saída.

Para obter mais informações, consulte Segredos de tags no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte TagResourcena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar untag-resource.

AWS CLI

Para remover tags de um segredo

O exemplo de untag-resource a seguir remove duas tags de um segredo. Para cada tag, tanto a chave quanto o valor são removidos.

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

Este comando não produz saída.

Para obter mais informações, consulte Segredos de tags no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte UntagResourcena Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar update-secret-version-stage.

AWS CLI

Exemplo 1: Para reverter um segredo para a versão anterior

O update-secret-version-stage exemplo a seguir move o rótulo AWS CURRENT de teste para a versão anterior de um segredo, o que reverte o segredo para a versão anterior. Para encontrar o ID da versão anterior, uselist-secret-version-ids. Neste exemplo, a versão com o rótulo é a1b2c3d4-5678-90ab-cdef- e a versão com o AWS CURRENT rótulo é a1b2c3d4-5678-90ab-cdef-. EXAMPLE11111 AWS PREVIOUS EXAMPLE22222 Neste exemplo, você move o AWS CURRENT rótulo da versão 11111 para 22222. Como o AWS CURRENT rótulo é removido de uma versão, move update-secret-version-stage automaticamente o AWS PREVIOUS rótulo para essa versão (11111). O efeito é que as AWS PREVIOUS versões AWS CURRENT e são trocadas.

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

Saída:

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

Para obter mais informações, consulte Versão no Guia do Usuário do Secrets Manager.

Exemplo 2: Para adicionar uma etiqueta de teste anexada a uma versão de um segredo

O update-secret-version-stage exemplo a seguir adiciona um rótulo de teste a uma versão de um segredo. Você pode revisar os resultados executando list-secret-version-ids e visualizando o campo de VersionStages resposta da versão afetada.

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

Saída:

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

Para obter mais informações, consulte Versão no Guia do Usuário do Secrets Manager.

Exemplo 3: Para excluir uma etiqueta de teste anexada a uma versão de um segredo

O update-secret-version-stage exemplo a seguir exclui um rótulo de teste anexado a uma versão de um segredo. Você pode revisar os resultados executando list-secret-version-ids e visualizando o campo de VersionStages resposta da versão afetada.

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

Saída:

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

Para obter mais informações, consulte Versão no Guia do Usuário do Secrets Manager.

O código de exemplo a seguir mostra como usar update-secret.

AWS CLI

Exemplo 1: como atualizar a descrição de um segredo

O exemplo de update-secret a seguir retorna a descrição de um segredo.

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

Saída:

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

Para obter mais informações, consulte Modificar um segredo no Guia do usuário do Secrets Manager.

Exemplo 2: como atualizar a chave de criptografia associada a um segredo

O update-secret exemplo a seguir atualiza a KMS chave usada para criptografar o valor secreto. A KMS chave deve estar na mesma região do segredo.

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

Saída:

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

Para obter mais informações, consulte Modificar um segredo no Guia do usuário do Secrets Manager.

  • Para API obter detalhes, consulte UpdateSecretna Referência de AWS CLI Comandos.

O código de exemplo a seguir mostra como usar validate-resource-policy.

AWS CLI

Para validar uma política de recursos

O validate-resource-policy exemplo a seguir verifica se uma política de recursos não concede amplo acesso a um segredo. A política é lida de um arquivo no disco. Para obter mais informações, consulte Carregando AWS CLI parâmetros de um arquivo no Guia AWS CLI do usuário.

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

Conteúdo de mypolicy.json:

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

Saída:

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

Para obter mais informações, consulte Referência de permissões para o Secrets Manager no Guia do usuário do Secrets Manager.