En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con 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 distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar batch-get-secret-value
.
- AWS CLI
-
Ejemplo 1: recuperación del valor del secreto para un grupo de secretos enumerados por nombre
En el siguiente ejemplo de
batch-get-secret-value
, se obtienen los valores 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 Retrieve a group of secrets in a batch en la Guía del usuario de AWS Secrets Manager.
Ejemplo 2: recuperación del valor del secreto para un grupo de secretos seleccionado por el filtro
En el siguiente ejemplo de
batch-get-secret-value
, se obtienen los valores de los secretos de la cuenta que incluyenMySecret
en su 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 Retrieve a group of secrets in a batch en la Guía del usuario de AWS Secrets Manager.
-
Para obtener detalles sobre la API, consulte BatchGetSecretValue
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar cancel-rotate-secret
.
- AWS CLI
-
Para desactivar la rotación automática de su secreto
En el siguiente ejemplo de
cancel-rotate-secret
, se desactiva la rotación automática de un secreto. Para reanudar la rotación, llame arotate-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 acerca de Secrets Manager, consulte Rotate a secret en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte CancelRotateSecret
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-secret
.
- AWS CLI
-
Ejemplo 1: creación de un secreto a partir de credenciales de un archivo JSON
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 parámetros de AWS CLI desde un archivo en la Guía del usuario de AWS CLI.aws secretsmanager create-secret \ --name
MyTestSecret
\ --secret-stringfile://mycreds.json
Contenido 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: creación de 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 puede ser preocupante si el comando incluye el valor de un secreto. Para obtener más información, consulte Mitigate the risks of using command-line tools to store secrets 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 obtener información sobre la API, consulte CreateSecret
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-resource-policy
.
- AWS CLI
-
Para eliminar la política basada en recursos asociada 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 Authentication and access control en la Guía del usuario de Secrets Manager.
-
Para obtener detalles sobre la API, consulte DeleteResourcePolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 conrestore-secret
hasta la fecha y hora del campo de respuestaDeletionDate
. Para eliminar un secreto que se replica en otras regiones, primero elimine sus réplicas conremove-regions-from-replication
y, a continuación, llame adelete-secret
.aws secretsmanager delete-secret \ --secret-id
MyTestSecret
\ --recovery-window-in-days7
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-recoverySalida:
{ "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 obtener información sobre la API, consulte DeleteSecret
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 obtener información sobre la API, consulte DescribeSecret
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-random-password
.
- AWS CLI
-
Para generar una contraseña aleatoria
En el siguiente ejemplo de
get-random-password
, se genera una contraseña aleatoria de 20 caracteres que incluye al menos una letra mayúscula, una 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 Create and manage secrets en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte GetRandomPassword
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-resource-policy
.
- AWS CLI
-
Para recuperar la política basada en recursos asociada 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 Authentication and access control en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte GetResourcePolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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-stageAWSPREVIOUS
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 obtener información sobre la API, consulte GetSecretValue
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-secret-version-ids
.
- AWS CLI
-
Para enumerar todas las versiones de secreto asociadas a un secreto
En el siguiente ejemplo de
list-secret-version-ids
, 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 Version en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte ListSecretVersionIds
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 incluyenTest
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
El siguiente ejemplo
list-secrets
devuelve los secretos de su cuenta administrados por Amazon RDS.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 obtener información sobre la API, consulte ListSecrets
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 parámetros de AWS CLI desde un archivo en la Guía del usuario de AWS CLI.aws secretsmanager put-resource-policy \ --secret-id
MyTestSecret
\ --resource-policyfile://mypolicy.json
\ --block-public-policyContenido 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 Attach a permissions policy to a secret en la Guía del usuario de Secrets Manager.
-
Para obtener detalles sobre la API, consulte PutResourcePolicy
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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: Almacenamiento de un nuevo valor de secreto a partir de credenciales de un archivo JSON
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 parámetros de AWS CLI desde un archivo en la Guía del usuario de AWS CLI.aws secretsmanager put-secret-value \ --secret-id
MyTestSecret
\ --secret-stringfile://mycreds.json
Contenido 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 obtener información acerca de la API, consulte PutSecretValue
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 adelete-secret
.aws secretsmanager remove-regions-from-replication \ --secret-id
MyTestSecret
\ --remove-replica-regionseu-west-3
Salida:
{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-1a2b3c", "ReplicationStatus": [] }
Para obtener más información, consulte Delete a replica secret en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte RemoveRegionsFromReplication
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 claveaws/secretsmanager
administrada por AWS.aws secretsmanager replicate-secret-to-regions \ --secret-id
MyTestSecret
\ --add-replica-regionsRegion=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 Replicate a secret to another Region en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte ReplicateSecretToRegions
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar restore-secret
.
- AWS CLI
-
Para restaurar un secreto eliminado previamente
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 obtener información sobre la API, consulte RestoreSecret
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar rotate-secret
.
- AWS CLI
-
Ejemplo 1: configuración e inicio de la rotación automática de un secreto
En el siguiente ejemplo de
rotate-secret
, se configura e inicia la rotación automática de un secreto. Secrets Manager rota el secreto una vez de forma inmediata y, a continuación, cada ocho horas en un intervalo de dos horas. El resultado muestra el valor deVersionId
de la nueva versión del secreto creada por la rotación.aws secretsmanager rotate-secret \ --secret-id
MyTestDatabaseSecret
\ --rotation-lambda-arnarn: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 Rotate secrets en la Guía del usuario de Secrets Manager.
Ejemplo 2: configuración e inicio de la rotación automática en un intervalo de rotación
En el siguiente ejemplo de
rotate-secret
, se configura e inicia la rotación automática de un secreto. Secrets Manager rota el secreto una vez de forma inmediata y, a continuación, cada diez días. El resultado muestra el valor deVersionId
de la nueva versión del secreto creada por la rotación.aws secretsmanager rotate-secret \ --secret-id
MyTestDatabaseSecret
\ --rotation-lambda-arnarn: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 Rotate secrets en la Guía del usuario de Secrets Manager.
Ejemplo 3: rotación de un secreto inmediatamente
En el siguiente ejemplo de
rotate-secret
se inicia una rotación inmediata. El resultado muestra el valor deVersionId
de la nueva versión del secreto creada por la 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 Rotate secrets en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte RotateSecret
en la Referencia de comandos de AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar stop-replication-to-replica
.
- AWS CLI
-
Para promocionar un secreto de réplica en el 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 astop-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 Promote a replica secret en la Guía del usuario de Secrets Manager.
-
Para obtener detalles sobre la API, consulte StopReplicationToReplica
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource
.
- AWS CLI
-
Ejemplo 1: adición de 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
\ --tagsKey=FirstTag,Value=FirstValue
Este comando no genera ninguna salida.
Para obtener más información, consulte Tag your secrets en la Guía del usuario de Secrets Manager.
Ejemplo 2: adición de 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 Tag secrets en la Guía del usuario de Secrets Manager.
-
Para ver los detalles de la API, consulte TagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 Tag secrets en la Guía del usuario de Secrets Manager.
-
Para ver los detalles de la API, consulte UntagResource
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-secret-version-stage
.
- AWS CLI
-
Ejemplo 1: reversión de un secreto a la versión anterior
En el siguiente ejemplo de
update-secret-version-stage
, se mueve la etiqueta de preparación AWSCURRENT a la versión anterior de un secreto, lo que revierte el secreto a la versión anterior. Para buscar el ID de la versión anterior, utilicelist-secret-version-ids
. Para este ejemplo, la versión con la etiqueta AWSCURRENT es a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 y la versión con la etiqueta AWSPREVIOUS es a1b2c3d4-5678-90ab-cdef-EXAMPLE22222. En este ejemplo, traslada la etiqueta AWSCURRENT de la versión 11111 a la 22222. Como la etiqueta AWSCURRENT se ha eliminado de una versión,update-secret-version-stage
mueve automáticamente la etiqueta AWSPREVIOUS a esa versión (11111). El efecto es que las versiones AWSCURRENT y AWSPREVIOUS se intercambian.aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --version-stageAWSCURRENT
\ --move-to-version-ida1b2c3d4-5678-90ab-cdef-EXAMPLE22222
\ --remove-from-version-ida1b2c3d4-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 Version en la Guía del usuario de Secrets Manager.
Ejemplo 2: adición de una etiqueta de preparación asociada a una versión de un secreto
En el siguiente ejemplo de
update-secret-version-stage
, se agrega una etiqueta de preparación a una versión de un secreto. Para revisar los resultados, ejecutelist-secret-version-ids
y visualice el campo de respuestaVersionStages
de la versión afectada.aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --version-stageSTAGINGLABEL1
\ --move-to-version-idEXAMPLE1-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 Version en la Guía del usuario de Secrets Manager.
Ejemplo 3: eliminación de una etiqueta de preparación asociada a una versión de un secreto
En el siguiente ejemplo de
update-secret-version-stage
, se elimina una etiqueta de preparación asociada a una versión de un secreto. Para revisar los resultados, ejecutelist-secret-version-ids
y visualice el campo de respuestaVersionStages
de la versión afectada.aws secretsmanager update-secret-version-stage \ --secret-id
MyTestSecret
\ --version-stageSTAGINGLABEL1
\ --remove-from-version-ida1b2c3d4-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 Version en la Guía del usuario de Secrets Manager.
-
Para obtener información sobre la API, consulte UpdateSecretVersionStage
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar 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 ejemplo de
update-secret
se actualiza la clave de KMS utilizada para cifrar el valor de secreto. La clave de KMS debe estar en la misma región que el secreto.aws secretsmanager update-secret \ --secret-id
MyTestSecret
\ --kms-key-idarn: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 obtener información sobre la API, consulte UpdateSecret
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar validate-resource-policy
.
- AWS CLI
-
Para validar una política de recursos
En el siguiente ejemplo de
validate-resource-policy
, se comprueba que una política de recursos no conceda un acceso amplio a un secreto. La política se lee desde un archivo en el disco. Para obtener más información, consulte Carga de parámetros de AWS CLI desde un archivo en la Guía del usuario de AWS CLI.aws secretsmanager validate-resource-policy \ --resource-policy
file://mypolicy.json
Contenido 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 Permissions reference for Secrets Manager en la Guía del usuario de Secrets Manager.
-
Para obtener detalles de la API, consulte ValidateResourcePolicy
en la Referencia de comandos de la AWS CLI.
-