Ejemplos de Secrets Manager usando AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Secrets Manager usando AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante Secrets Manager.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar batch-get-secret-value.

AWS CLI

Ejemplo 1: Para recuperar el valor secreto de un grupo de secretos enumerados por nombre

En el siguiente batch-get-secret-value ejemplo, se obtienen los valores secretos de tres secretos.

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

Salida:

{ "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 obtener más información, consulte Recuperar un grupo de secretos en un lote en la Guía del usuario de AWS Secrets Manager.

Ejemplo 2: Para recuperar el valor secreto de un grupo de secretos seleccionado por el filtro

En el siguiente batch-get-secret-value ejemplo, se obtienen los valores secretos de tu cuenta que figuran MySecret en el nombre. El filtrado por nombres distingue entre mayúsculas y minúsculas.

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

Salida:

{ "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 obtener más información, consulte Recuperar un grupo de secretos en un lote en la Guía del usuario de AWS Secrets Manager.

  • Para API obtener más información, consulte BatchGetSecretValuela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar cancel-rotate-secret.

AWS CLI

Para desactivar la rotación automática de un secreto

En el siguiente cancel-rotate-secret ejemplo, se desactiva la rotación automática de un secreto. Para reanudar la rotación, llamarotate-secret.

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

Salida:

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

Para obtener más información, consulte Rotar un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte CancelRotateSecretla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-secret.

AWS CLI

Ejemplo 1: Para crear un secreto a partir de las credenciales de un JSON archivo

En el siguiente ejemplo de create-secret, se crea un secreto a partir de las credenciales de un archivo. Para obtener más información, consulte Carga de AWS CLI parámetros de un archivo en la Guía del AWS CLI usuario.

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

Contenidos de mycreds.json:

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

Salida:

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

Para obtener más información, consulte Creación de un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 2: Para crear un secreto

En el siguiente ejemplo de create-secret se crea un secreto con dos pares clave-valor. Cuando utiliza ingresa comandos en un shell de comandos, existe el riesgo de que se acceda al historial de comandos o de que las utilidades tengan acceso a sus parámetros de comando. Esto es preocupante si el comando incluye el valor de un secreto. Para obtener más información, consulte Mitigar los riesgos de usar herramientas de línea de comandos para almacenar secretos en la Guía del usuario de Secrets Manager.

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

Salida:

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

Para obtener más información, consulte Creación de un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte la Referencia CreateSecretde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-resource-policy.

AWS CLI

Para eliminar la política basada en recursos adjunta a un secreto

En el siguiente ejemplo de delete-resource-policy se elimina la política basada en recursos asociada a un secreto.

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

Salida:

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

Para obtener más información, consulte Autenticación y control de acceso en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte DeleteResourcePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-secret.

AWS CLI

Ejemplo 1: Eliminación de un secreto

En el siguiente ejemplo de delete-secret se elimina un secreto. Se puede recuperar el secreto con restore-secret hasta la fecha y hora del campo de respuesta DeletionDate. Para eliminar un secreto que se replica en otras regiones, primero elimine sus réplicas con remove-regions-from-replication y, a continuación, llame a delete-secret.

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

Salida:

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

Para obtener más información, consulte Eliminación de un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 2: Eliminación de un secreto inmediatamente

En el siguiente ejemplo de delete-secret se elimina un secreto inmediatamente sin periodo de recuperación. Este secreto no se puede recuperar.

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

Salida:

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

Para obtener más información, consulte Eliminación de un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte DeleteSecretla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-secret.

AWS CLI

Recuperación de los detalles de un secreto

En el siguiente ejemplo describe-secret, se muestran detalles de un secreto.

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

Salida:

{ "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 obtener más información, consulte Secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte DescribeSecretla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-random-password.

AWS CLI

Para generar una contraseña aleatoria

El siguiente get-random-password ejemplo genera una contraseña aleatoria de 20 caracteres que incluye al menos una letra mayúscula, una letra minúscula, un número y un signo de puntuación.

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

Salida:

{ "RandomPassword": "EXAMPLE-PASSWORD" }

Para obtener más información, consulte Crear y administrar secretos en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte GetRandomPasswordla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-resource-policy.

AWS CLI

Para recuperar la política basada en recursos adjunta a un secreto

En el siguiente ejemplo de get-resource-policy se recupera la política basada en recursos asociada a un secreto.

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

Salida:

{ "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 obtener más información, consulte Autenticación y control de acceso en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte GetResourcePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-secret-value.

AWS CLI

Ejemplo 1: Recuperación del valor de secreto cifrado de un secreto

El siguiente ejemplo de get-secret-value obtiene el valor de secreto actual.

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

Salida:

{ "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 obtener más información, consulte Recuperación de un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 2: Recuperación del valor de secreto anterior

El siguiente ejemplo de get-secret-value obtiene el valor de secreto anterior:

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

Salida:

{ "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 obtener más información, consulte Recuperación de un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte GetSecretValuela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-secret-version-ids.

AWS CLI

Para enumerar todas las versiones secretas asociadas a un secreto

En el list-secret-version-ids ejemplo siguiente se obtiene una lista de todas las versiones de un secreto.

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

Salida:

{ "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 obtener más información, consulte la versión en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte ListSecretVersionIdsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-secrets.

AWS CLI

Ejemplo 1: Creación de una lista de los secretos de la cuenta

En el siguiente ejemplo de list-secrets se obtiene una lista de los secretos de la cuenta.

aws secretsmanager list-secrets

Salida:

{ "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 obtener más información acerca de Secrets Manager, consulte Encontrar un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 2: Filtrado de la lista de secretos de la cuenta

En el siguiente ejemplo de list-secrets se obtiene una lista de los secretos de la cuenta que incluyen Test en su nombre. El filtrado por nombres distingue entre mayúsculas y minúsculas.

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

Salida:

{ "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 obtener más información acerca de Secrets Manager, consulte Encontrar un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 3: Creación de una lista de los secretos de su cuenta administrada por otro servicio

En el siguiente list-secrets ejemplo, se muestran los secretos de tu cuenta gestionados por AmazonRDS.

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

Salida:

{ "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 obtener más información, consulte Secretos gestionados por otros servicios en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte ListSecretsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-resource-policy.

AWS CLI

Para añadir una política basada en recursos a un secreto

En el siguiente ejemplo de put-resource-policy se agrega una política de permisos a un secreto, pero primero se comprueba que la política no proporciona un acceso amplio al secreto. La política se lee desde un archivo. Para obtener más información, consulte Carga de AWS CLI parámetros desde un archivo en la Guía del AWS CLIusuario.

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

Contenidos de mypolicy.json:

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

Salida:

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

Para obtener más información, consulte Adjuntar una política de permisos a un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte PutResourcePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-secret-value.

AWS CLI

Ejemplo 1: Almacenamiento de un nuevo valor de secreto en un secreto

En el siguiente ejemplo de put-secret-value se crea una nueva versión de un secreto con dos pares clave-valor.

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

Salida:

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

Para obtener más información, consulte Modificación de un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 2: Para almacenar un nuevo valor secreto de las credenciales en un JSON archivo

En el siguiente ejemplo de put-secret-value se crea una nueva versión de un secreto a partir de las credenciales de un archivo. Para obtener más información, consulte Carga de AWS CLI parámetros de un archivo en la Guía del AWS CLI usuario.

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

Contenidos de mycreds.json:

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

Salida:

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

Para obtener más información, consulte Modificación de un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte PutSecretValuela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar remove-regions-from-replication.

AWS CLI

Para eliminar un secreto de réplica

En el siguiente ejemplo de remove-regions-from-replication se elimina un secreto de réplica de eu-west-3. Para eliminar un secreto principal que se replica en otras regiones, primero elimine las réplicas y, a continuación, llame a delete-secret.

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

Salida:

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

Para obtener más información, consulte Eliminar un secreto de réplica en la Guía del usuario de Secrets Manager.

En el siguiente ejemplo de código se muestra cómo usar replicate-secret-to-regions.

AWS CLI

Para replicar un secreto en otra región

En el siguiente ejemplo de replicate-secret-to-regions se replica un secreto en eu-west-3. La réplica se cifra con la clave AWS gestionadaaws/secretsmanager.

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

Salida:

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

Para obtener más información, consulte Replicar un secreto en otra región en la Guía del usuario de Secrets Manager.

En el siguiente ejemplo de código se muestra cómo usar restore-secret.

AWS CLI

Para restaurar un secreto previamente borrado

En el siguiente ejemplo de restore-secret se restaura un secreto cuya eliminación se había programado previamente.

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

Salida:

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

Para obtener más información, consulte Eliminación de un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte RestoreSecretla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar rotate-secret.

AWS CLI

Ejemplo 1: Para configurar e iniciar la rotación automática de un secreto

El siguiente rotate-secret ejemplo configura e inicia la rotación automática de un secreto. Secrets Manager cambia el secreto una vez de forma inmediata y, después, cada ocho horas en un período de dos horas. El resultado muestra VersionId la nueva versión secreta creada por rotación.

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

Salida:

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

Para obtener más información, consulte Rotar secretos en la Guía del usuario de Secrets Manager.

Ejemplo 2: Para configurar e iniciar la rotación automática en un intervalo de rotación

El siguiente rotate-secret ejemplo configura e inicia la rotación automática de un secreto. Secrets Manager cambia el secreto una vez inmediatamente y luego cada 10 días. El resultado muestra VersionId la nueva versión secreta creada por rotación.

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

Salida:

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

Para obtener más información, consulte Rotar secretos en la Guía del usuario de Secrets Manager.

Ejemplo 3: Para rotar un secreto de forma inmediata

En el siguiente ejemplo de rotate-secret se inicia una rotación inmediata. El resultado muestra VersionId la nueva versión secreta creada por rotación. El secreto ya debe tener configurada la rotación.

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

Salida:

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

Para obtener más información, consulte Rotar secretos en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte RotateSecretla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar stop-replication-to-replica.

AWS CLI

Para convertir un secreto de réplica en uno principal

En el siguiente ejemplo de stop-replication-to-replica, se elimina el enlace entre un secreto de réplica y el principal. El secreto de réplica se promociona a secreto principal en la región de réplica. Debe llamar a stop-replication-to-replica desde la región de réplica.

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

Salida:

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

Para obtener más información, consulte Promocionar un secreto de réplica en la Guía del usuario de Secrets Manager.

En el siguiente ejemplo de código se muestra cómo usar tag-resource.

AWS CLI

Ejemplo 1: Para añadir una etiqueta a un secreto

En el siguiente ejemplo de se muestra cómo asociar una etiqueta con sintaxis abreviada.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquetar sus secretos en la Guía del usuario de Secrets Manager.

Ejemplo 2: Para añadir varias etiquetas a un secreto

En el siguiente ejemplo de tag-resource se asocian dos etiquetas de clave-valor a un secreto.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquetar secretos en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte TagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar untag-resource.

AWS CLI

Para eliminar etiquetas de un secreto

En el siguiente ejemplo de untag-resource se eliminan dos etiquetas de un secreto. Se eliminan tanto la clave como el valor de cada etiqueta.

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

Este comando no genera ninguna salida.

Para obtener más información, consulte Etiquetar secretos en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte UntagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-secret-version-stage.

AWS CLI

Ejemplo 1: Para revertir un secreto a la versión anterior

En el siguiente update-secret-version-stage ejemplo, se mueve AWS CURRENT la etiqueta provisional a la versión anterior de un secreto, lo que revierte el secreto a la versión anterior. Para encontrar el ID de la versión anterior, utilice. list-secret-version-ids Para este ejemplo, la versión con la etiqueta es a1b2c3d4-5678-90ab-cdef- y la versión con la AWS CURRENT etiqueta es a1b2c3d4-5678-90ab-cdef-. EXAMPLE11111 AWS PREVIOUS EXAMPLE22222 En este ejemplo, mueves AWS CURRENT la etiqueta de la versión 11111 a la 22222. Como la AWS CURRENT etiqueta se ha eliminado de una versión, la AWS PREVIOUS mueve update-secret-version-stage automáticamente a esa versión (11111). El efecto es que las AWS PREVIOUS versiones AWS CURRENT y se intercambian.

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

Salida:

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

Para obtener más información, consulte la versión en la Guía del usuario de Secrets Manager.

Ejemplo 2: Para añadir una etiqueta provisional adjunta a una versión de un secreto

En el siguiente update-secret-version-stage ejemplo, se agrega una etiqueta provisional a una versión de un secreto. Para revisar los resultados, ejecute list-secret-version-ids y visualice el campo de VersionStages respuesta de la versión afectada.

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

Salida:

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

Para obtener más información, consulte la versión en la Guía del usuario de Secrets Manager.

Ejemplo 3: Para eliminar una etiqueta provisional adjunta a una versión de un secreto

En el siguiente update-secret-version-stage ejemplo, se elimina una etiqueta provisional adjunta a una versión de un secreto. Para revisar los resultados, ejecute list-secret-version-ids y visualice el campo de VersionStages respuesta de la versión afectada.

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

Salida:

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

Para obtener más información, consulte la versión en la Guía del usuario de Secrets Manager.

En el siguiente ejemplo de código se muestra cómo usar update-secret.

AWS CLI

Ejemplo 1: Actualización de la descripción de un secreto

En el siguiente ejemplo de update-secret se actualiza la descripción de un secreto.

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

Salida:

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

Para obtener más información, consulte Modificación de un secreto en la Guía del usuario de Secrets Manager.

Ejemplo 2: Actualización de la clave de cifrado asociada a un secreto

En el siguiente update-secret ejemplo, se actualiza la KMS clave utilizada para cifrar el valor secreto. La KMS clave debe estar en la misma región que el secreto.

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

Salida:

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

Para obtener más información, consulte Modificación de un secreto en la Guía del usuario de Secrets Manager.

  • Para API obtener más información, consulte UpdateSecretla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar validate-resource-policy.

AWS CLI

Para validar una política de recursos

El siguiente validate-resource-policy ejemplo comprueba que una política de recursos no concede un acceso amplio a un secreto. La política se lee desde un archivo del disco. Para obtener más información, consulte Carga de AWS CLI parámetros desde un archivo en la Guía del AWS CLI usuario.

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

Contenidos de mypolicy.json:

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

Salida:

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

Para obtener más información, consulte la referencia de permisos para Secrets Manager en la Guía del usuario de Secrets Manager.