aws secrets manager...aws secrets manager guía del usuario características de secrets manager 1.el...

194
AWS Secrets Manager Guía del usuario

Upload: others

Post on 12-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets ManagerGuía del usuario

Page 2: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

AWS Secrets Manager: Guía del usuarioCopyright © 2020 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.

Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's,in any manner that is likely to cause confusion among customers, or in any manner that disparages or discreditsAmazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may notbe affiliated with, connected to, or sponsored by Amazon.

Page 3: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Table of Contents¿Qué es AWS Secrets Manager? ......................................................................................................... 1

Introducción a Secrets Manager ................................................................................................... 1Escenario básico de Secrets Manager ........................................................................................... 1Características de Secrets Manager .............................................................................................. 2

Recuperación mediante programación de valores de secretos cifrados en tiempo de ejecución ........ 2Almacenamiento de distintos tipos de secretos ....................................................................... 3Cifrado de sus datos secretos .............................................................................................. 3Rotación automática de sus secretos .................................................................................... 4Controlar el acceso a los secretos ........................................................................................ 5

Conformidad con los estándares ................................................................................................... 5Acceso a Secrets Manager .......................................................................................................... 6Precios de Secrets Manager ........................................................................................................ 7

AWS KMS – Claves de cifrado del cliente .............................................................................. 7Registro de AWS CloudTrail– almacenamiento y notificación ..................................................... 7

Soporte y comentarios para AWS Secrets Manager ......................................................................... 7Introducción ....................................................................................................................................... 9

Términos y conceptos ................................................................................................................. 9secreta .............................................................................................................................. 9Servicio protegido ............................................................................................................. 11Rotation ........................................................................................................................... 11Etiquetas provisionales ...................................................................................................... 12Control de versiones ......................................................................................................... 12

Tutoriales ................................................................................................................................. 13Tutorial: Creación y recuperación de un secreto .................................................................... 13Tutorial: Rotación de un secreto para una base de datos de AWS ............................................ 16Tutorial: Rotación de un secreto de usuario con un secreto maestro ......................................... 22

Prácticas recomendadas de ............................................................................................................... 26Protección de la información confidencial adicional ........................................................................ 26Mejorar del rendimiento mediante el uso de los componentes de almacenamiento en caché del ladodel cliente proporcionados por AWS ............................................................................................ 27Reducir los riesgos de registro y depuración de la función Lambda ................................................... 27Reducir los riesgos de usar la CLI de AWS para guardar secretos ................................................... 27Acceso entre cuentas: ¿se debe especificar un usuario/rol o la cuenta? ............................................ 29Ejecución de todo en una VPC ................................................................................................... 30Etiquetar los secretos ................................................................................................................ 30Rotación de secretos en una programación .................................................................................. 31Auditoría del acceso a los secretos ............................................................................................. 31Monitorización de sus secretos con AWS Config ........................................................................... 31

Autenticación y control de acceso de AWS Secrets Manager ................................................................... 32.............................................................................................................................................. 32

Información general ................................................................................................................... 32Autenticación .................................................................................................................... 33Control de acceso y autorización ........................................................................................ 34

Uso de políticas basadas en identidad (políticas de IAM) para Secrets Manager ................................. 41Política administrada de AWS para Secrets Manager ............................................................. 42Concesión de permisos de administrador de secretos completos a un usuario ............................ 42Concesión de acceso de lectura a un secreto ....................................................................... 43Limitación de acceso a acciones específicas ......................................................................... 43Limitación de acceso a secretos específicos ......................................................................... 44Limitación de acceso a secretos con etiquetas de ensayo específicas ....................................... 45Concesión de un permiso de función de rotación para obtener a un secreto maestroindependiente ................................................................................................................... 46

Uso de políticas basadas en recursos para Secrets Manager .......................................................... 47Control del acceso a secretos para entidades principales ........................................................ 48

iii

Page 4: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Concesión de acceso de solo lectura a un rol ....................................................................... 48Determinar el acceso a un secreto .............................................................................................. 49

Descripción de evaluación de políticas ................................................................................. 49Examen de la política de recursos ....................................................................................... 50Examen de las políticas de IAM .......................................................................................... 51

Creación y administración de secretos ................................................................................................. 53Creación de un secreto básico ................................................................................................... 53Modificación de un secreto ......................................................................................................... 57Recuperación del valor del secreto .............................................................................................. 62

Uso de los componentes de almacenamiento en caché del lado cliente desarrollados por AWSen código abierto .............................................................................................................. 63

Búsqueda de secretos ............................................................................................................... 64Eliminación y restauración de un secreto ...................................................................................... 66Administración de una política basada en recursos para un secreto .................................................. 71

Asociar una política basada en recursos a un secreto ............................................................ 71Recuperación de una política basada en recursos a partir de un secreto .................................... 72Eliminación de una política basada en recursos a partir de un secreto ....................................... 73

Rotación de secretos ......................................................................................................................... 74Permisos necesarios para rotar automáticamente los secretos ......................................................... 74

Permisos de usuarios que configuran la rotación y usuarios que activan la rotación ..................... 74Permisos asociados con la función de rotación de Lambda ..................................................... 75

Configuración de la red para admitir la rotación de secretos ............................................................ 77Rotación de secretos Amazon RDS ............................................................................................. 78

Habilitar la rotación de un secreto de base de datos de Amazon RDS ....................................... 80Personalización de la función de rotación de Lambda proporcionada por Secrets Manager ............ 85

Rotación de secretos de Amazon Redshift .................................................................................... 87Habilitar la rotación para un secreto de Amazon Redshift ........................................................ 88

Rotación de secretos de Amazon DocumentDB ............................................................................. 95Habilitar la rotación para un secreto de Amazon DocumentDB ................................................. 96

Rotación de otros secretos ....................................................................................................... 102Rotación de otros secretos ............................................................................................... 103Habilitación de la rotación para un secreto para otra base de datos o servicio ........................... 106

Descripción y personalización de la función de rotación de Lambda ................................................ 108Información general de la función de rotación Lambda .......................................................... 109Rotación de secretos - Un usuario, una contraseña .............................................................. 112Rotación de secretos: cambio de un usuario existente a otro ................................................. 116Rotación de secretos - Solo contraseñas ............................................................................ 119

Eliminación de funciones de rotación ......................................................................................... 122Uso de Secrets Manager con puntos de enlace de la VPC .................................................................... 126

Conectar con Secrets Manager a través de un punto de conexión de la VPC .................................... 126Crear un punto de enlace privado de VPC de Secrets Manager ..................................................... 127Conexión con un punto de enlace privado de la VPC de Secrets Manager ....................................... 129Utilizar un punto de enlace privado de la VPC en una declaración de política .................................... 130Creación de una política de punto de enlace para el punto de enlace de la VPC de Secrets Manager .... 132Auditar el uso de su punto de enlace de la VPC de Secrets Manager .............................................. 133

Monitorización de sus secretos ......................................................................................................... 134Registro de llamadas a la API de AWS Secrets Manager con AWS CloudTrail .................................. 134

Registro de eventos AWS Secrets Manager que no son API .................................................. 134Información de Secrets Manager en CloudTrail .................................................................... 135Recuperación de entradas de archivos de registro de Secrets Manager ................................... 135Descripción de las entradas de archivos de registro de Secrets Manager ................................. 136

Amazon CloudWatch Events ..................................................................................................... 138Monitorización de versiones de secretos programadas para su eliminación ............................... 138

Trabajar con otros servicios .............................................................................................................. 141Automatización de la creación de secretos con AWS CloudFormation ............................................. 141Monitorización de sus secretos con AWS Config .......................................................................... 141Protección de secretos con AWS Identity and Access Management (IAM) ........................................ 142

iv

Page 5: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Monitoreo de sus secretos con AWS CloudTrail y Amazon CloudWatch ........................................... 142Cifrado de los secretos con AWS KMS ...................................................................................... 142Recuperación de los secretos con las API del Almacén de parámetros ............................................ 143Integración de Secrets Manager con Amazon Elastic Container Service ........................................... 143Integración de Secrets Manager con AWS Fargate ...................................................................... 143Integración de Secrets Manager con AWS IoT Greengrass ............................................................ 144Administración de credenciales de repositorio de Amazon SageMaker con Secrets Manager ............... 144Almacenamiento de credenciales de registro de AWS CodeBuild con Secrets Manager ...................... 145Almacenamiento de credenciales de registro de Amazon EMR con Secrets Manager ......................... 145Automatización de la creación de secretos en AWS CloudFormation ............................................... 145

Ejemplos ........................................................................................................................ 146Monitorear secretos de Secrets Manager mediante AWS Config ..................................................... 152

Beneficios del seguimiento de secretos con AWS Config ....................................................... 152Reglas de AWS Config admitidas en Secrets Manager ......................................................... 153Implementación de prácticas recomendadas de administración de secretos mediante AWSConfig ............................................................................................................................ 153Configuración de reglas Secrets Manager de AWS Config ..................................................... 153Configuración del agregador de datos de varias cuentas y regiones de AWS Config paraprácticas recomendadas de Secrets Management ................................................................ 154

Seguridad en AWS Secrets Manager ................................................................................................. 156Protección de datos en AWS Secrets Manager ............................................................................ 156

Cifrado en reposo ........................................................................................................... 156Cifrado en tránsito ........................................................................................................... 157Administración de claves de cifrado ................................................................................... 157Privacidad del tráfico entre redes ...................................................................................... 157

Seguridad de la infraestructura .................................................................................................. 157Resiliencia .............................................................................................................................. 158Validación de la conformidad .................................................................................................... 158

Referencia de AWS Secrets Manager ................................................................................................ 160Cuotas para AWS Secrets Manager ........................................................................................... 160

Restricciones a los nombres ............................................................................................. 160Cuotas máximas ............................................................................................................. 160Cuotas de tarifas ............................................................................................................. 161

Plantillas de función de rotación ................................................................................................ 161Plantillas para bases de datos de Amazon RDS .................................................................. 162Plantillas para otras bases de datos .................................................................................. 167Plantillas para otros servicios ............................................................................................ 169

Políticas administradas ............................................................................................................. 169Acciones, recursos y claves de contexto ..................................................................................... 170

Actions .......................................................................................................................... 170Recursos ....................................................................................................................... 173Claves de contexto .......................................................................................................... 173

Solución de problemas de AWS Secrets Manager ................................................................................ 177Solución de problemas generales .............................................................................................. 177

Aparece un mensaje de "acceso denegado" al enviar una solicitud a AWS Secrets Manager ........ 177Recibo un mensaje de "acceso denegado" cuando envío una solicitud con credenciales deseguridad temporales. ...................................................................................................... 177Los cambios que realizo no están siempre visibles inmediatamente. ........................................ 178Recibo un mensaje “no se puede generar una clave de datos con una CMK asimétrica” al crearun secreto. ..................................................................................................................... 178

Solución de problemas de rotación ............................................................................................ 179Deseo encontrar los registros de diagnóstico para mi función de rotación Lambda. .................... 179No puedo predecir cuándo comenzará la rotación ................................................................ 179Aparece un mensaje de "acceso denegado" al intentar configurar la rotación para mi secreto ....... 180Se produce un error en la rotación después de habilitarla ...................................................... 180Se ha producido un error en la rotación porque el valor del secreto no tiene el formato queespera la función de rotación. ........................................................................................... 180

v

Page 6: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Secrets Manager indica que he configurado correctamente la rotación, pero la contraseña no rota 181Se produce un error en la rotación y se muestra el mensaje "Error interno" ............................... 181CloudTrail muestra errores de acceso denegado durante la rotación ....................................... 181

Realizar solicitudes de consulta HTTP ............................................................................................... 183Puntos de enlace .................................................................................................................... 183HTTPS obligatorio ................................................................................................................... 183Firma de solicitudes de la API para Secrets Manager ................................................................... 184

Historial de revisión ......................................................................................................................... 185AWS glossary ................................................................................................................................. 188

vi

Page 7: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioIntroducción a Secrets Manager

¿Qué es AWS Secrets Manager?AWS proporciona el servicio AWS Secrets Manager para facilitar la administración de los secretos. Lossecretos pueden ser credenciales de base de datos, contraseñas, claves de API de terceros e incluso textoarbitrario. Puede almacenar y controlar el acceso a estos secretos de forma centralizada a través de laconsola de Secrets Manager, la interfaz de línea de comandos (CLI) de Secrets Manager y la API y losSDK de Secrets Manager.

En el pasado, cuando creaba una aplicación personalizada para recuperar información desde una basede datos, normalmente tenía que incrustar las credenciales, el secreto, para acceder a la base de datosdirectamente en la aplicación. Cuando llegaba el momento de rotar las credenciales, tenía que hacermucho más que simplemente crear nuevas credenciales. Tenía que invertir tiempo en actualizar laaplicación para usar las nuevas credenciales. Luego distribuía la aplicación actualizada. Si tenía variasaplicaciones que compartían credenciales y olvidaba actualizar una de ellas, la aplicación dejaba defuncionar. Debido a este riesgo, muchos clientes deciden no rotar sus credenciales con regularidad, lo quefinalmente sustituye un riesgo por otro.

Secrets Manager le permite reemplazar las credenciales codificadas en el código (incluidas contraseñas),con una llamada al API de Secrets Manager para recuperar el secreto mediante programación. Esto ayudaa garantizar la integridad del secreto si alguien examina el código, dado que el secreto ya no está en elcódigo. Además, puede configurar Secrets Manager para rotar el secreto automáticamente de acuerdo conla programación que especifique. Esto le permite reemplazar secretos a largo plazo con secretos a cortoplazo, reduciendo significativamente el riesgo de peligro.

Introducción a Secrets ManagerPara ver una lista con los términos y conceptos que debe entender a fin de poder utilizar plenamenteSecrets Manager, consulte Términos y conceptos clave de AWS Secrets Manager (p. 9).

Los usuarios típicos de Secrets Manager pueden tener uno o varios de los siguientes roles:

• Administrador de Secrets Manager– administra el servicio de Secrets Manager. Concede permisos apersonas que pueden desempeñar después el resto de los roles indicados aquí.

• Administrador de la base de datos o del servicio – administra la base de datos o el servicio con secretosalmacenados en Secrets Manager. Determina y define la configuración de rotación y el vencimiento desus secretos.

• Desarrollador de aplicaciones – crea la aplicación y la configura para solicitar a Secrets Manager lascredenciales adecuadas.

Escenario básico de Secrets ManagerEn el siguiente diagrama se ilustra el escenario más básico. El diagrama muestra cómo puede almacenarcredenciales para una base de datos en Secrets Manager y, a continuación, utilizar estas credenciales enuna aplicación para acceder a la base de datos.

1

Page 8: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCaracterísticas de Secrets Manager

1. El administrador de la base de datos crea un conjunto de credenciales en la base de datos del personalpara que las utilice una aplicación llamada MyCustomApp. El administrador también configura esascredenciales con los permisos necesarios para que la aplicación pueda obtener acceso a la base dedatos del personal.

2. El administrador de la base de datos almacena dichas credenciales como un secreto en SecretsManager llamado MyCustomAppCreds. A continuación, Secrets Manager cifra y almacena lascredenciales dentro del secreto como el texto secreto protegido.

3. Cuando MyCustomApp accede a la base de datos, la aplicación pregunta a Secrets Manager por elsecreto denominado MyCustomAppCreds.

4. Secrets Manager recupera el secreto, descifra el texto secreto protegido y se lo devuelve a la aplicacióncliente a través de un canal seguro (HTTPS con TLS).

5. La aplicación cliente analiza las credenciales, la cadena de conexión y cualquier otra informaciónrequerida en la respuesta y, a continuación, utiliza dicha información para acceder al servidor de la basede datos.

Note

Secrets Manager admite muchos tipos de secretos. No obstante, Secrets Manager puede rotar deforma nativa las credenciales de las bases de datos de AWS compatibles (p. 4) sin necesidadde programación adicional. Pero, para rotar los secretos de otras bases de datos o servicios,es necesario crear una función de Lambda personalizada para definir cómo interactúa SecretsManager con la base de datos o el servicio. Necesita contar con algunos conocimientos deprogramación para crear la función. Para obtener más información, consulte Rotación de sussecretos de AWS Secrets Manager (p. 74).

Características de Secrets ManagerRecuperación mediante programación de valores desecretos cifrados en tiempo de ejecuciónSecrets Manager le ayuda a mejorar su estrategia de seguridad, ya que elimina las credencialescodificadas de forma rígida del código fuente de la aplicación y no guarda las credenciales dentro dela aplicación de ninguna forma. El almacenamiento de las credenciales en la aplicación o con ella lassomete a un posible peligro por parte de cualquier persona que pueda inspeccionar la aplicación o suscomponentes. Dado que tiene que actualizar la aplicación e implementar los cambios en cada cliente antes

2

Page 9: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAlmacenamiento de distintos tipos de secretos

de dar de baja las credenciales antiguas, este proceso hace que la rotación de las credenciales resultedifícil.

Secrets Manager le permite reemplazar las credenciales almacenadas con una llamada en tiempo enejecución al servicio web Secrets Manager, para poder recuperar las credenciales dinámicamente cuandolas necesite.

La mayor parte del tiempo el cliente requiere acceso a la versión más reciente del valor del secreto cifrado.Al consultar el valor cifrado del secreto, puede optar por proporcionar únicamente el nombre del secretoo el nombre de recurso de Amazon (ARN), sin necesidad de especificar ninguna información sobreversiones. Si lo hace, Secrets Manager devuelve automáticamente la versión más reciente del valor delsecreto.

Sin embargo, otras versiones pueden existir al mismo tiempo. La mayoría de los sistemas admitensecretos más complejos que una simple contraseña, como conjuntos completos de credenciales quecontienen los detalles de la conexión, el ID de usuario y la contraseña. Secrets Manager le permite guardarvarios conjuntos de estas credenciales al mismo tiempo. Secrets Manager almacena cada conjunto enuna versión diferente del secreto. Durante el proceso de rotación del secreto, Secrets Manager hace unseguimiento de las credenciales más antiguas y de las nuevas credenciales que se desea comenzar autilizar, hasta que se complete la rotación. Hace un seguimiento de estas distintas versiones utilizandoetiquetas de ensayo (p. 12).

Almacenamiento de distintos tipos de secretosSecrets Manager le permite almacenar texto en la parte de datos cifrados de un secreto. Esto normalmenteincluye los detalles de conexión de la base de datos o del servicio. Estos detalles pueden incluir el nombrede servidor, la dirección IP y el número de puerto, así como el nombre de usuario y la contraseña que seutilizan para iniciar sesión en el servicio. Para obtener más información sobre los secretos, consulte losvalores máximo y mínimo. El texto protegido no incluye:

• Nombre y descripción del secreto• Configuración de rotación o vencimiento• ARN de la clave maestra de cliente (CMK) de AWS KMS asociada al secreto• Cualquier etiqueta de AWS asociada

Cifrado de sus datos secretosSecrets Manager cifra el texto protegido de un secreto utilizando AWS Key Management Service (AWSKMS). Muchos servicios de AWS utilizan AWS KMS para almacenar y cifrar las claves. AWS KMSgarantiza el cifrado seguro de los secretos en reposo. Secrets Manager asocia cada secreto con una CMKde AWS KMS. Puede ser la CMK predeterminada para Secrets Manager para la cuenta o una CMK creadapor el cliente.

Cada vez que Secrets Manager cifra una nueva versión de los datos secretos protegidos, Secrets Managersolicita a AWS KMS que genere una nueva clave de datos desde la CMK especificada. Secrets Managerutiliza esta clave de datos para el cifrado de sobres. Secrets Manager almacena la clave de datos cifradacomo datos secretos protegidos. Siempre que el secreto necesite un descifrado, Secrets Manager solicitaa AWS KMS descifrar la clave de datos, que Secrets Manager utiliza seguidamente para descifrar los datossecretos protegidos. Secrets Manager nunca almacena la clave de datos en forma no cifrada y siempreelimina la clave de datos inmediatamente después de su uso.

Además, Secrets Manager solo acepta de forma predeterminada solicitudes de anfitriones que usan elestándar abierto Transport Layer Security (TLS) y Perfect Forward Secrecy. Secrets Manager garantizael cifrado de su secreto mientras está en tránsito entre AWS y los equipos que utiliza para recuperar elsecreto.

3

Page 10: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación automática de sus secretos

Rotación automática de sus secretosPuede configurar Secrets Manager para que rote automáticamente los secretos sin necesidad de queintervenga el usuario y de acuerdo con una programación especificada.

La rotación se define y se implementa mediante una función de AWS Lambda. Esta función define cómorealiza Secrets Manager las siguientes tareas:

• Crea una versión nueva del secreto.• Guarda el secreto en Secrets Manager.• Configura el servicio protegido para usar la nueva versión.• Verifica la nueva versión.• Marca la nueva versión como lista para la producción.

Las etiquetas de ensayo le ayudan a mantenerse al tanto de las diferentes versiones de los secretos.Cada versión puede tener varias etiquetas de ensayo asociadas, pero cada etiqueta de ensayo puedeasociarse exclusivamente a una versión. Por ejemplo, Secrets Manager utiliza la etiqueta AWSCURRENTcon la versión del secreto que está activa actualmente. Debe configurar las aplicaciones para que siempreconsulten la versión actual del secreto. Cuando el proceso de rotación cree una nueva versión de unsecreto, Secrets Manager agregará automáticamente la etiqueta provisional AWSPENDING a la nuevaversión hasta que hayan finalizado las pruebas y las validaciones. Solo entonces Secrets Manageragrega la etiqueta de ensayo AWSCURRENT a esta nueva versión. Las aplicaciones comienzan a utilizarinmediatamente el nuevo secreto la siguiente vez que consultan la versión AWSCURRENT.

Bases de datos con soporte de rotación listo para usarcompletamente configuradoCuando elige habilitar la rotación, Secrets Manager es compatible con las siguientes bases de datosAmazon Relational Database Service (Amazon RDS) con plantillas de función de rotación de Lambdaprobadas y escritas en AWS y configuración completa del proceso de rotación:

• Amazon Aurora en Amazon RDS• MySQL en Amazon RDS• PostgreSQL en Amazon RDS• Oracle en Amazon RDS• MariaDB en Amazon RDS• Microsoft SQL Server en Amazon RDS

Otros servicios con soporte de rotación listo para usarcompletamente configuradoTambién puede elegir habilitar la rotación en los siguientes servicios, totalmente compatibles con lasplantillas de función de rotación de Lambda probadas y escritas en AWS, y configuración completa delproceso de rotación:

• Amazon DocumentDB• Amazon Redshift

También puede almacenar secretos para casi cualquier otra clase de base de datos o servicio. Noobstante, para rotar automáticamente los secretos tendrá que crear y configurar una función de rotación de

4

Page 11: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControlar el acceso a los secretos

Lambda personalizada. Para obtener más información acerca del modo de escribir una función de Lambdapersonalizada para una base de datos o servicio, consulte Información general de la función de rotaciónLambda (p. 109).

Controlar el acceso a los secretosPuede asociar políticas de permisos de AWS Identity and Access Management (IAM) a usuarios, gruposy roles que les concedan o denieguen acceso a determinados secretos y restrinjan la administraciónde dichos secretos. Por ejemplo, puede asociar una política a un grupo en el que sea necesario quesus miembros puedan administrar y configurar íntegramente los secretos. Otra política asociada a unrol utilizada por una aplicación podría conceder permiso de solo lectura en el secreto que la aplicaciónnecesita ejecutar.

También puede asociar directamente al secreto una política basada en recursos para conceder permisosque especifiquen qué usuarios puede leer o modificar el secreto y las versiones. A diferencia de unapolítica basada en identidad que se aplica automáticamente al usuario, grupo o rol al que se asocia, unapolítica basada en recursos asociada a un secreto utiliza el elemento Principal para identificar a quiénse dirige la política. El elemento Principal puede incluir los usuarios y funciones de la misma cuenta queel secreto o los principales de otras cuentas.

Conformidad con los estándaresAWS Secrets Manager ha sido sometido a auditorías para los siguientes estándares y puede se parte desu solución cuando necesite obtener una certificación de conformidad.

AWS ha ampliado el programa de conformidad con la Ley de portabilidad y responsabilidadde seguros médicos (HIPAA) para incluir a AWS Secrets Manager como servicio compatiblecon HIPAA. Si ha formalizado un acuerdo de socio empresarial (BAA) con AWS, puedeutilizar Secrets Manager para crear aplicaciones compatibles con HIPAA. AWS ofreceademás un documento técnico dedicado a HIPAA para los clientes que deseen informarseacerca del modo de aprovechar AWS para procesar y almacenar información relacionada conla salud. Para obtener más información, consulte Conformidad con HIPAA.

AWS Secrets Manager dispone de declaración de conformidad para el estándar deseguridad de datos del sector de tarjetas de pago (PCI DSS) versión 3.2 de nivel deproveedor de servicios 1. Los clientes que utilizan los productos y servicios de AWS paraalmacenar, procesar o transmitir datos de titulares de tarjetas pueden utilizar AWS SecretsManager al administrar su propia certificación de conformidad con PCI DSS. Para obtenermás información acerca de PCI DSS, incluido cómo solicitar una copia del Paquete deconformidad con PCI de AWS, consulte PCI DSS Nivel 1.

AWS Secrets Manager ha obtenido las certificaciones de conformidad ISO/IEC 27001, ISO/IEC 27017, ISO/IEC 27018, e ISO 9001. Para obtener más información, consulte ISO 27001,ISO 27017, ISO 27018 e ISO 9001.

5

Page 12: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAcceso a Secrets Manager

Los informes de control de organizaciones y sistemas (SOC) son informes de análisisindependientes de terceros que muestran cómo Secrets Manager logra los controles yobjetivos clave de conformidad. La finalidad de estos informes es ayudarle a usted y a susauditores a entender los controles de AWS que se han establecido como soporte a lasoperaciones y a la conformidad. Para obtener más información, consulte Conformidad conSOC.

El Federal Risk and Authorization Management Program (FedRAMP) es un amplio programagubernamental que ofrece un enfoque estandarizado para la supervisión continua, laautorización y la evaluación de la seguridad de servicios y productos en la nube. El ProgramaFedRAMP también proporciona autorizaciones provisionales para servicios y regiones enEast/West (Este/Oeste) y GovCloud para consumir datos gubernamentales o regulados. Paraobtener más información, consulte Conformidad con FedRAMP.

Acceso a Secrets ManagerPuede trabajar con Secrets Manager de cualquiera de las siguientes formas:

Consola de administración de AWS

Puede administrar sus secretos utilizando la basada en navegador. La consola de Secrets Manager yrealizar casi cualquier tarea relacionada con sus secretos con la consola.

Actualmente, no puede hacer la siguiente tarea en la consola:• Almacenar datos binarios en un secreto. En la actualidad, la consola solo almacena datos en el

campo SecretString del secreto y no utiliza el campo SecureBinary. Para almacenar datosbinarios, debe utilizar la AWS CLI o uno de los SDK de AWS.

Herramientas de línea de comandos de AWS

Puede utilizar las herramientas de línea de comandos de AWS para emitir comandos en la línea decomando del sistema con el fin de llevar a cabo tareas de Secrets Manager y otras tareas de AWS.Esto puede ser más rápido y práctico que usar la consola. Las herramientas de línea de comandostambién son útiles para crear scripts que realicen tareas de AWS.

AWS proporciona dos conjuntos de herramientas de línea de comandos: AWS Command LineInterface (AWS CLI) y Herramientas de AWS para Windows PowerShell. Para obtener informaciónacerca del modo de instalar y usar la CLI de AWS, consulte AWS Command Line Interface Guía delusuario. Para obtener información acerca del modo de instalar y usar Herramientas para WindowsPowerShell, consulte Guía del usuario de Herramientas de AWS para Windows PowerShell.

AWS SDK

Los SDK de AWS se componen de bibliotecas y código de muestra para diversos lenguajes deprogramación y plataformas, por ejemplo Java, Python, Ruby, .NET, iOS y Android, yotras. Los SDKincluyen tareas como firmar solicitudes criptográficamente, administrar errores y reintentar solicitudesautomáticamente. Para obtener más información sobre los SDK de AWS, incluido cómo descargarlose instalarlos, consulte Herramientas para Amazon Web Services.

API de consulta HTTPS de Secrets Manager

La API de consulta HTTPS de Secrets Manager le ofrece acceso mediante programación a SecretsManager y AWS. La API de consulta HTTPS le permite emitir solicitudes HTTPS directamente al

6

Page 13: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPrecios de Secrets Manager

servicio. Cuando use la API HTTPS, debe incluir un código para firmar digitalmente las solicitudesutilizando sus credenciales. Para obtener más información, consulte Llamar a la API mediantesolicitudes de consulta HTTP y la Referencia de la API de AWS Secrets Manager.

Note

Le recomendamos utilizar el SDK específico del lenguaje de programación que prefiera, enlugar de usar la API de consulta HTTPS. El SDK realiza muchas tareas útiles que realizamanualmente. Los SDK firman automáticamente las solicitudes y convierten la respuesta enuna estructura adecuada para su idioma desde el punto de vista sintáctico. Utilice la API deconsulta HTTPS solo cuando no haya ningún SDK disponible.

Precios de Secrets ManagerSi utiliza Secrets Manager, solo pagará por lo que use. No se aplicarán cuotas mínimas ni cuotas deconfiguración. Para obtener la lista de precios completa, consulte Precios de AWS Secrets Manager.

AWS KMS – Claves de cifrado del clienteSi crea sus propias claves maestras de cliente con AWS KMS para cifrar sus secretos, AWS le cobrarásegún la tasa de AWS KMS actual. No obstante, puede utilizar la clave "predeterminada" creada por AWSSecrets Manager para su cuenta de forma gratuita. Para obtener más información acerca del costo delas claves de AWS KMS creadas por el cliente, consulte la página de precios de AWS Key ManagementService.

Registro de AWS CloudTrail– almacenamiento ynotificaciónSi habilita AWS CloudTrail en su cuenta, podrá obtener archivos de registro de las llamadas a la API queAWS Secrets Manager envía. Secrets Manager registra todos los eventos como eventos de administración.No hay eventos de datos. No se aplicará ningún cargo adicional por capturar un registro de seguimientoúnico en AWS CloudTrail en el que se registren los eventos de administración. AWS CloudTrail almacenala primera copia de todos los eventos de administración gratis. Sin embargo, puede incurrir en cargosde Amazon S3 por almacenamiento de registros y de Amazon SNS si habilita la notificación. Además, siconfigura las pistas adicionales, las copias adicionales de los eventos de administración pueden incurrir encostos. Para obtener más información, consulte la Página de precios de AWS CloudTrail.

Soporte y comentarios para AWS Secrets ManagerAgradecemos sus comentarios. Puede enviar comentarios a [email protected]én puede publicar sus comentarios y preguntas en nuestro foro de soporte de AWS SecretsManager. Para obtener más información acerca de los foros de soporte de AWS, consulte la Ayuda de losforos.

Si desea solicitar nuevas características para la consola de AWS Secrets Manager o las herramientasde línea de comandos, le recomendamos que envíe una solicitud por correo electrónico [email protected].

Para ofrecer comentarios sobre la documentación, puede utilizar el enlace de comentarios que apareceen la parte inferior de cada página web. Sea específico sobre el problema que afronta y cómo ladocumentación no ha logrado ayudarle. Díganos lo que vio y cómo era diferente de lo que esperaba. Estonos ayuda a entender lo que tenemos que hacer para mejorar la documentación.

7

Page 14: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioSoporte y comentarios para AWS Secrets Manager

A continuación puede encontrar algunos recursos adicionales a su disposición:

• Catálogo de cursos de AWS – enlaces a cursos basados en funciones y especializados, así como alaboratorios autoguiados para ayudarle a desarrollar sus habilidades de AWS y obtener experienciapráctica.

• Herramientas para desarrolladores de AWS – enlaces a herramientas y recursos que proporcionandocumentación, ejemplos de código, notas de la versión e información adicional para ayudarle a crearaplicaciones innovadoras con AWS.

• AWS Support Center – centro para crear y administrar sus incidencias de AWS Support. También incluyeenlaces a otros recursos útiles como foros, preguntas técnicas frecuentes, estado de los servicios y AWSTrusted Advisor.

• AWS Support – un canal de soporte individualizado y de respuesta rápida que le ayudará a crear yejecutar aplicaciones en la nube.

• Contacte con nosotros – un punto central de contacto para las consultas relacionadas con la facturaciónde AWS, cuentas, eventos y otros asuntos.

• Términos del sitio de AWS – información detallada sobre nuestros derechos de autor y marca comercial,su cuenta, su licencia, acceso al sitio y otros temas.

8

Page 15: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTérminos y conceptos

Introducción a AWS Secrets ManagerPara comenzar a utilizar AWS Secrets Manager, le recomendamos que consulte los siguientes temas:

• Términos y conceptos (p. 9): conceptos básicos y términos de Secrets Manager utilizados en lasAPI, los comandos de SDK y la interfaz de la consola.

• Tutoriales (p. 13): procedimientos paso a paso que muestran situaciones comunes para enseñarle arealizar tareas básicas en Secrets Manager.

Términos y conceptos clave de AWS SecretsManager

Los siguientes términos y conceptos son importantes para comprender AWS Secrets Manager y sufuncionamiento.

secretaEn Secrets Manager, un secreto consta de un conjunto de credenciales, nombre de usuario y contraseña,y los detalles de conexión que se usan para obtener acceso a un servicio protegido (p. 11). Estainformación debe almacenarse de forma segura para garantizar que solo los usuarios autorizados obtienenacceso a ella. Secrets Manager almacena siempre el texto del secreto en un formato cifrado y cifra elsecreto en tránsito.

Secrets Manager utiliza políticas de permisos de IAM para garantizar que solo los usuarios autorizadostienen acceso al secreto y pueden modificarlo. Puede asociar estas políticas a usuarios o roles, yespecificar los secretos a los que pueden obtener acceso los usuarios. Para obtener más detallessobre el control de acceso a los secretos, consulte Autenticación y control de acceso de AWS SecretsManager (p. 32).

Cuando se almacenan credenciales, los distintos servicios protegidos podrían requerir distintos elementosde información. Secrets Manager proporciona esta flexibilidad al almacenar el secreto como pares clave-valor de cadenas de texto. Si elige una base de datos compatible con Secrets Manager, Secrets Managerdefine los pares clave-valor con arreglo a los requisitos de la función de rotación de la base de datoselegida. Secrets Manager aplica a los pares el formato de texto JSON. Si elige algún otro servicio o basede datos para los que Secrets Manager no proporciona la función de Lambda, puede especificar el secretocomo los pares clave-valor de JSON definidos por el usuario.

El texto del secreto cifrado almacenado resultante tendría un aspecto similar al siguiente ejemplo:

{ "host" : "ProdServer-01.databases.example.com", "port" : "8888", "username" : "administrator", "password" : "My-P@ssw0rd!F0r+Th3_Acc0unt", "dbname" : "MyDatabase", "engine" : "mysql"}

Si utiliza las herramientas de línea de comandos o la API, también puede almacenar datos binarios en elsecreto. La consola de Secrets Manager no es compatible con los datos binarios.

Secrets Manager puede rotar automáticamente su secreto por usted en una programación especificada.Puede rotar las credenciales sin interrumpir el servicio si decide almacenar un conjunto completo decredenciales para un usuario o cuenta en lugar de la contraseña únicamente. Si cambia o rota solo

9

Page 16: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuariosecreta

la contraseña, entonces la contraseña antigua queda inmediatamente obsoleta y los clientes debencomenzar a usar la nueva contraseña de inmediato o recibirán un error. Si, en lugar de ello crea unnuevo usuario con una nueva contraseña, o al menos alterna entre dos usuarios, entonces el usuario y lacontraseña anteriores seguirán funcionando a la vez que el nuevo hasta que decida descartar la antigua.Esto le ofrece un periodo de tiempo durante el cual todos sus clientes pueden seguir trabajando mientrasprueba y valida las credenciales nuevas. Después de que las nuevas credenciales pasen las pruebasusted confirma a todos sus clientes para utilizar las nuevas credenciales y quita las credenciales antiguas.

Bases de datos admitidas

Si utiliza la consola de Secrets Manager y especifica un secreto para una de las bases de datos queSecrets Manager admite de forma nativa (p. 4), entonces Secrets Manager administra y analiza todala estructura por usted. La consola le solicita los detalles del tipo específico de base de datos. SecretsManager construye, a continuación, la estructura necesaria, almacena la información y, luego, analiza lainformación de nuevo en información de texto fácil de entender cuando usted la recupera.

Otras bases de datos o servicios

Si, en lugar de eso, especifica que el secreto es para un servicio o base de datos "personalizados",entonces usted controla qué hacer con el texto del secreto una vez recuperado y cómo interpretarlo.La consola de Secrets Manager acepta el secreto como cadenas de clave/valor y las convierteautomáticamente en una estructura de JSON para el almacenamiento. Si recupera el secreto en laconsola, Secrets Manager lo convierte automáticamente de nuevo en cadenas de texto clave-valor paraque pueda visualizarlo. Si recupera el secreto mediante programación, puede utilizar una biblioteca deanálisis de JSON adecuada, disponible prácticamente para cualquier lenguaje de programación, paraanalizar el secreto de un modo útil. Si un secreto necesita más del límite de 65 536 bytes por secreto,puede dividir los pares de clave-valor en dos secretos y volver a concatenarlos cuando los recupere.

Estructura básica de los secretos de Secrets ManagerEn Secrets Manager, un secreto no solo contiene el texto secreto cifrado, sino además varios elementosde metadatos que describen el secreto y definen cómo debe gestionarlo Secrets Manager:

• Metadatos: información sobre el secreto• La información básica incluye el nombre del secreto, una descripción y el nombre de recurso de

Amazon (ARN) que sirve como identificador único.• El ARN de la clave de AWS Key Management Service (AWS KMS) que Secrets Manager utiliza para

cifrar y descifrar el texto protegido del secreto. Si no proporciona esta información, Secrets Managerutiliza la clave predeterminada de AWS KMS para la cuenta.

10

Page 17: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioServicio protegido

• Información sobre la frecuencia con la que rotar (p. 11) la clave y qué función de Lambda se usapara realizar la rotación.

• Un conjunto de etiquetas que proporciona el usuario. Puede asociar las etiquetas como pares clave-valor a los recursos de AWS para facilitar la organización, para crear grupos lógicos y para crearasignaciones de costos.

• Versiones: una colección de una o varias versiones (p. 12) del texto del secreto cifrado• Aunque normalmente solo se dispone de una versión del secreto activa en un momento dado, pueden

existir varias versiones al mismo tiempo que un secreto rota en la base de datos o servicio. Cada vezque cambia el secreto, Secrets Manager crea una nueva versión.

• Cada versión tiene una copia del valor cifrado del secreto.• Cada versión puede tener una o varias etiquetas provisionales (p. 12) asociadas que identifican la

etapa del ciclo de rotación del secreto.

Servicio protegidoSecrets Manager define servicio protegido como una base de datos u otro servicio que se ejecuta en unservidor de red, cuyo acceso se controla mediante las credenciales almacenadas en el secreto. El servicioprotegido puede hacer referencia a un único servidor o a un grupo grande de servidores que comparten elmismo método de acceso. Necesita el secreto para poder acceder correctamente al servicio protegido. Elsecreto contiene toda la información que un cliente necesita para el acceso a un servicio protegido. En estaguía, el término "servicio protegido" se utiliza como un término genérico para representar los diferentestipos de bases de datos y servicios cuyos secretos pueden protegerse mediante AWS Secrets Manager.

RotationSecrets Manager define rotación como el proceso en el que periódicamente se cambia el secreto paraque resulte más difícil que un atacante obtenga acceso al servicio protegido. Con Secrets Manager notiene que cambiar el secreto manualmente ni actualizarlo en todos los clientes. En lugar de ello, SecretsManager utiliza una función AWS Lambda para realizar todos los pasos de la rotación según programaperiódico.

Supongamos que tiene un gran conjunto de clientes que ejecutan una aplicación que accede a una basede datos, el servicio protegido (p. 11). En lugar de codificar de forma rígida las credenciales en suaplicación, la aplicación envía una solicitud a Secrets Manager y recibe los detalles del secreto siempreque sea necesario. Al rotar el secreto, la función de rotación de Lambda realiza automáticamente lossiguientes pasos:

1. La función de rotación se pone en contacto con el sistema de autenticación del servicio y crea un nuevoconjunto de credenciales para obtener acceso a la base de datos. Normalmente, las credenciales secomponen de un nombre de usuario, una contraseña y los detalles de conexión, pero pueden variarentre un sistema y otro. Secrets Manager almacena estas nuevas credenciales como el texto secreto deuna nueva versión (p. 12) del secreto a la que se asocia la etiqueta de ensayo AWSPENDING.

2. Después, la función de rotación prueba la versión AWSPENDING del secreto para garantizar que lascredenciales funcionan y concede el nivel necesario de acceso al servicio protegido.

3. Si las pruebas son correctas, la función de rotación pasará la etiqueta AWSCURRENT a la nueva versiónpara marcarla como predeterminada. Luego, todos los clientes comienzan a usar esta versión delsecreto en lugar de la antigua. La función también asigna la etiqueta AWSPREVIOUS a la versiónantigua, lo que la marca como "última versión buena conocida". La versión con la etiqueta de ensayoAWSPREVIOUS ahora no tiene etiqueta y, por lo tanto, está obsoleta.

Puede activar la función de rotación Lambda manualmente eligiendo Rotate secret (Rotar secreto) en laconsola, o puede activarla automáticamente cada n días especificando un programa de rotación. Si utilizauna de las bases de datos de AWS que Secrets Manager admite de forma nativa (p. 4), Secrets Manager

11

Page 18: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEtiquetas provisionales

proporciona una función de Lambda para rotar las credenciales de la base de datos. Esta función realizala rotación básica automáticamente, o bien puede personalizar la función para que admita una estrategiaavanzada de rotación personalizada.

Si elige crear un secreto para un servicio personalizado, debe crear también la función de Lambda. Enel código de la función, tiene que determinar cómo componer la estructura de JSON y analizarla en lafunción.

Para cualquier servicio o base de datos utilizados por el secreto, la función de rotación de Lambda parael secreto debe ser capaz de acceder tanto a la base de datos como al servicio y a un punto de enlace deservicio de Secrets Manager. Si la función de rotación de Lambda y la base de datos o servicio residen enuna VPC proporcionada por Amazon VPC, debe configurar la VPC con un punto de enlace de servicio deVPC para Secrets Manager (p. 77) o conectividad directa a Internet utilizando un gateway de NAT, parapermitir acceso al punto de enlace de servicio público de Secrets Manager.

Para obtener más información acerca de la rotación, consulte Rotación de sus secretos de AWS SecretsManager (p. 74).

Etiquetas provisionalesSecrets Manager utiliza etiquetas de ensayo, una cadena de texto simple, para permitirle identificar lasdistintas versiones (p. 12) de un secreto durante la rotación (p. 11). Cuando consulte el valor de unsecreto cifrado, puede especificar la versión del secreto que desea recuperar. Si no especifica ningunaversión, bien por el ID de versión, bien por la etiqueta provisional, Secrets Manager elige de manerapredeterminada la versión que tiene asociada la etiqueta provisional AWSCURRENT. Secrets Managertambién asocia la etiqueta provisional AWSCURRENT a una de las versiones del secreto. Consulte la breveintroducción a la rotación (p. 11) para ver un ejemplo de cómo funciona.

Una versión de un secreto puede tener entre 0 y 20 etiquetas de ensayo asociadas.

Una etiqueta de ensayo solo se puede adjuntar a una versión de un secreto a la vez. Dos versiones delsecreto no puede tener la misma etiqueta de ensayo. Si al asociar una etiqueta provisional a una versiónya existe otra versión con la misma etiqueta, también deberá especificar la versión para eliminar la etiquetao Secrets Manager devolverá un error.

Una versión del secreto siempre debe tener la etiqueta de ensayo AWSCURRENT, y la operación de la APIaplica este comportamiento. Las funciones de rotación de Lambda que proporciona Secrets Managermantienen automáticamente las etiquetas AWSPENDING, AWSCURRENT y AWSPREVIOUS en la versionescorrespondientes.

Control de versionesExisten varias versiones de un secreto para facilitar la rotación de un secreto (p. 11). Secrets Managerdistingue entre diferentes versiones mediante las etiquetas de ensayo (p. 12). En la mayoría de loscasos, no tiene que preocuparse por las versiones del secreto; Secrets Manager y la función de rotación deLambda proporcionada administran estos detalles por usted. No obstante, si crea una función de rotaciónde Lambda, el código debe administrar varias versiones de un secreto y mover las etiquetas de ensayoentre versiones de forma adecuada. Las versiones también tienen un identificador único (por lo general, unvalor UUID) que siempre se mantiene con la misma versión, a diferencia de las etiquetas de ensayo que sepueden mover entre versiones.

Configure los clientes para que siempre soliciten la versión predeterminada del secreto que tenga asociadala etiqueta provisional AWSCURRENT. Pueden existir otras versiones, pero solo se obtiene acceso a otraversión solicitando un ID de versión específico o una etiqueta de ensayo. Si solicita el valor del secreto yno especifica un ID de versión o una etiqueta de ensayo, entonces ve de forma predeterminada la versióncon la etiqueta de ensayo AWSCURRENT.

Durante la rotación, Secrets Manager crea una nueva versión del secreto y asocia la etiqueta de ensayoAWSPENDING. La función de rotación utiliza la versión AWSPENDING para identificar la versión hasta

12

Page 19: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutoriales

después de que la versión pase la prueba. Una vez que la función de rotación verifica que las nuevascredenciales funcionan, Secrets Manager traslada la etiqueta AWSPREVIOUS a la versión más antiguacon AWSCURRENT, traslada la etiqueta AWSCURRENT a la versión AWSPENDING más reciente y finalmenteelimina AWSPENDING.

Para obtener más información acerca de cómo funcionan las etiquetas de ensayo que admiten la rotación,consulte Rotación de sus secretos de AWS Secrets Manager (p. 74).

Cada versión mantenida para un secreto contiene los siguientes elementos:

• Un ID único de la versión.• Una colección de etiquetas de ensayo utilizadas para identificar la versión, única dentro del secreto.

Secrets Manager da de baja versiones sin etiquetas de ensayo y estas versiones pueden estar sujetas aeliminación.

• El texto del secreto cifrado y almacenado.

Cuando consulte el valor del secreto cifrado, puede especificar la versión del secreto. Si no especificauna versión, bien por ID de versión, bien por etiqueta de ensayo, Secrets Manager elige de manerapredeterminada la versión con la etiqueta de ensayo AWSCURRENT asociada. Secrets Manager tambiénasocia la etiqueta de ensayo AWSCURRENT a una versión del secreto.

Tutoriales de AWS Secrets ManagerUtilice los tutoriales de esta sección para aprender a realizar tareas con AWS Secrets Manager.

Tutorial: Creación y recuperación de un secreto (p. 13)

Póngase en marcha con instrucciones paso a paso para crear un secreto y recuperarlo. Este tutorialno requiere una base de datos de AWS preconfigurada.

Tutorial: Rotación de un secreto para una base de datos de AWS (p. 16)

Cree un secreto para una base de datos MySQL de Amazon RDS. A continuación, rote el secretoutilizado para acceder a la base de datos y configure el secreto para rotar de manera programada.

Tutorial: Rotación de un secreto de usuario con un secreto maestro (p. 22)

Utilice el secreto del tutorial anterior como secreto maestro que puede rotar un secreto de usuarioindependiente para una base de datos MySQL de Amazon RDS. A continuación, rote el secreto delusuario iniciando sesión como secreto maestro y alternando los usuarios.

Tutorial: Creación y recuperación de un secretoEn este tutorial, creará un secreto y lo guardará en AWS Secrets Manager. A continuación, recuperará elsecreto con la Consola de administración de AWS o la AWS CLI. Dado que solamente vamos a crear yalmacenar el secreto, este tutorial no requiere una base de datos junto con el secreto.

Paso 1: Crear y almacenar el secreto en AWS Secrets Manager (p. 14)

En este paso, va a crear un secreto y a proporcionar la información básica que AWS Secrets Managernecesita.

Paso 2: Recuperar el secreto de AWS Secrets Manager (p. 15)

Después se usa la consola de Secrets Manager y la CLI de AWS para recuperar el secretodescodificado.

13

Page 20: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Creación y recuperación de un secreto

Requisitos previosEste tutorial da por hecho que puede obtener acceso a una cuenta de AWS y que puede iniciar sesión enAWS como usuario de IAM con permisos para crear y recuperar secretos en la consola de AWS SecretsManager o usar los comandos equivalentes de la AWS CLI.

Paso 1: Crear y almacenar el secreto en AWS Secrets ManagerEn este paso, debe iniciar sesión como usuario de IAM y crear un secreto.

Crear y almacenar el secreto desde la consola

1. Inicie sesión en la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

2. En la página de introducción del servicio o en la página con la lista Secretos, elija Store a new secret(Almacenar un nuevo secreto).

3. En la página Store a new secret (Almacenar un nuevo secreto), elija Other type of secret (Otro tipo desecreto).

4. En Specify key/value pairs to be stored in the secret (Especificar pares clave/valor que sealmacenarán en el secreto), en el primer campo, escriba tutorials/MyFirstTutorialSecret.Se almacenará el secreto en la carpeta virtual tutorials con el valor MyFirstTutorialSecret. Paraconfigurar una contraseña, agregue un valor en el siguiente campo.

Proporcione su información secreta, como las credenciales y detalles de conexión, como pares denombres de clave y cadenas de valores. Por ejemplo, puede especificar “UserName” como nombreclave y el nombre de inicio de sesión del usuario como valor. Otro ejemplo podría ser el nombre clave“Password” y la contraseña real como valor. También puede crear pares para “IPAddress”, “TCPPort”,“ServiceName” o cualquier otro valor útil.

5. Elija Plaintext (Texto no cifrado) para ver la versión JSON del texto del secreto almacenado en elcampo SecretString del secreto.

6. En Select the encryption key (Seleccionar la clave de cifrado), elija DefaultEncryptionKey. AWS nocobra una tarifa si usa la clave administrada predeterminada AWS que Secrets Manager crea en sucuenta. Si decide utilizar una clave de KMS personalizada, es posible que le cobren la tarifa de AWSKMS estándar.

7. Elija Next (Siguiente).8. En el campo de texto Secret name (Nombre del secreto), escriba el nombre del secreto. Solo debe

utilizar letras, números y los caracteres /_+ [email protected]. En el campo Description (Descripción), escriba una descripción del secreto.

En Description (Descripción), escriba, por ejemplo, The secret I created for the firsttutorial.

10. En la sección Tags (Etiquetas), agregue las etiquetas que desee en los campos de texto Key (Clave) yValue - optional (Valor - opcional).

Para este tutorial, puede dejar las etiquetas en blanco.11. Elija Next (Siguiente).12. En este tutorial, elija Disable automatic rotation (Deshabilitar rotación automática) y, a continuación,

elija Next (Siguiente).13. En la página Review (Revisar), puede comprobar sus ajustes de secretos. Además, asegúrese de

revisar la sección Sample code (Código de muestra), que tiene código habilitado para cortar y pegar,lo que le permita agregarla en sus aplicaciones y usar este secreto para recuperar las credenciales.Cada pestaña muestra el mismo código en diferentes lenguajes de programación.

14

Page 21: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Creación y recuperación de un secreto

14. Para guardar los cambios, elija Store (Almacenar).

La consola de Secrets Manager vuelve a la lista de secretos de su cuenta con el nuevo secreto ahoraincluido en la lista.

Paso 1: Crear y almacenar el secreto en AWS Secrets Managercon la CLI1. Abra un símbolo del sistema para ejecutar la AWS CLI. Si todavía no ha instalado la AWS CLI,

consulte el tema Instalación de la AWS Command Line Interface.2. Se crea el secreto

Escriba el siguiente comando y los siguientes parámetros:

$ aws secretsmanager create-secret --name tutorials/MyFirstTutorialSecret --description "The secret I created for the first tutorial"

El resultado del comando muestra la siguiente información:

{ "ARN": "&region-arn;secretsmanager:us-west-2:123456789012:secret:tutorials/MyFirstTutorialSecret-a1b2c3", "Name": "tutorials/MyFirstTutorialSecret", }

Paso 2: Recuperar el secreto de AWS Secrets ManagerEn este paso, debe recuperar el secreto con la consola de Secrets Manager y la AWS CLI.

Recuperar el secreto en la consola de AWS Secrets Manager

1. Si aún no ha iniciado sesión en la consola, vaya a la consola, https://console.aws.amazon.com/secretsmanager/, e inicie sesión en el servicio Secrets Manager.

2. En la página de la lista Secrets (Secretos), elija el nombre del secreto que creó.

En Secrets Manager, aparece la página Secrets details (Detalles de secretos) del secreto.3. En la sección Secret value (Valor secreto), elija Retrieve secret value (Recuperar valor secreto).4. Puede ver su secreto como parejas clave-valor o como estructura de texto JSON.

Para recuperar el secreto con la CLI de AWS Secrets Manager

1. Abra un símbolo del sistema para ejecutar la AWS CLI. Si todavía no ha instalado la AWS CLI,consulte el tema Instalación de la AWS Command Line Interface.

2. Mediante credenciales con permisos para acceder a su secreto, escriba el siguiente comando y lossiguientes parámetros.

Para ver todos los detalles de su secreto excepto el texto cifrado:

$ aws secretsmanager describe-secret --secret-id tutorials/MyFirstTutorialSecret{ "ARN": "&region-arn;secretsmanager:region:123456789012:secret:tutorials/MyFirstTutorialSecret-jiObOV",

15

Page 22: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secretopara una base de datos de AWS

"Name": "tutorials/MyFirstTutorialSecret", "Description": "My First Secret", "LastChangedDate": 1522680794.8, "LastAccessedDate": 1522627200.0, "VersionIdsToStages": { "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE": [ "AWSCURRENT" ] }}

Revise el valor de respuesta VersionIdsToStages. La salida contiene una lista de todas las versionesactivas del secreto y las etiquetas provisionales asociadas a cada versión. En este tutorial, debever un solo ID de versión (un valor de tipo UUID) correspondiente a una sola etiqueta provisionalAWSCURRENT.

Para ver el texto cifrado en su secreto:

$ aws secretsmanager get-secret-value --secret-id tutorials/MyFirstTutorialSecret --version-stage AWSCURRENT{ "ARN": "&region-arn;secretsmanager:region:123456789012:secret:tutorials/MyFirstTutorialSecret-jiObOV", "Name": "tutorials/MyFirstTutorialSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "SecretString": "{\"username\":\"myserviceusername\",\"password\":\"MyVerySecureP@ssw0rd!\"}", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": 1522680764.668}

Si desea detalles de una versión con una etiqueta provisional distinta de AWSCURRENT, solo debeincluir el parámetro --version-stage en el comando anterior. Secrets Manager utiliza AWSCURRENTcomo valor predeterminado.

El resto de la salida incluye la versión de JSON de su valor de secreto en el campo de respuestaSecretString.

Resumen

Este tutorial demostró lo fácil que puede ser crear un secreto simple y recuperar el valor del secretocuando se necesita el valor. Para ver otro tutorial acerca de cómo crear un secreto y configurar la rotaciónautomática, consulte Tutorial: Rotación de un secreto para una base de datos de AWS (p. 16).

Tutorial: Rotación de un secreto para una base dedatos de AWSEn este tutorial, se crea un secreto para un secreto de AWS y se configura la base de datos para rotarsegún un programa. Puede activar una rotación manualmente y después confirmar que la nueva versióndel secreto continúa proporcionando acceso.

Configuración de una base de datos MySQL de prueba (p. 18)

En este paso, va a crear una base de datos de prueba en Amazon Relational Database Service(Amazon RDS). En este tutorial, la base de datos de prueba ejecuta MySQL.

16

Page 23: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secretopara una base de datos de AWS

Paso 2: Crear el secreto (p. 19)

A continuación, utilice la consola de Secrets Manager para crear el secreto y rellenarlo con el nombrede usuario inicial y la contraseña de la base de datos MySQL. Pruebe el secreto utilizando lascredenciales devueltas para iniciar sesión en la base de datos.

Paso 3: Validar el secreto inicial (p. 19)

En el paso 3, utilice el nuevo secreto para probar las credenciales y asegurarse de que puedeutilizarlas para conectarse a la base de datos.

Paso 4: Configurar la rotación del secreto (p. 21)

En el paso 4, habilite la rotación del secreto y realice la primera rotación.Paso 5: Verificar la rotación correcta (p. 21)

En este paso, una vez que se complete la rotación inicial, repetirá los pasos de validación paramostrar que las nuevas credenciales generadas durante la rotación continúan permitiéndole el accesoa la base de datos.

Paso 6: Eliminación (p. 22)

En el último paso, quite la instancia de base de datos de Amazon RDS y el secreto para evitar que segeneren costos innecesarios.

Requisitos previosEl tutorial da por hecho que puede obtener acceso a una cuenta de AWS y que puede iniciar sesiónen AWS como usuario con permisos completos para configurar AWS Secrets Manager y Amazon RDSmediante la consola o los comandos equivalentes de la AWS CLI.

En este tutorial se utiliza una herramienta de cliente de MySQL, MySQLWorkbench, para interactuar conla base de datos, configurar los usuarios y comprobar el estado. El tutorial incluye las instrucciones deinstalación en el punto adecuado de los pasos siguientes.

La base de datos configurada en este tutorial permite el acceso a la Internet pública en el puerto 3306,nuevamente para simplificar la configuración en el tutorial. Para completar este tutorial, debe poderacceder a la base de datos MySQL desde su equipo conectado a Internet a través de la herramienta decliente de MySQL, MySQLWorkbench. Le recomendamos seguir las indicaciones de la documentación deVPC de Lambda y Amazon EC2 para configurar los servidores de producción de forma segura.

Important

Para que la rotación funcione, el entorno de red debe permitir que la función de rotación deLambda se comunique con la base de datos y con el servicio de Secrets Manager. Dado queeste tutorial configura la base de datos con acceso a la Internet pública, Lambda configuraautomáticamente la función de rotación para acceder a la base de datos a través de la direcciónIP pública. Si bloquea el acceso a la Internet pública a su instancia de base de datos, entoncesdebe configurar la función de Lambda para ejecutarla en la misma VPC que la instancia de basede datos. A continuación, debe configurar su VPC con un punto de enlace de Secrets Managerprivado (p. 77) o configurar la VPC con acceso a la Internet pública mediante un gateway NAT,de forma que la función de rotación Lambda tenga acceso al punto de enlace público de SecretsManager.

Permisos necesariosPara ejecutar correctamente este tutorial, debe disponer de todos los permisos asociados a la políticaadministrada de AWS SecretsManagerReadWrite. También debe tener permisos para crear un rol de IAM

17

Page 24: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secretopara una base de datos de AWS

y asociar una política de permisos al rol. Puede conceder la política administrada de AWS IAMFullAccess oasignar explícitamente iam:CreateRole y iam:AttachRolePolicy.

Warning

iam:CreateRole y iam:AttachRolePolicy permiten a un usuario concederse cualquierpermiso, así que conceda estas políticas solo a usuarios de confianza en una cuenta.

Configuración de una base de datos MySQL de prueba1. para esta parte del tutorial, inicie sesión en su cuenta y configure una base de datos de MySQL en

Amazon RDS.2. Siga estos pasos:

a. Inicie sesión en la consola de administración de AWS y abra la consola de Amazon RDS enhttps://console.aws.amazon.com/rds/.

b. En el Dashboard (Panel), desplácese hacia abajo hasta la sección Create database (Crear basede datos) y elija Create database (Crear base de datos).

c. Consulte el tutorial de Amazon RDS, Creating a MySQL DB Instance (Creación de una instanciade base de datos MySQL) para obtener la información más reciente sobre la configuración de unabase de datos RDS.

Utilice la siguiente información al crear la base de datos:

• DB instance identifier (Identificador de instancias de bases de datos):MyTestDatabaseInstance.

• Master username (Nombre de usuario maestro): adminuser.• Master password (Contraseña maestra): escriba una contraseña inicial segura y repítala en el

cuadro Confirm password (Confirmar contraseña). Asegúrese de recordar esta contraseña. Lanecesitará al crear el secreto en el paso 2.

Note

La creación de la base de datos puede tardar hasta 20 minutos antes de que la instanciade base de datos esté disponible.

d. En la lista de bases de datos disponibles en RDS > Databases (RDS >Bases de datos), elija labase de datos y, a continuación, elija Modify (Modificar).

e. En la sección Network and Security (Red y seguridad), establezca Public accessibility(Accesibilidad pública) en Yes.

f. En la sección Backup (Copia de seguridad), establezca como periodo de Backup retention(Retención de copia de seguridad) 0 days (0 días) para deshabilitar las copias de seguridad.

g. Deje el resto de los ajustes en sus valores predeterminados.h. Elija Continue.i. En la sección Scheduling of modifications (Programación de modificaciones) elija Apply

immediately y, a continuación, Modify DB Instance (Modificar instancia de base de datos).j. Cuando la sección Summary (Resumen) aparezca Available (Disponible) en Info (Información),

actualice la página y, a continuación, desplácese hacia abajo hasta la sección Connectivity andsecurity (Conectividad y seguridad).

k. En la sección Security (Seguridad) elija el default (predeterminado) en VPC security groups(Grupos de seguridad de VPC). La consola de Amazon EC2 se abre y muestra los Securitygroups (Grupos de seguridad)configurados.

l. Elija Inbound rules (Reglas de entrada) y, a continuación, elija Edit Inbound Rules (Editar reglasde entrada). 18

Page 25: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secretopara una base de datos de AWS

m. En Source type (Tipo de origen), elija Anywhere (En cualquier lugar), y elija Save rules (Guardarreglas).

Note

Para configurar correctamente el tutorial, utilice como mínimo esta configuración. Si necesitauna VPC privada, entonces la función de Lambda debe configurarse para ejecutarse en esaVPC. A continuación, debe configurar su VPC con un punto de enlace de Secrets Managerprivado (p. 77) o configurar la VPC con acceso a la Internet pública mediante un gateway NAT.Estas configuraciones permiten que la función de rotación de Lambda acceda al punto de enlacepúblico de Secrets Manager.

Paso 2: Crear el secretoEn este paso, creará un secreto en Secrets Manager y rellenará el secreto con detalles sobre su prueba,que incluyen la base de datos y las credenciales de su usuario maestro.

Para crear el secreto

a. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.b. Asegúrese de que configura la consola con la misma región para la que creó la base de datos MySQL

de Amazon RDS en el paso anterior.c. Elija Store a new secret (Almacenar un nuevo secreto).d. En la página Store a new secret (Almacenar un nuevo secreto), en la sección Select secret type

(Seleccionar tipo de secreto), elija Credentials for RDS database (Credenciales para base de datos deRDS).

e. En el campo User name (Nombre de usuario), escriba adminuser para que coincida con el nombre delusuario maestro que proporcionó anteriormente en el paso 1.3.

f. En Password (Contraseña), escriba la misma contraseña que proporcionó para adminuser cuando creóla base de datos.

g. En Select the encryption key (Seleccione la clave de cifrado), deje el valor DefaultEncryptionKey. AWSfactura su cuenta si utiliza una clave maestra personalizada (CMK) en lugar del CMK predeterminado.

h. En Select which RDS database this secret will access (Seleccionar a qué base de datos de RDS tendráacceso este secreto), elija la instancia MyTestDatabaseInstance que creó en el paso 1. SeleccioneSiguiente.

i. En la sección Secret name and description (Nombre y descripción del secreto), en Secret name(Nombre de secreto), escriba MyTestDatabaseMasterSecret. Seleccione Siguiente.

j. En la sección Configure automatic rotation (Configurar rotación automática), inhabilite la rotación por elmomento. Elija Next (Siguiente).

k. En la sección Review (Revisar), verifique datos y, a continuación, elija Store (Almacenar).

Secrets Manager vuelve a la lista de secretos, que ahora incluye el secreto nuevo.

Paso 3: Validar el secreto inicialAntes de configurar el secreto para rotar de forma automática, debe verificar que la información del secretoes correcta y se puede conectar a la base de datos. Este tutorial describe cómo instalar una aplicaciónbasada en GUI, MySQL Workbench, para probar la conexión. Descargue el cliente acorde a su sistemaoperativo.

Como mínimo, puede obtener el secreto utilizando la AWS CLI o la consola de Secrets Manager. Corte ypegue el nombre de usuario y la contraseña en el cliente de la base de datos MySQL.

Para probar la base de datos su conexión a base de datos

19

Page 26: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secretopara una base de datos de AWS

a. Después de instalar el software cliente MySQLWorkbench, abra el cliente MySQLWorkbench paramostrar la interfaz Welcome to MySQLWorkbench.

b. En MySQL Connections (Conexiones de MySQL), elija el icono + para mostrar Setup New Connection(Configurar nueva conexión).

c. En Connection Name (Nombre de conexión), escriba MyTestDatabaseInstance.d. En hostname (nombre de host), introduzca el punto de enlace de la base de datos, como

MyTestDatabase.hostname.region.rds.amazonaws.com.

Puede encontrar el punto de enlace en la página de detalles de la base de datos. En la consolaAmazon RDS, elija la sección Databases (Bases de datos) de RDS > Databases (Bases de datos) >MyTestDatabaseInstance.

e. Deje el port (puerto) en el valor predeterminado, 3306.f. En el campo Username (Nombre de usuario) escriba el nombre de usuario que creó para la base de

datos, adminuser.g. Elija Test Connection e introduzca la contraseña de la base de datos en el campo Password

(Contraseña).

h. Si está configurado correctamente, MySQLWorkbench muestra un mensaje de conexión correcta.

20

Page 27: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secretopara una base de datos de AWS

i. Elija OK.Consejo para la solución de problemas

Si el cliente de MySQLWorkbench no puede conectarse a la base de datos, deberá comprobarel grupo de seguridad asociado a la VPC con la base de datos. Las reglas predeterminadas enun grupo de seguridad permiten todo el tráfico saliente, pero las reglas bloquean todo el tráficoentrante excepto el tráfico que permite explícitamente definiendo una regla. Si el equipo seejecuta en la red pública de Internet, el grupo de seguridad debe permitir el tráfico entre Internety el puerto TCP que configuró en la base de datos para comunicarse, que normalmente es elpuerto 3306. Si configura MySQL para utilizar un puerto TCP distinto, asegúrese de actualizarla regla de seguridad para que coincida.

Paso 4: Configurar la rotación del secretoDespués de validar las credenciales iniciales en el secreto, puede configurar y comenzar la primerarotación.

Para configurar la rotación de secretos

a. En la consola de Secrets Manager, elija el secreto MyTestDatabaseMasterSecret.b. En la página Secret details (Detalles del secreto), en la sección Rotation configuration (Configuración de

la rotación), elija Edit rotation (Editar rotación).c. En la página Edit rotation configuration (Editar configuración de rotación), elija Enable automatic rotation

(Habilitar rotación automática).d. En Select rotation interval (Seleccionar intervalo de rotación), elija 30 days (30 días).e. En Select the secret will be used to perform the rotation (Seleccione el secreto que se utilizará para

realizar la rotación), elija Use this secret (Utilizar este secreto).f. Elija Save (Guardar). Secrets Manager comienza a configurar la rotación para el secreto, incluida la

creación de la función de rotación Lambda y la asociación de un rol que permita a Secrets Managerinvocar la función de rotación.

g. Permanezca en la página de la consola con el mensaje Rotation is being configured (La rotación seestá configurando) hasta que el mensaje cambie a Your secret MyTestDatabaseMasterSecret hasbeen successfully stored and secret rotation is enabled (El secreto MyTestDatabaseMasterSecret se haalmacenado correctamente y la rotación está habilitada).

Paso 5: Verificar la rotación correctaComo el secreto ha rotado, puede confirmar que las nuevas credenciales del secreto funcionan paraconectarse a la base de datos.

a. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.b. Elija su secreto MyTestDatabaseMasterSecret.c. Elija Retrieve secret value (Recuperar valor secreto).d. Busque el campo password (contraseña) .

Si ha rotado correctamente el secreto, la contraseña debería cambiar a algo similar aE4%I)rj)vmpRg)U}++=}GHAnNDD1v0cJ en lugar del secreto original.

e. Para acceder a su base de datos, abra MySQLWorkbench y elija la conexión MyTestDatabase.f. Cuando se le solicite la contraseña, copie la contraseña de Secrets Manager y péguela en el campo

Password (Contraseña). Seleccione OK.

Puede acceder correctamente a la base de datos con la nueva contraseña y validar que la rotación desecretos funcione.

21

Page 28: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secreto

de usuario con un secreto maestro

Paso 6: EliminaciónImportant

Si también tiene pensado realizar el tutorial Tutorial: Rotación de un secreto de usuario con unsecreto maestro (p. 22), no siga estos pasos hasta que no complete el tutorial.

Como las bases de datos y los secretos pueden generar cargos en la factura de AWS, debe quitar lainstancia de base de datos y el secreto que creó en este tutorial después de finalizar la experimentacióncon el tutorial.

Eliminar el secreto

a. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.b. En la lista de secretos, elija el secreto MyTestDatabaseSecret que creó para este tutorial.c. Elija Actions (Acciones) y, a continuación, Delete secret (Eliminar secreto).d. En el cuadro de diálogo Schedule secret deletion (Programar la eliminación de secretos), en Enter a

waiting period (Escriba un periodo de espera) escriba 7, el valor mínimo permitido.e. Elija Schedule deletion.

Después de que transcurra el número de días de la ventana de recuperación, Secrets Managereliminará el secreto de forma permanente.

Para eliminar la instancia de base de datos

a. Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.b. En el panel de navegación, elija Instances (Instancias).c. En la lista de instancias disponibles, elija la instancia MyTestDatabaseInstance que creó para este

tutorial.d. Elija Instance actions y, a continuación, Delete.e. En la página Delete DB Instance (Eliminar instancia de base de datos), en la sección Options

(Opciones), para Create final snapshot (Crear instantánea final), elija No.f. Seleccione la confirmación de que perderá todos los datos y, a continuación, elija Delete (Eliminar).

Tutorial: Rotación de un secreto de usuario con unsecreto maestroEste tutorial se basa en las tareas que ha completado en el primer tutorial: Tutorial: Rotación de un secretopara una base de datos de AWS (p. 16). Finalice los tutoriales anteriores antes de comenzar este.

En este tutorial, se utiliza el secreto que ya creó como usuario principal para la base de datos. Crea unnuevo usuario limitado y un secreto para ese usuario. A continuación, configura la rotación del secreto deusuario con las credenciales del secreto maestro. La función de rotación Lambda para un secreto maestroclonará el primer usuario y, después, alternará entre los usuarios, cambiando la contraseña de uno cadavez.

Paso 1: Crear un nuevo usuario de la base de datos y un secreto de usuario (p. 23)

En primer lugar, cree un nuevo usuario con permisos limitados en la base de datos MySQL deAmazon RDS y almacene dichas credenciales en un nuevo secreto.

Paso 2: Validar el secreto inicial (p. 24)

En el paso 2, confirme que puede obtener acceso a la base de datos como el nuevo usuario utilizandolas credenciales almacenadas en el secreto.

22

Page 29: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secreto

de usuario con un secreto maestro

Paso 3: Configurar la rotación del secreto (p. 24)

En el paso 3, configure la rotación del secreto del usuario. Especifique el secreto maestro que seutilizará para conceder acceso a la función de rotación.

Paso 4: Verificar la rotación correcta (p. 25)

En este paso, el secreto se rota dos veces para mostrar cómo recupera las credenciales operativas dedos usuarios alternativos que pueden obtener acceso a la base de datos.

Paso 5: Eliminación (p. 25)

En el último paso, quite la instancia de la base de datos de Amazon RDS y los secretos que creó paraevitar que se generen costos innecesarios.

Requisitos previos• En este tutorial, se supone que tiene acceso a una cuenta de AWS y que puede iniciar sesión en AWS

como usuario con permisos completos para configurar AWS Secrets Manager y Amazon RDS en laconsola o utilizando los comandos equivalentes de la AWS CLI.

• Debe completar los pasos del tutorial Tutorial: Rotación de un secreto para una base de datos deAWS (p. 16), sin eliminar la base de datos y el usuario como se describe en la sección final, y se leproporcionan los siguientes elementos:• Una base de datos MySQL de Amazon RDS llamada MyTestDatabase que se ejecuta en una

instancia llamada MyTestDatabaseInstance.• Un usuario maestro denominado adminuser con permisos administrativos.• Un secreto llamado adminuser con las credenciales almacenadas en Secrets Manager.

Paso 1: Crear un nuevo usuario de la base de datos y un secretode usuarioDespués del tutorial original, dispone de una base de datos de MySQL de Amazon RDS con un únicousuario maestro administrador. También tiene un secreto que puede usar para recuperar las credencialesmás recientes para el usuario maestro. En este paso, creará un nuevo usuario más limitado y almacenarásus credenciales en un secreto. Este secreto lo puede usar, por ejemplo, una aplicación móvil que consulteinformación de la base de datos. El usuario no requiere ningún otro permiso.

a. Abra su MySQLWorkbench y elija su conexión MyTestDatabaseInstance e inicie sesión en la base dedatos.

b. En la interfaz de Query 1 (Consulta 1), escriba CREATE USER mytestuser IDENTIFIED BY'userpassword';.

c.

Ejecute la consulta utilizando el icono .

Revise el Action Output (Resultado de la acción) para ver que la consulta se ha completadocorrectamente.

d. Elimine la consulta anterior de la Query 1 (Consulta 1).e. Escriba el texto siguiente en la Query 1 (Consulta 1): GRANT SELECT on *.* TO mytestuser, y

ejecute la consulta.f. Revise el Action Output (Resultado de la acción) para ver que la consulta se ha completado

correctamente.

23

Page 30: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secreto

de usuario con un secreto maestro

Creación de un nuevo secreto mediante la consola

a. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.b. En la página con la lista de secretos en su cuenta, elija Store a new secret (Almacenar un nuevo

secreto).c. En la página Create Secret (Crear secreto), en la sección Select secret type (Seleccionar tipo de

secreto), elija Credentials for RDS database (Credenciales para base de datos de RDS).d. En User name (Nombre de usuario), escriba mytestuser para que coincida con el nombre de usuario

que creó en el paso 1b.e. En Password (Contraseña), escriba la misma contraseña que proporcionó para mytestuser en el paso

1b.f. En Select the encryption key (Seleccionar la clave de cifrado), deje el valor DefaultEncryptionKey.g. En Select which RDS database this secret will access (Seleccionar a qué base de datos de RDS tendrá

acceso este secreto), elija la instancia MyTestDatabaseInstance que creó en el tutorial anterior.h. Elija Next (Siguiente).i. En la sección Secret name and description (Nombre y descripción del secreto), en Secret name

(Nombre de secreto), escriba MyTestDatabaseUserSecret.j. En la sección Configure automatic rotation (Configurar rotación automática), deje la rotación

deshabilitada por el momento. Elija Next (Siguiente).k. En la sección Review (Revisar), verifique datos y, a continuación, seleccione Store (Almacenar).

Vuelve a la lista de secretos que ahora incluye el secreto nuevo.

Paso 2: Validar el secreto inicialAntes de configurar el secreto para rotar de forma automática, debe verificar que la información del secretoes correcta y se puede conectar a la base de datos. En el tutorial anterior, instaló el componente de clienteMySQLWorkbench. Continúe utilizando el cliente MySQLWorkbench en este tutorial.

Puede obtener el secreto utilizando la AWS CLI o la consola de Secrets Manager. Corte y pegue el nombrede usuario y la contraseña en su cliente de base de datos MySQL.

a. Abra su MySQLWorkbench y elija + para crear una nueva conexión.b. En Connection Name (Nombre de conexión), escriba MyTestUser.c. Copie y pegue su nombre de host MySQL en Hostname (Nombre de host). Deje el puerto en 3306d. En Username (Nombre de usuario), escriba mytestuser y elija Test connection (Probar conexión).e. MySQLWorkbench devuelve un mensaje que indica que se ha conectado correctamente a la base de

datos.

Paso 3: Configurar la rotación del secretoDespués de validar las credenciales iniciales en el secreto, puede configurar y comenzar la primerarotación.

a. En la consola de Secrets Manager, elija el secreto MyTestDatabaseUserSecret.b. En la página de detalles del secreto, en la sección Rotation configuration (Configuración de rotación),

elija Edit rotation (Editar rotación).c. En la página Edit rotation configuration (Editar configuración de rotación), elija Enable automatic rotation

(Habilitar rotación automática).d. En Select rotation interval (Seleccionar intervalo de rotación), elija 30 days (30 días).e. Elija una función Lambda de la lista.

24

Page 31: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioTutorial: Rotación de un secreto

de usuario con un secreto maestro

f. En Select which secret will be used to perform the rotation (Seleccione el secreto que se utilizará pararealizar la rotación), elija Use a secret that I have previously stored in AWS Secrets Manager (Utilizar unsecreto que he almacenado previamente en AWS Secrets Manager).

g. En la lista de secretos que aparece, elija MyTestDatabaseMasterSecret.h. Elija Save (Guardar).

Paso 4: Verificar la rotación correctaAhora que ha rotado el secreto, puede confirmar que las nuevas credenciales del secreto funcionan paraconectarse con la base de datos.

a. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.b. En la página de lista Secrets (Secretos), elija el nombre de su secreto de usuario.c. Elija Retrieve secret value (Recuperar el valor del secreto) y consulte su contraseña actual. El valor del

secreto debe ser la contraseña original o una nueva creada mediante una rotación correcta. Si sigueviendo la contraseña original, cierre la sección Secret value (Valor del secreto) y vuelva a abrirla hastaque el valor del secreto cambie correctamente. Este paso puede tardar unos minutos.

d. Cuando aparezca el nuevo secreto, cópielo y péguelo en la conexión MyTestUser deMySQLWorkbench .

e. MySQL Workbench devuelve un mensaje indicando que ha iniciado sesión correctamente en la base dedatos con el nuevo secreto.

Paso 5: EliminaciónComo las bases de datos y los secretos pueden generar cargos en su factura de AWS, debe quitar lainstancia de base de datos y el secreto que creó en este tutorial.

Eliminar el secreto

a. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.b. En la lista de secretos, elija el secreto MyTestDatabaseSecret que creó para este tutorial.c. Elija Actions (Acciones) y Delete secret (Eliminar secreto).d. En el cuadro de diálogo Schedule secret deletion (Programar la eliminación de secretos), en Enter a

waiting period (Escriba un periodo de espera) escriba 7, el valor mínimo permitido.e. Elija Schedule deletion.

Después de que transcurra el número de días de la ventana de recuperación, Secrets Managereliminará el secreto de forma permanente.

Para eliminar la instancia de base de datos

a. Abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.b. En el panel de navegación, elija Instances (Instancias).c. En la lista de instancias disponibles, elija la instancia MyTestDatabaseInstance que creó para este

tutorial.d. Elija Instance actions y, a continuación, Delete.e. En la página Delete DB Instance (Eliminar instancia de base de datos), en la sección Options

(Opciones), para Create final snapshot (Crear instantánea final), elija No.f. Seleccione la confirmación de que perderá todos los datos y, a continuación, elija Delete (Eliminar).

25

Page 32: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioProtección de la información confidencial adicional

AWS Secrets Manager Prácticasrecomendadas

Las siguientes recomendaciones le ayudan a utilizar de forma más segura AWS Secrets Manager:

Temas• Protección de la información confidencial adicional (p. 26)• Mejorar del rendimiento mediante el uso de los componentes de almacenamiento en caché del lado del

cliente proporcionados por AWS (p. 27)• Reducir los riesgos de registro y depuración de la función Lambda (p. 27)• Reducir los riesgos de usar la CLI de AWS para guardar secretos (p. 27)• Acceso entre cuentas: ¿se debe especificar un usuario/rol o la cuenta? (p. 29)• Ejecución de todo en una VPC (p. 30)• Etiquetar los secretos (p. 30)• Rotación de secretos en una programación (p. 31)• Auditoría del acceso a los secretos (p. 31)• Monitorización de sus secretos con AWS Config (p. 31)

Protección de la información confidencial adicionalEs frecuente que un secreto incluya otros elementos de información además del nombre de usuarioy la contraseña. En función de la base de datos, servicio o sitio web puede elegir incluir informaciónconfidencial adicional. Estos datos pueden incluir indicaciones de contraseña o pares de pregunta yrespuesta que puede utilizar para recuperar la contraseña.

Asegúrese de que protege cualquier información que pueda usarse para obtener acceso a las credencialesdel secreto con idéntica seguridad que las propias credenciales. No guarde este tipo de información enDescription ni en otra parte no cifrada del secreto.

En su lugar, guarde toda la información confidencial como parte del valor del secreto cifrado en los camposSecretString o SecretBinary. Puede almacenar hasta 65536 bytes en el secreto. En el campoSecretString, el texto normalmente adopta la forma de pares de cadena de clave-valor JSON, tal ycomo se muestra en el ejemplo siguiente:

{ "engine": "mysql", "username": "user1", "password": "i29wwX!%9wFV", "host": "my-database-endpoint.us-east-1.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306"}

26

Page 33: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioMejorar del rendimiento mediante el uso de los

componentes de almacenamiento en cachédel lado del cliente proporcionados por AWS

Mejorar del rendimiento mediante el uso de loscomponentes de almacenamiento en caché del ladodel cliente proporcionados por AWS

Para utilizar sus secretos de la manera más eficiente, no debe recuperar solo el valor del secreto deSecrets Manager cada vez que necesite utilizar las credenciales. En su lugar, utilice un componente decliente de Secrets Manager compatible para almacenar sus secretos en caché y actualizarlos solo cuandosea necesario debido a la rotación. AWS ha creado dichos componentes de cliente y los ha puesto a sudisposición como código abierto. Para obtener más información, consulte Uso de los componentes dealmacenamiento en caché del lado cliente desarrollados por AWS en código abierto (p. 63)

Reducir los riesgos de registro y depuración de lafunción Lambda

Cuando cree una función de rotación de Lambda personalizada para respaldar el secreto de SecretsManager, tenga cuidado con la inclusión de instrucciones de depuración o registro en la función. Estasinstrucciones pueden hacer que la información de la función se escriba en CloudWatch. Asegúrese de queel registro de información en CloudWatch no incluya ninguna de la información confidencial almacenada enel valor del secreto cifrado. Además, si elige incluir alguna de estas instrucciones en el código durante eldesarrollo con fines de pruebas y depuración, asegúrese de quitar dichas líneas del código antes de utilizarel código en producción. Además, recuerde eliminar cualquier registro, incluida la información confidencialrecopilada durante el desarrollo una vez que ya no la necesite.

Las funciones de Lambda proporcionadas por AWS y las bases de datos admitidas (p. 4) no incluyeninstrucciones de registro y depuración.

Reducir los riesgos de usar la CLI de AWS paraguardar secretos

Cuando utilice la AWS Command Line Interface (AWS CLI) para invocar las operaciones de AWS, escribadichos comandos en un shell de comandos. Por ejemplo, puede utilizar el símbolo del sistema de Windowso Windows PowerShell o el Bash o Z shell, entre otros. Muchos de estos shells de comandos incluyen unafuncionalidad diseñada para aumentar la productividad. Sin embargo, esta funcionalidad se puede utilizarpara poner en riesgo sus secretos. Por ejemplo, en la mayoría de los shells, puede utilizar la tecla flechaarriba para ver el último comando escrito. La característica de historial de comandos puede ser explotadapor cualquier persona que acceda a su sesión no protegida. Además, otras utilidades que funcionan ensegundo plano podrían obtener acceso a los parámetros de comandos, con el fin de ayudarle a realizar lastareas con más eficacia. Para reducir estos riesgos, asegúrese de que realiza los pasos siguientes:

• Bloquee siempre el equipo cuando abandona la consola.• Desinstale o deshabilite las utilidades de la consola que ya no necesita o no usa.• Asegúrese de que el shell o el programa de acceso remoto, si está utilizando uno, no registren los

comandos que se escriben.• Utilice técnicas para pasar parámetros que no se registren en el historial de comandos del shell. En

el siguiente ejemplo, se muestra cómo puede escribir el texto del secreto en un archivo de texto, que

27

Page 34: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioReducir los riesgos de usar la CLI

de AWS para guardar secretos

después se transfiere al comando de AWS Secrets Manager y se destruye inmediatamente. Estosignifica que el texto del secreto no se captura en el historial de shll habitual.

En el siguiente ejemplo se muestran los comandos de Linux habituales (es posible que su shell necesiteunos comandos ligeramente diferentes):

$ touch secret.txt # Creates an empty text file$ chmod go-rx secret.txt # Restricts access to the file to only the user$ cat > secret.txt # Redirects standard input (STDIN) to the text fileThisIsMyTopSecretPassword^Z # Everything the user types from this point up to the CTRL-D (^D) is saved in the file$ aws secretsmanager create-secret --name TestSecret --secret-string file://secret.txt # The Secrets Manager command takes the --secret-string parameter from the contents of the file$ shred -u secret.txt # The file is destroyed so it can no longer be accessed.

Después de ejecutar estos comandos, puede usar las flechas de dirección arriba y abajo para desplazarsepor el historial de comandos y comprobar que el texto del secreto no se muestra en ninguna línea.

Important

De forma predeterminada, no puede realizar una técnica equivalente en Windows a menos quereduzca primero el tamaño del búfer del historial de comandos a 1.

Para configurar la ventana del símbolo del sistema de Windows de forma que solo tenga un búferde historial de comandos de un comando

1. Abra un símbolo del sistema de administrador (Run as administrator (Ejecutar como administrador)).2. Elija el icono en la parte superior izquierda y, a continuación, elija Properties (Propiedades).3. En la pestaña Opciones, establezca Tamaño del búfer y Número de búferes en 1, y después elija

Aceptar.4. Siempre que tenga que escribir un comando que no desea que aparezca en el historial, escriba

inmediatamente después otro comando como:

echo.

Esto garantiza la purga del comando confidencial.

Para el shell del símbolo del sistema de Windows, puede descargar la herramienta SysInternals SDelete ydespués utilizar comandos similares a los siguientes:

C:\> echo. 2> secret.txt # Creates an empty fileC:\> icacls secret.txt /remove "BUILTIN\Administrators" "NT AUTHORITY/SYSTEM" /inheritance:r # Restricts access to the file to only the ownerC:\> copy con secret.txt /y # Redirects the keyboard to text file, suppressing prompt to overwriteTHIS IS MY TOP SECRET PASSWORD^Z # Everything the user types from this point up to the CTRL-Z (^Z) is saved in the fileC:\> aws secretsmanager create-secret --name TestSecret --secret-string file://secret.txt # The Secrets Manager command takes the --secret-string parameter from the contents of the file

28

Page 35: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAcceso entre cuentas: ¿se debe

especificar un usuario/rol o la cuenta?

C:\> sdelete secret.txt # The file is destroyed so it can no longer be accessed.

Acceso entre cuentas: ¿se debe especificar unusuario/rol o la cuenta?

Si desea utilizar una política basada en recursos asociada a un secreto para conceder acceso a unaentidad principal de IAM situada en otra cuenta de AWS, dispone de dos opciones:

• Especifique solo el otro ID de cuenta: en el elemento Principal de la instrucción, especifiqueel nombre de recurso de Amazon (ARN) de la raíz de la cuenta "externa". Esto permite que eladministrador de la cuenta foránea delegue el acceso a los roles de la cuenta foránea. Después, eladministrador debe asignar las políticas de permisos de IAM al rol o los roles que necesitan obteneracceso al secreto.

"Principal": {"AWS": arn:aws:iam::AccountId:root}

• Especifique exactamente el usuario o el rol de la otra cuenta: debe especificar un usuario o el ARNdel rol exacto como la entidad Principal de una política basada en secretos. El ARN se obtiene deladministrador de la otra cuenta. Solo ese usuario o rol concreto de la cuenta puede obtener acceso alrecurso.

"Principal": [ {"AWS": "arn:aws:iam::AccountId:role/MyCrossAccountRole"}, {"AWS": "arn:aws:iam::AccountId:user/MyUserName"}]

Como práctica recomendada, aconsejamos que especifique solo la cuenta en la política basada ensecretos, por las razones siguientes:

• En ambos casos, confía en el administrador de la otra cuenta. En el primer caso, confía en eladministrador para garantizar que solo obtienen acceso las personas autorizadas al usuario de IAMo pueden asumir el rol especificado. Esto crea básicamente el mismo nivel de confianza que cuandosolo se especifica el ID de la cuenta. Se confía en la cuenta y en el administrador. Cuando especificaúnicamente el ID de la cuenta, le concede al administrador flexibilidad para administrar los usuarios.

• Cuando especifica un rol exacto, IAM convierte internamente el rol en un "ID de entidad principal"exclusivo de dicho rol. Si elimina el rol y vuelve a crearlo con el mismo nombre, el rol recibe un nuevo IDde entidad principal. Esto significa que el nuevo rol no obtendrá acceso al recurso automáticamente. IAMproporciona esta funcionalidad por razones de seguridad y significa que, si se produce una eliminación yuna restauración accidental, el acceso podría "romperse".

Cuando se conceden permisos únicamente a la raíz de la cuenta, ese conjunto de permisos se convierteen el límite de las opciones que el administrador de esa cuenta puede delegar en los usuarios y roles. Eladministrador no puede conceder un permiso al recurso si usted no se lo ha concedido primero a la cuenta.

Important

Si elige conceder acceso entre cuentas directamente al secreto sin utilizar un rol, el secreto sedebe cifrar mediante una clave maestra de cliente AWS KMS (CMK) personalizada. Se debeconceder permiso a un principal de otra cuenta distinta tanto al secreto como a la CMK de AWSKMS personalizada.

29

Page 36: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjecución de todo en una VPC

Ejecución de todo en una VPCSiempre que sea posible, debe ejecutar tanto como pueda de su infraestructura en redes privadas que nosean accesibles desde la internet pública. Para ello, aloje sus servidores y servicios en una nube virtualprivada (VPC) proporcionada por Amazon VPC. AWS proporciona una red privada virtualizada accesibleúnicamente a los recursos de su cuenta. El acceso a la red pública de internet no puede ver ni acceder, amenos que se configure explícitamente para que tenga acceso. Por ejemplo, podría agregar un gatewayNAT. Para obtener información completa acerca de Amazon VPC, consulte la Guía del usuario de AmazonVPC.

Para habilitar la rotación de secretos dentro de un entorno de VPC, siga estos pasos:

1. Configure su función de rotación de Lambda para que se ejecute dentro de la misma VPC que elservidor de base de datos o del servicio con un secreto rotado. Para obtener más información, consulteConfiguración de una función Lambda para obtener acceso a recursos en una Amazon VPC en la AWSLambda Developer Guide.

2. La función de rotación de Lambda, que se ejecuta ahora desde su VPC, debe ser capaz de acceder aun punto de enlace de servicio de Secrets Manager. Si la VPC no tiene conectividad directa a Internet,puede configurar la VPC con un punto de enlace de Secrets Manager privado al que pueden accedertodos los recursos de la VPC. Para obtener más información, consulte Configuración de la red paraadmitir la rotación de secretos (p. 77).

Etiquetar los secretosVarios servicios de AWS le permiten agregar etiquetas a los recursos, mientras que Secrets Managerle permite etiquetar los secretos. En Secrets Manager, una etiqueta es una sencilla descripción quese compone de una clave definida por el cliente y un valor opcional. Puede utilizar las etiquetas paraadministrar, buscar y filtrar los recursos de su cuenta de AWS. Al etiquetar los secretos, asegúrese deseguir estas directrices:

• Utilice un esquema de nomenclatura estandarizado en todos los recursos. Recuerde que las etiquetasdistinguen entre mayúsculas y minúsculas.

• Cree conjuntos de etiquetas que le permitan realizar lo siguiente:• Seguridad/control de acceso: puede conceder o denegar el acceso a un secreto comprobando las

etiquetas que se asocian a él.• Asignación y seguimiento de costos: puede agrupar y categorizar sus facturas de AWS por etiquetas.

Para obtener más información, consulte Uso de etiquetas de asignación de costos en la Guía delusuario de AWS Billing and Cost Management.

• Automatización: puede utilizar etiquetas para filtrar recursos para actividades de automatización. Porejemplo, algunos clientes ejecutan scripts de inicio/parada automatizados para desactivar los entornosde desarrollo durante las horas no laborables para reducir los costos. Puede crear y, a continuación,buscar una etiqueta que indique si se debe incluir una instancia Amazon EC2 específica en el cierre.

• Consola de administración de AWS: algunas consolas de servicio de AWS le permiten organizar losrecursos mostrados según las etiquetas, y ordenar y filtrar por etiquetas. AWS también proporciona laherramienta Grupos de recursos para crear una consola personalizada que consolida y organiza losrecursos basándose en sus etiquetas. Para obtener más información, consulte Uso de los grupos derecursos en la Guía de introducción a Consola de administración de AWS.

Use etiquetas de forma creativa para administrar sus secretos. Recuerde que nunca debe almacenarinformación confidencial para un secreto en una etiqueta.

Puede etiquetar tus secretos cuando los cree (p. 53) o cuando los edite (p. 57).

30

Page 37: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos en una programación

Para obtener más información, consulte Estrategias de etiquetado de AWS en el sitio web de respuestasde AWS.

Rotación de secretos en una programaciónSi no cambia sus secretos durante un largo período de tiempo, los secretos se vuelven más propensosa ser comprometidos. Ya que hay más usuarios que acceden a un secreto, es posible que alguien hayacometido un error y lo haya filtrado a una entidad no autorizada. Los secretos se pueden filtrar a travésde registros y datos de caché. Pueden compartirse con fines de depuración y no pueden cambiarse nirevocarse una vez que se complete la depuración. Por todas estas razones, los secretos deben rotarse confrecuencia.

Configure Secrets Manager para rotar sus secretos con frecuencia para evitar usar los mismos secretos ensus aplicaciones.

Consulte Rotación de sus secretos de AWS Secrets Manager (p. 74)

Auditoría del acceso a los secretosSe recomienda que supervise el uso de sus secretos y registre cualquier cambio que haya en ellos. Estole ayuda a asegurarse de que puede investigar cualquier uso o cambio inesperado y de que puede revertirlos cambios no deseados.

Puede supervisar el acceso a los secretos mediante AWS CloudTrail para registrar toda la actividad enSecrets Manager. Además, debe establecer comprobaciones automatizadas para el uso inadecuado desecretos.

Consulte Monitoreo del uso de los secretos de AWS Secrets Manager (p. 134)

Monitorización de sus secretos con AWS ConfigAWS Secrets Manager se integra con AWS Config y proporciona un seguimiento más sencillo de loscambios secretos en Secrets Manager. AWS Config puede ayudarle a definir las directrices internas dela organización sobre las prácticas recomendadas de gestión de secretos. Además, puede identificarrápidamente secretos que no se ajustan a sus reglas de seguridad, así como recibir notificaciones deAmazon SNS sobre los cambios de configuración de los secretos.

Consulte Monitorear secretos de Secrets Manager mediante AWS Config (p. 152)

31

Page 38: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioInformación general

Autenticación y control de acceso deAWS Secrets Manager

El acceso a AWS Secrets Manager requiere credenciales de AWS. Estas credenciales deben tenerpermiso para acceder a los recursos de AWS a los que desea obtener acceso, por ejemplo, los secretos deSecrets Manager. En las secciones siguientes se ofrece información detallada sobre el modo de utilizar laspolíticas de AWS Identity and Access Management (IAM) para ayudar a proteger el acceso a los secretos ycontrolar quién puede administrarlos.

El acceso a los secretos debe estar estrictamente controlado porque los secretos contienen informaciónextremadamente confidencial. Mediante la utilización de las capacidades de permisos de AWS y laspolíticas de permisos de IAM, puede controlar qué usuarios o servicios obtienen acceso a los secretos.Puede especificar qué API, CLI y operaciones de la consola tiene el usuario a su disposición en lossecretos autorizados. Con las características del acceso detallado del lenguaje de políticas de IAM, puedelimitar el acceso de los usuarios a un subconjunto de los secretos —o incluso a un secreto concreto—usando etiquetas como filtros. También puede restringir el acceso a versiones concretas de un secretousando etiquetas de ensayo como filtros.

Asimismo puede determinar quién puede administrar qué secretos. Especifique quién actualiza o modificalos secretos y los metadatos asociados. Si tiene permisos de administrador para el servicio de AWSSecrets Manager, puede delegar el acceso a las tareas de Secrets Manager otorgando permisos a otrosusuarios.

Puede asociar políticas de permisos a los usuarios, grupos y roles, y especificar los secretos a los quepueden acceder las identidades asociadas. Secrets Manager denomina este proceso políticas basadasen identidades. Por otro lado, también puede asociar una política de permisos directamente al secretoy especificar el acceso al mismo. Secrets Manager denomina este proceso política basada en recursos.En ambos casos, esas políticas especifican las acciones que puede realizar cada entidad principal ensecretos.

Para obtener más información general acerca de las políticas de permisos de IAM, consulte Políticas deIAM en la Guía del usuario de IAM.

Para ver los permisos disponibles específicamente para su uso con AWS Secrets Manager, consulteAcciones, recursos y claves de contexto que puede utilizar en una política de IAM o política de secretospara AWS Secrets Manager (p. 170).

En las siguientes secciones se describe cómo administrar los permisos de AWS Secrets Manager. Lerecomendamos que lea primero la información general.

• Introducción a la administración de permisos de acceso a los secretos de Secrets Manager (p. 32)• Uso de políticas basadas en identidad (políticas de IAM) para Secrets Manager (p. 41)• Uso de políticas basadas en recursos para Secrets Manager (p. 47)

Introducción a la administración de permisos deacceso a los secretos de Secrets Manager

Una cuenta de AWS posee todos los recursos de AWS, incluidos los secretos que se guardan en AWSSecrets Manager. AWS dispone de políticas de permisos para crear u obtener acceso a los recursos. Unadministrador de la cuenta puede controlar el acceso a los recursos de AWS asociando directamentepolíticas de permisos a los recursos, los secretos o a las identidades de IAM, usuarios, grupos y roles, quenecesitan acceder a los recursos.

32

Page 39: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAutenticación

Note

Un administrador, o usuario administrador, tiene permisos de administrador. Esto suele significarque tiene permisos para realizar todas las operaciones en todos los recursos de un servicio. Paraobtener más información, consulte la sección IAM Best Practices en la guía IAM User Guide.

Un administrador de cuentas para Secrets Manager puede realizar tareas administrativas, incluida ladelegación de permisos de administrador a otros usuarios o roles de IAM en la cuenta. Para ello, asociauna política de permisos de IAM a un usuario, grupo o rol de IAM. De forma predeterminada, un usuariono tiene permisos en absoluto, lo que significa que el usuario tiene una denegación implícita. La políticaque asocie invalida la denegación implícita con un permiso explícito que especifica las acciones que puederealizar el usuario y los recursos en los que puede realizar las acciones. La política se puede asociar ausuarios, grupos y roles dentro de la cuenta. Si concede los permisos a un rol, el rol puede ser asumidopor usuarios de otras cuentas de la organización.

Temas• Autenticación (p. 33)• Control de acceso y autorización (p. 34)

AutenticaciónAWS define la autenticación como el proceso de establecer una identidad que lo represente en losservicios a los que accede. Normalmente, un administrador le asigna una identidad y usted accede a ellaproporcionando credenciales con la solicitud, como un nombre de usuario y una contraseña—o cifrando lasolicitud con una clave de acceso de AWS.

AWS admite los siguientes tipos de identidades:

• Usuario raíz de cuenta de AWS: cuando se registra en AWS, proporciona una dirección de correoelectrónico y una contraseña para su cuenta de AWS. AWS utiliza esta información como credencialespara el usuario raíz de la cuenta y proporciona acceso completo a todos los recursos de AWS.

Important

Por motivos de seguridad, le recomendamos que solamente utilice las credenciales de usuarioraíz para crear un usuario administrador, que es un usuario de IAM con todos los permisossobre la cuenta de AWS. A continuación, puede utilizar este usuario administrador para crearotros usuarios y funciones de IAM con permisos específicos para un trabajo o rol. Para obtenermás información, consulte Crear usuarios de IAM individuales (prácticas recomendadas de IAM)y Creación de un grupo y usuario administrador en la Guía del usuario de IAM.

• Usuario de IAM: un usuario de IAM es una identidad de la cuenta de AWS que tiene permisosespecíficos; por ejemplo, permisos para acceder a un secreto de Secrets Manager. Puede utilizar unnombre de usuario de IAM y una contraseña para iniciar sesión en páginas web seguras de AWS, comola Consola de administración de AWS, los foros de debate de AWS o el Centro de soporte de AWS.

Además de un nombre de usuario y una contraseña, también puede crear claves de acceso para cadausuario a fin de habilitarle el acceso a los servicios de AWS mediante programación, a través de uno delos SDK de AWS o las herramientas de línea de comandos. Los SDK y las herramientas de la línea decomandos usan las claves de acceso para firmar criptográficamente las solicitudes de API. Si no utilizalas herramientas de AWS, debe firmar explícitamente las solicitudes de la API. AWS KMS es compatiblecon Signature Version 4, un protocolo de AWS para autenticar solicitudes de API. Para obtener másinformación sobre las solicitudes de API, consulte Proceso de firma Signature Version 4 en la Referenciageneral de AWS.

• Rol de IAM: puede crear un rol de IAM en la cuenta con permisos específicos. Al igual que los usuariosde IAM, el rol de IAM no está asociado a una persona específica. Un rol de IAM le permite obtener

33

Page 40: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

claves de acceso temporales para obtener acceso a los recursos y servicios de AWS medianteprogramación. Las funciones de AWS se vuelven útiles en los siguientes casos:• Acceso de usuarios federados: en lugar de crear un usuario de IAM, puede usar identidades de

usuario preexistentes de AWS Directory Service, el directorio de usuarios de la compañía o de unproveedor de identidad web (IdP). Esto se conoce como usuarios federados. Los proveedores deidentidades asocian roles de IAM con usuarios federados. Para obtener más información acerca de losusuarios federados, consulte Usuarios y roles federados en la Guía del usuario de IAM.

• Acceso entre cuentas: puede utilizar un rol de IAM de su cuenta de AWS para conceder permisosa otra cuenta de AWS para que tenga acceso a los recursos de su cuenta. Para ver un ejemplo,consulte Tutorial: Delegate Access Across AWS Accounts Using IAM Roles en la Guía del usuario deIAM.

• Acceso a servicios de AWS: puede utilizar un rol de IAM de su cuenta para conceder permisos a unservicio de AWS para obtener acceso a los recursos de su cuenta. Por ejemplo, puede crear un rolque permita a Amazon Redshift tener acceso a un bucket de S3 en su nombre y, a continuación,cargar los datos almacenados en el bucket de S3 en un clúster de Amazon Redshift. Para obtenermás información, consulte Creating a Role to Delegate Permissions to an AWS Service en la Guía delusuario de IAM.

• Aplicaciones que se ejecutan en instancias EC2: en lugar de almacenar claves de acceso en lainstancia EC2 para que las usen aplicaciones que se ejecutan en la instancia y que envían solicitudesde API de AWS, puede usar un rol de IAM para proporcionar claves de acceso temporales a estasaplicaciones. Para asignar un rol de IAM a una instancia EC2, cree un perfil de instancia y, acontinuación, asócielo al perfil al lanzar la instancia. Un perfil de instancia contiene el rol de IAM ypermite a las aplicaciones que se encuentran en ejecución en la instancia EC2 obtener claves deacceso temporales. Para obtener más información, consulte Using Roles for Applications on AmazonEC2 en la &guide-iam-user.

Después de iniciar sesión con una identidad, utilizará el control de acceso y la autorización para establecerlas tareas que puede realizar a través de su identidad.

Control de acceso y autorizaciónAunque tenga una identidad válida con credenciales para autenticar las solicitudes, también necesitapermisos para que las solicitudes de API de Secrets Manager creen, administren o usen recursos deSecrets Manager. Por ejemplo, debe disponer de permisos para crear un secreto, para administrar elsecreto y para recuperar el secreto, así como para otras tareas. En las secciones siguientes se describe laadministración de permisos para Secrets Manager.

Políticas de Secrets Manager: Combinación de recursos yaccionesEn esta sección se explica cómo se corresponden los conceptos de Secrets Manager con los conceptosequivalentes de IAM.

Políticas

Secrets Manager concede permisos, al igual que en casi todos los servicios de AWS, mediante la creacióny asociación de políticas de permisos. Las políticas tienen dos tipos básicos:

• Políticas basadas en identidades: se asocian directamente a un usuario, grupo o rol. La políticaespecifica las tareas permitidas para la identidad asociada. El usuario asociado se convierte automáticae implícitamente en el Principal de la política. Puede especificar las Actions que la identidad puederealizar y los Resources en los que la identidad puede realizar las acciones. Las políticas le permitenrealizar las siguientes acciones:• Conceder acceso a numerosos recursos para compartirlos con la identidad.

34

Page 41: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

• Controlar el acceso a las API para recursos inexistentes, como las distintas operaciones Create*.• Conceder acceso a un recurso a un grupo de IAM.

• Políticas basadas en recursos: asociadas directamente a un recurso, en este caso, un secreto. Lapolítica especifica el acceso al secreto y las acciones que el usuario realiza sobre el secreto. El secretoasociado se convierte automática e implícitamente en el Resource de la política. Puede especificar lasPrincipals accediendo al secreto y a las Actionsque las entidades principales pueden realizar. Laspolíticas le permiten realizar las siguientes acciones:• Conceder acceso a varios principales (usuarios o funciones) a un solo secreto. Tenga en cuenta que

no puede especificar un grupo de IAM como entidad principal en una política basada en recursos. Sololos usuarios y roles pueden ser entidades principales.

• Para conceder acceso a los usuarios o funciones de otras cuentas de AWS, especifique los ID decuenta en el elemento Principal de la instrucción de la política. Si necesita un acceso "entrecuentas" a un secreto, entonces esta es una de las principales razones para utilizar una políticabasada en recursos.

¿Qué tipo debe utilizar? Aunque sus funcionalidades se solapan mucho, hay situaciones en las queuna tiene una gran ventaja sobre la otra y ambas deben tener cabida en su estrategia de seguridad.Aunque cualquiera de las políticas funcionaría igual de bien, elija el tipo que simplifique las tareas demantenimiento de las políticas en caso de que cambien las personas de su organización.

Important

Cuando una entidad principal de IAM en una cuenta accede a un secreto que se encuentra en unacuenta distinta, el secreto debe cifrarse utilizando una clave maestra del cliente (CMK) de AWSKMS personalizada. Un secreto que está cifrado con la CMK de Secrets Manager predeterminadapara la cuenta solo lo pueden descifrar las entidades principales de esa cuenta. Una entidadprincipal de una cuenta distinta requerirá que se le conceda permiso tanto al secreto como a laCMK de AWS KMS personalizada.Como alternativa, puede conceder al usuario acceso entre cuentas y asumir un rol de IAM en lamisma cuenta que el secreto. Dado que el rol se encuentra en la misma cuenta que el secreto, elrol puede acceder a secretos que están cifrados con la clave de AWS KMS predeterminada parala cuenta.

RecursosEn Secrets Manager, controla el acceso a sus secretos.

Cada secreto tiene asociado un nombre de recurso de Amazon (ARN) único. Para controlar el acceso a unsecreto especifique el ARN en el elemento Resource de una política de permisos de IAM. El ARN de unsecreto tiene el siguiente formato:

arn:aws:secretsmanager:<region>:<account-id>:secret:optional-path/secret-name-6-random-characters

Titularidad de los recursos

La cuenta de AWS es la propietaria de los recursos que usted crea en ella, independientemente de quiénlos haya creado. En concreto, el propietario del recurso es la cuenta de AWS del usuario raíz, el usuariode IAM o el rol de IAM con credenciales para autenticar la solicitud de creación del recurso. Los siguientesejemplos ilustran cómo funciona:

• Si inicia sesión como la cuenta del usuario raíz para crear un secreto, la cuenta de AWS se convierte enla propietaria del recurso.

• Si crea un usuario de IAM en su cuenta y concede permisos a ese usuario para crear un secreto, elusuario puede crear un secreto. Sin embargo, la cuenta de AWS del usuario es la propietaria del secreto.

35

Page 42: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

• Si crea una rol de IAM en la cuenta con permisos para crear un secreto, cualquier persona que puedaasumir esa función podrá crear un secreto. La cuenta de AWS del rol, no el usuario que la asume, es lapropietaria del secreto.

Acciones y Operaciones

Secrets Manager proporciona un conjunto de operaciones (llamadas a API y comandos de CLI) paratrabajar con secretos. Las operaciones le permiten realizar acciones como crear, describir, acceder,modificar o eliminar secretos. Estas operaciones corresponden a la política acciones que puede utilizarpara conceder o denegar el acceso a dicha operación. En la mayoría de los casos, existe una relaciónde uno a uno entre las operaciones de la API y las acciones que puede asignar en una política. Paracontrolar el acceso a una operación, especifique su acción correspondiente en el elemento Action de unapolítica de IAM. Para obtener una lista de las acciones de Secrets Manager permitidas que se utilizan enuna política, consulte Acciones, recursos y claves de contexto que puede utilizar en una política de IAM opolítica de secretos para AWS Secrets Manager (p. 170).

• Cuando combina un elemento Action y un elemento Resource en una política de permisos basada enidentidades Statement, controla tanto las acciones realizadas como los recursos. Los límites se aplicanal usuario, grupo o rol de la política asociada.

• Al combinar un elemento Action y un elemento Principal en una política de permisos basada enrecursosStatement, controla tanto las acciones que pueden realizarse como los usuarios, grupos oroles (las entidades principales) que realizan esas acciones. Los límites se aplican al secreto con lapolítica asociada.

Si desea conceder permisos para crear nuevos secretos, utilice una política basada en identidadesasociada a sus usuarios, grupos o roles. Esta técnica también puede ser útil si desea administrar variossecretos juntos de forma similar.

Si desea conceder permisos para acceder a secretos existentes, puede usar una política basada enrecursos asociada al secreto.

Administración del acceso a los recursos con políticasUna política de permisos describe quién puede realizar qué acciones en qué recursos. En la siguientesección se explican las opciones disponibles para crear políticas de permisos y también se describenbrevemente los elementos que componen una política y los dos tipos de políticas para los que puede crearSecrets Manager.

Note

En esta sección, se explica cómo se utiliza IAM en el contexto de Secrets Manager, pero no seproporciona información detallada sobre el servicio de IAM. Para ver la documentación completade IAM, consulte Guía del usuario de IAM. Para obtener más información acerca de la sintaxis ydescripciones de la política de IAM, consulte Referencia de políticas de AWS IAM en la Guía delusuario de IAM.

Debe comprender que utiliza políticas de permisos basadas en secretos o en identidades para SecretsManager. Secrets Manager agrupa todas las políticas y procesos aplicados como una política grande. Estaestructura de reglas básica controla la interacción:

Denegación explícita >> Permiso explícito >> Denegación implícita (predeterminada)

En las solicitudes para llevar a cabo una operación de AWS referida a un recurso de AWS, se aplican lasreglas siguientes:

36

Page 43: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

• Si una instrucción en una política con una "denegación" explícita coincide con el recurso y la acción dela solicitud: la denegación explícita invalida todo lo demás y bloquea las acciones especificadas en losrecursos especificados.

• Si no hay una "denegación" explícita pero hay una instrucción con un "permiso" explícito que coincidecon el recurso y la acción de la solicitud: se aplica el permiso explícito que concede a las acciones deesa instrucción acceso a los recursos en esa instrucción.

• Si no hay una instrucción con una "denegación" explícita y no hay una instrucción con un "permiso"explícito que coincida con el recurso y la acción de la solicitud: AWS deniega implícitamente la solicitudde forma predeterminada.

Tiene que entender que una denegación implícita puede invalidarse con un permiso explícito. Unadenegación explícita no se puede invalidar.

Permisos efectivos cuando se aplican varias políticas

Política A Política B Permisos efectivos

Permite Silencio Acceso permitido

Permite Permite Acceso permitido

Permite Deniega Acceso denegado

Silencio Silencio Acceso denegado

Silencio Permite Acceso permitido

Silencio Deniega Acceso denegado

Deniega Silencio Acceso denegado

Deniega Permite Acceso denegado

Deniega Deniega Acceso denegado

La Política A y Política B pueden ser de cualquier tipo: una política basada en identidades de IAM adjuntaa un usuario o rol o una política basada en recursos adjunta al secreto. Puede incluir el efecto de políticasadicionales tomando el permiso efectivo de las dos primeras políticas (los resultados) y tratándolo comouna nueva Política A. A continuación, agregue los resultados de la tercera política como Política B y repitaesto para cada política adicional que se aplique.

Temas• Políticas administradas de AWS (p. 37)• Cómo especificar los elementos de la instrucción de la política (p. 38)• Políticas basadas en identidades (p. 39)• Políticas basadas en recursos (p. 40)

Políticas administradas de AWS

AWS aborda muchos casos de uso comunes. Para ello, proporciona políticas de IAM independientescreadas y administradas por AWS. Estas políticas administradas conceden los permisos necesarios paracasos de uso comunes, de modo que pueda evitar investigar los permisos necesarios. Para obtener másinformación, consulte Políticas administradas de AWS en la Guía del usuario de IAM.

Secrets Manager tiene una política administrada de AWS, que puede asociar a los usuarios de su cuenta:

37

Page 44: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

• SecretsManagerReadWrite: esta política se puede asociar a los usuarios y roles de IAM para administrarSecrets Manager. La política concede permisos completos al servicio de Secrets Manager y permisoslimitados a otros servicios, como AWS KMS, Amazon CloudFront, AWS Serverless ApplicationRepository y AWS Lambda.

Puede ver esta política en la Consola de administración de AWS.

Important

Por motivos de seguridad, esta política administrada no incluye los permisos de IAM que senecesitan para configurar la rotación. Debe conceder permisos de forma explícita por separado.Normalmente, se asocia la política administrada IAMFullAccess a un administrador de SecretsManager para que pueda configurar la rotación.

El equipo de Secrets Manager mantiene la política administrada de AWS, lo que puede ser una ventajaimportante de usar una política administrada de AWS. Si el proceso de rotación se amplía para incluirnuevas funcionalidades que requieran permisos adicionales, Secrets Manager agrega dichos permisos ala política administrada en ese momento. Sus funciones de rotación reciben automáticamente los nuevospermisos para que continúen operando según lo previsto sin interrupción.

Cómo especificar los elementos de la instrucción de la política

La siguiente sección contiene una breve descripción general de las políticas de permisos de IAM desdela perspectiva de Secrets Manager. Para obtener más detalles sobre la sintaxis de la política de IAM,consulte AWSReferencia de políticas de IAM en la Guía del usuario de IAM.

Secrets Manager define un conjunto de operaciones de API con los que interactuar de algún modo omanipular un secreto. Para conceder permisos para estas operaciones, Secrets Manager define unconjunto de acciones (p. 170) correspondientes que puede especificar en una política. Por ejemplo,Secrets Manager define acciones que funcionan en un secreto, como CreateSecret, GetSecretValue,ListSecrets y RotateSecret, entre otras.

Un documento de política debe tener un elemento Version. Recomendamos que utilice siempre laversión más reciente para asegurarse de utilizar todas las características disponibles. En la fecha depublicación de este documento, la única versión disponible es 2012-10-17 (la última versión).

Además, un documento de política de secreto debe tener un elemento Statement con una o másinstrucciones en una matriz. Cada instrucción puede contener un máximo de seis elementos:

• Sid (ID de instrucción): (opcional) puede usar Sid como identificador de instrucción, una cadenaarbitraria que identifica la instrucción. La cadena no puede contener espacios.

• Effect (Efecto): (obligatorio) utilice esta palabra clave para especificar si la instrucción de la políticapermite o deniega la acción en el recurso. Si no permite el acceso a un recurso de forma explícita, elacceso se deniega implícitamente. También puede denegar explícitamente el acceso a un recurso.Puede hacerlo para garantizar que un usuario no pueda realizar la acción especificada en el recursoespecificado, incluso si otra política distinta otorga acceso. Debe entender que cuando hay variasinstrucciones que se superponen, la denegación explícita en una instrucción invalida cualquier otrainstrucción permitida explícitamente. Las instrucciones con un permiso explícito invalidan la denegaciónimplícita presente de forma predeterminada.

• Action (Acción): (obligatorio) utilice esta palabra clave para identificar las acciones que deseapermitir o denegar. Estas acciones normalmente, pero no siempre, se corresponden uno a unocon las operaciones disponibles. Por ejemplo, en función del elemento Effect especificado,secretsmanager:PutSecretValue permite o deniega los permisos de usuario para realizar laoperación de .

• Resource (Recurso): (obligatorio) en una política basada en identidades asociada a un usuario, grupoo rol, utilice esta palabra clave para especificar el nombre de recurso de Amazon (ARN) del recurso alque se aplica la instrucción de la política. Si no desea que la instrucción limite el acceso a un recurso

38

Page 45: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

determinado, puede utilizar "*" y la instrucción resultante limita solo acciones. En una política basada enrecursos asociada a un secreto, el recurso siempre debe ser "*".

• Principal (Entidad principal): (obligatorio solo en políticas basadas en recursos) en políticas basadas enrecursos asociadas directamente a un secreto, especifique el usuario, rol, cuenta, servicio u otra entidadque quiere que reciba permisos. Este elemento no es válido en una política basada en identidades.En las políticas basadas en la identidad, el usuario o rol con la política asociada se convierte de formaautomática e implícita en la entidad principal.

• Condition (opcional): utilice esta palabra clave para especificar condiciones adicionales que deben serverdaderas para que la instrucción "coincida" y se aplique. Para obtener más información, consulteElementos de la política de JSON de IAM: Condition-

Políticas basadas en identidadesPuede asociar políticas a identidades de IAM. Por ejemplo, puede hacer lo siguiente:

• Asociar una política de permisos a un usuario o un grupo en su cuenta: para conceder permisos a unusuario para crear un secreto, puede asociar una política de permisos directamente al usuario a ungrupo al que pertenezca el usuario (opción recomendada).

• Asociar una política de permisos a un rol: puede asociar una política de permisos a un rol de IAM paraconceder acceso a un secreto a cualquiera que asuma el rol. Esto incluye usuarios en las siguientessituaciones:• Usuarios federados: puede conceder permisos a usuarios autenticados por un sistema de identidad

distinto de IAM. Por ejemplo, puede asociar roles de IAM a usuarios de aplicaciones móviles queinician sesión con Amazon Cognito. El rol concede credenciales temporales a la aplicación con lospermisos en la política de permisos del rol. Estos permisos pueden incluir el acceso a un secreto. Paraobtener más información, consulte ¿Qué es Amazon Cognito? en la Guía para desarrolladores deAmazon Cognito.

• Aplicaciones que se ejecutan en instancias EC2: puede conceder permisos a las aplicaciones quese ejecutan en una instancia Amazon EC2 asociando un rol de IAM a la instancia. Cuando unaaplicación en la instancia invoca una API de AWS, la aplicación puede recibir credenciales temporalesde AWS de los metadatos de la instancia. Estas credenciales temporales se asocian con un rol y estánlimitadas por la política de permisos del rol. Estos permisos pueden incluir el acceso a un secreto.

• Acceso entre cuentas: el administrador de la cuenta A puede crear un rol para conceder permisos a unusuario en una cuenta B diferente. Por ejemplo:1. El administrador de la cuenta A crea un rol de IAM y asocia una política de permisos al rol. La

política concede acceso a los secretos de la cuenta A y especifica las acciones que los usuariosrealizan sobre los secretos.

2. El administrador de la cuenta A asocia una política de confianza al rol, que identifica el ID de lacuenta B en el elemento Principal para especificar quién asume el rol.

3. Entonces, el administrador de la cuenta B puede delegar permisos a cualquier usuario de la cuentaB para permitirles asumir el rol de la cuenta A. De este modo los usuarios de la cuenta B puedenacceder a los secretos en la primera cuenta.

Si desea más información acerca del uso de IAM para delegar permisos, consulte Administración deaccesos en la Guía del usuario de IAM.

La siguiente política de ejemplo puede asociarse a un usuario, grupo o rol. La política permite que elusuario o rol afectados realicen las operaciones DescribeSecret y GetSecretValue en su cuentaúnicamente en secretos cuyo nombre comience con la ruta "TestEnv/". La política también restringe alusuario o al rol a recuperar únicamente la versión del secreto con la etiqueta de ensayo AWSCURRENTasociada. Sustituya los marcadores de posición <region> y <account_id> de los siguientes ejemplospor sus valores reales.

{

39

Page 46: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl de acceso y autorización

"Version": "2012-10-17", "Statement": [ { "Sid" : "Stmt1DescribeSecret", "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret" ], "Resource": "arn:aws:secretsmanager:<region>:<account_id>:secret:TestEnv/*" }, { "Sid" : "Stmt2GetSecretValue", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "arn:aws:secretsmanager:<region>:<account_id>:secret:TestEnv/*", "Condition" : { "ForAnyValue:StringLike" : { "secretsmanager:VersionStage" : "AWSCURRENT" } } } ]}

Dado que una versión del secreto puede tener varias etiquetas de ensayo asociadas, tendrá que utilizar"operadores de conjunto" del lenguaje de la política de IAM para compararlas en la política. En el ejemploanterior, ForAnyValue:StringLike afirma que si cualquiera de las etiquetas de ensayo asociadas a laversión del secreto que se evalúa coincide con la cadena "AWSCURRENT", entonces la instrucción coincidey se aplica la cadena Effect.

Para ver más ejemplos de políticas basadas en identidades, consulte Uso de políticas basadas enidentidad (políticas de IAM) para Secrets Manager (p. 41). Para obtener más información acerca delos usuarios, grupos, funciones y permisos, consulte Identidades (usuarios, grupos y roles) en la Guía delusuario de IAM.

Políticas basadas en recursos

Cada secreto de Secrets Manager puede tener asociada una política de permisos basada en recursos, unapolítica de secretos. Puede utilizar una política de secretos para conceder permisos entre cuentas comoalternativa a utilizar políticas basadas en identidades con funciones de IAM. Por ejemplo, puede concederpermisos a un usuario en la cuenta B para acceder a su secreto en la cuenta A agregando permisos a lapolítica de secretos e identificar al usuario en la cuenta B como Principal, en lugar de crear un rol deIAM.

En el ejemplo siguiente se describe una política de secretos de Secrets Manager con una instrucción.La instrucción permite al administrador de la cuenta 123456789012 delegar permisos a los usuarios yfunciones de esa cuenta. La política limita los permisos que el administrador puede delegar a la acciónsecretsmanager:GetSecretValue de un solo secreto llamado "prod/ServerA-a1b2c3". La condicióngarantiza que el usuario puede recuperar solo la versión actual del secreto.

{ "Version" : "2012-10-17", "Statement" : [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root" }, "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<account_id>:secret:prod/ServerA-a1b2c3", "Condition": { "ForAnyValue:StringEquals": { "secretsmanager:VersionStage" : "AWSCURRENT" }

40

Page 47: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioUso de políticas basadas en identidad

(políticas de IAM) para Secrets Manager

} } ]}

Important

Cuando una entidad principal de IAM de una cuenta accede a un secreto que se encuentra enuna cuenta distinta, dicho secreto debe cifrarse utilizando una CMK personalizada de AWS KMS.Un secreto que está cifrado con la CMK de Secrets Manager predeterminada para la cuentasolo lo pueden descifrar las entidades principales de esa cuenta. Una entidad principal de unacuenta distinta requerirá que se le conceda permiso tanto al secreto como a la CMK de AWS KMSpersonalizada.Como alternativa, puede conceder al usuario acceso entre cuentas para asumir un rol de IAM enla misma cuenta que el secreto. Dado que el rol se encuentra en la misma cuenta que el secreto,el rol puede acceder a secretos que están cifrados con la clave de AWS KMS predeterminadapara la cuenta.

Dado que una versión del secreto puede tener varias etiquetas de ensayo asociadas, tendrá que utilizaroperadores de conjunto del lenguaje de la política de IAM para compararlas en la política. En el ejemploanterior, ForAnyValue:StringLike afirma que si cualquiera de las etiquetas asociadas a la versión delsecreto que se evalúa coincide con "AWSCURRENT", entonces la instrucción coincide y se aplica el Effect.

Para ver más ejemplos de políticas basadas en recursos con Secrets Manager, consulte Uso de políticasbasadas en recursos para Secrets Manager (p. 47). Para obtener más información acerca del uso depolíticas basadas en recursos en lugar de funciones de IAM (políticas basadas en identidades), consulteCómo las funciones de IAM difieren de las políticas basadas en recursos en la Guía del usuario de IAM.

Uso de políticas basadas en identidad (políticas deIAM) para Secrets Manager

Como administrador de una cuenta, puede controlar el acceso a los recursos de AWS de la cuentaasociando políticas de permisos a identidades de IAM como usuarios, grupos y roles. Al concederpermisos, usted decide los permisos, los recursos y las acciones específicas que se van a permitir en esosrecursos. Si concede permisos a un rol, los usuarios de otras cuentas que especifique pueden asumirdicho rol.

De forma predeterminada, un usuario, o un rol, no tiene permisos de ningún tipo. Debe concederexplícitamente los permisos mediante una política. Si no concede permiso explícitamente, el permiso loniega implícitamente. Si deniega explícitamente un permiso, entonces eso anula cualquier otra política quelo permita. En otras palabras, un usuario solo tiene los permisos que se concedan de forma explícita y nose denieguen de forma explícita.

Para obtener información general de los elementos básicos de las políticas, consulte Administración delacceso a los recursos con políticas (p. 36).

Temas• Política administrada de AWS para Secrets Manager (p. 42)• Concesión de permisos de administrador de secretos completos a un usuario (p. 42)• Concesión de acceso de lectura a un secreto (p. 43)• Limitación de acceso a acciones específicas (p. 43)• Limitación de acceso a secretos específicos (p. 44)

41

Page 48: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPolítica administrada de AWS para Secrets Manager

• Limitación de acceso a secretos con etiquetas de ensayo específicas (p. 45)• Concesión de un permiso de función de rotación para obtener a un secreto maestro

independiente (p. 46)

Política administrada de AWS para Secrets ManagerAWS Secrets Manager proporciona la siguiente política administrada de AWS para facilitar la concesión depermisos. Haga clic en el vínculo para ver la política en la consola de IAM.

• SecretsManagerReadWrite–: esta política concede el acceso necesario para administrar SecretsManager, salvo que no incluye los permisos de IAM necesarios para crear roles y asociar políticasa dichos roles. Para esos permisos, adjunte la política administrada IAMFullAccess. Para obtenerinstrucciones, consulte la siguiente sección Concesión de permisos de administrador de secretoscompletos a un usuario (p. 42).

Concesión de permisos de administrador de secretoscompletos a un usuarioPara ser administrador de Secrets Manager, debe tener permisos en varios servicios. Le recomendamosque no habilite Secrets Manager como servicio de usuario final que permita a sus usuarios creary administrar sus secretos. Los permisos necesarios para habilitar la rotación conceden permisossignificativos que los usuarios estándar no deben tener. En su lugar, administradores de confianzaadministran el servicio de Secrets Manager. El usuario final ya no controla las credenciales directamente nilas incrusta en el código.

Warning

Al habilitar la rotación, Secrets Manager crea una función de Lambda y asocia un rol de IAM ala función. Se necesitan varios permisos de IAM que se conceden únicamente a personas deconfianza. Por lo tanto, la política administrada de Secrets Manager no incluye estos permisos deIAM. En su lugar, debe elegir explícitamente asignar la política administrada IAMFullAccess,además de la política administrada SecretsManagerReadWrite para crear un administrador deSecrets Manager completo.La concesión de acceso solo con la política SecretsManagerReadWrite permite que unusuario de IAM cree y administre secretos, pero el usuario no puede crear ni configurar lasfunciones de rotación de Lambda necesarias para habilitar la rotación.

Realice los siguientes pasos para conceder permisos completos de administrador de Secrets Manager aun usuario, grupo o rol de IAM de su cuenta. En este ejemplo no se crea una nueva política. En su lugar,asocia una política administrada de AWS preconfigurada con los permisos.

Para conceder permisos de administrador completos a un usuario, grupo o rol de IAM

1. Inicie sesión en la consola de Identity and Access Management (IAM) en https://console.aws.amazon.com/iam/, como usuario con permisos para asociar políticas de IAM a otrosusuarios de IAM.

En la consola de IAM, vaya a Policies (Políticas).2. En Filter Policies: Policy type (Políticas de filtros: tipo de política), elija AWS managed

(Administrado por AWS) y, a continuación, en el cuadro Search (Buscar) comience a escribirSecretsManagerReadWrite hasta que vea la política en la lista.

3. Elija el nombre de política SecretsManagerReadWrite.4. Elija Policy Actions (Acciones de política) y, a continuación, elija Attach (Asociar).

42

Page 49: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConcesión de acceso de lectura a un secreto

5. Marque la casilla situada junto a los usuarios, grupos o roles que desee agregar como administradorde Secrets Manager.

6. Elija Attach policy.7. Repita los pasos del 1 al 6 para adjuntar también la política IAMFullAccess.

Los usuarios, roles y funciones seleccionados pueden comenzar inmediatamente a realizar tareas enSecrets Manager.

Concesión de acceso de lectura a un secretoAl escribir una aplicación para usar Secrets Manager con el fin de recuperar y usar un secreto, solo tieneque conceder a la aplicación un conjunto muy reducido de permisos. Secrets Manager solo requiere elpermiso para la acción que permite la recuperación del valor de secreto cifrado con las credenciales.Especifique el nombre de recurso de Amazon (ARN) del secreto para restringir el acceso solo a esesecreto.

Abra la consola de IAM en https://console.aws.amazon.com/iam/.

Elija Create Policy (Crear política) y agregue el código siguiente:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "<arn-of-the-secret-the-app-needs-to-access>" }}

Para obtener una lista de todos los permisos que se pueden asignar en una política de IAM, consulteAcciones, recursos y claves de contexto que puede utilizar en una política de IAM o política de secretospara AWS Secrets Manager (p. 170).

Limitación de acceso a acciones específicasSi desea conceder permisos limitados en lugar de todos los permisos, puede crear una política quemuestre los permisos individuales que desea permitir en el elemento Action de la política de permisos deIAM. Tal y como se muestra en el siguiente ejemplo, puede utilizar caracteres comodín (*) para concedersolo los permisos Describe*, Get* y List*, que básicamente proporciona acceso de solo lectura a sussecretos.

Abra la consola de IAM en https://console.aws.amazon.com/iam/.

Elija Create Policy (Crear política) y agregue el código siguiente:

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "secretsmanager:Describe*", "secretsmanager:Get*", "secretsmanager:List*" ], "Resource": "*" }}

43

Page 50: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioLimitación de acceso a secretos específicos

Para obtener una lista de todos los permisos que se pueden asignar en una política de IAM, consulteAcciones, recursos y claves de contexto que puede utilizar en una política de IAM o política de secretospara AWS Secrets Manager (p. 170).

Limitación de acceso a secretos específicosAdemás de restringir el acceso a acciones específicas, también puede restringir el acceso a secretosespecíficos de la cuenta. Los elementos Resource de los ejemplos anteriores especifican el caráctercomodín ("*"), que significa "cualquier recurso con el que pueda interactuar esta acción". En su lugar,puede sustituir el "*" por el ARN de los secretos específicos a los que desea permitir el acceso.

Example Ejemplo: Conceder permisos a un único secreto por nombre

La primera instrucción de la siguiente política concede al usuario acceso de lectura a los metadatos detodos los secretos de la cuenta. No obstante, la segunda instrucción permite al usuario realizar cualquieracción de Secrets Manager en un único secreto especificado por nombre: o en cualquier secreto quecomienza con la cadena "another_secret_name-" seguido exactamente de 6 caracteres:

Abra la consola de IAM en https://console.aws.amazon.com/iam/.

Elija Create Policy (Crear política) y agregue el código siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:List*" ], "Resource": "*" }, { "Effect": "Allow", "Action": "secretsmanager:*", "Resource": [ "arn:aws:secretsmanager:<region>:<account-id-number>:secret:a_specific_secret_name-a1b2c3", "arn:aws:secretsmanager:<region>:<account-id-number>:secret:another_secret_name-??????" ] } ]}

El uso de "??????" como comodín para que coincida con los seis caracteres aleatorios que asignaSecrets Manager evita un problema que se produce si utiliza el comodín "*" en su lugar. Si utiliza lasintaxis "another_secret_name-*", Secrets Manager coincide con no solo el secreto previsto conlos seis caracteres aleatorios, sino que también coincide con "another_secret_name-<anything-here>a1b2c3". El uso de la sintaxis "??????" le permite conceder permisos de forma segura a un secretoque no existe todavía. Esto ocurre porque puede predecir todas las partes del ARN, excepto los seiscaracteres aleatorios. Tenga en cuenta, no obstante, que si elimina el secreto y vuelve a crearlo con elmismo nombre, el usuario recibe automáticamente permiso para el nuevo secreto, incluso aunque los seiscaracteres han cambiado.

Puede obtener el ARN del secreto en la consola de Secrets Manager (en la página Details (Detalles) delsecreto) o llamando a la API de List*. El usuario o el grupo al que aplique esta política podrá realizarcualquier acción ("secretsmanager:*") solo en los dos secretos identificador por el ARN en el ejemplo.

44

Page 51: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioLimitación de acceso a secretos con

etiquetas de ensayo específicas

Si le da igual la región o la cuenta que es propietaria del secreto, debe especificar un carácter comodín *(no un campo vacío) en los campos de región y número de ID de cuenta del ARN.

Para obtener más información sobre los ARN de los distintos recursos, consulte Recursos a los que sepuede hacer referencia en una política de IAM o política de secreto (p. 173).

Limitación de acceso a secretos con etiquetas deensayo específicasEn cualquiera de los ejemplos anteriores, se llama a las acciones, los recursos y las entidades principalesexplícitamente por el nombre o ARN únicamente. También puede modificar el acceso para incluir soloaquellos secretos con metadatos con una clave y valor de etiqueta determinados, o un secreto con unaetiqueta específica.

Ejemplo: concesión de permisos a un secreto que contenga metadatos con una clave y valor de etiquetadeterminados

La siguiente política, cuando se asocia a un usuario, grupo o rol, permite al usuario usarDescribeSecret en cualquier secreto de la cuenta actual con metadatos que contengan una etiquetacon la clave "ServerName" y el valor "ServerABC".

Abra la consola de IAM en https://console.aws.amazon.com/iam/.

Elija Create Policy (Crear política) y agregue el código siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:DescribeSecret", "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:ResourceTag/ServerName": "ServerABC" } } } ]}

Ejemplo: Concesión de permiso para la versión del secreto que tiene una etiqueta de ensayo determinada

La siguiente política, cuando se asocia a un usuario, grupo o rol, permite al usuario usarGetSecretValue en cualquier secreto con un nombre que empiece por Prod y únicamente para laversión que tenga asociada la etiqueta de ensayo AWSCURRENT.

Abra la consola de IAM en https://console.aws.amazon.com/iam/.

Elija Create Policy (Crear política) y agregue el código siguiente:

{ "Policy": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecret", "Resource": "arn:aws:secretsmanager:*:*:secret:Prod*", "Condition": { "ForAnyValue:StringEquals": { "secretsmanager:VersionStage": "AWSCURRENT" } } } ] }

45

Page 52: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConcesión de un permiso de función de rotaciónpara obtener a un secreto maestro independiente

}

Dado que una versión de un secreto puede tener varias etiquetas de ensayo asociadas, tendrá que utilizarlos operadores de conjunto del lenguaje de la política de IAM para compararlos. En el ejemplo anterior,ForAnyValue:StringLike afirma que si cualquiera de las etiquetas de ensayo asociadas a la versióndel secreto que se evalúa coincide con AWSCURRENT, entonces la instrucción coincide y se aplica elEffect.

Concesión de un permiso de función de rotación paraobtener a un secreto maestro independienteAl crear una función de rotación de Lambda mediante la plantilla de AWS Serverless ApplicationRepository que se proporciona, con la consola o con comandos de la AWS CLI, hay una políticapredeterminada asociada al rol de la función que controla las acciones de la función. De formapredeterminada, esta política concede acceso solo a los secretos que tienen esta función de Lambdaconfigurada para que sea la función de rotación del secreto.

Si las credenciales del secreto no dan a los usuarios el permiso para cambiar su contraseña en la basede datos o servicio protegidos, deberán utilizar un conjunto independiente de credenciales con permisoselevados (un "superusuario" ) para cambiar estas credenciales del secreto durante la rotación. SecretsManager almacena las credenciales de superusuario en un secreto "maestro" separado. A continuación,al rotar el secreto, la función de rotación de Lambda inicia sesión en la base de datos o servicio con lascredenciales maestras para cambiar o actualizar las credenciales del secreto. Si elige implementar estaestrategia, debe agregar una instrucción adicional a la política de rol adjuntada a la función que concedeacceso a este secreto maestro, además del secreto principal.

Si utiliza la consola para configurar una rotación con una estrategia que utiliza un secreto maestro, puedeseleccionar el secreto maestro al configurar la rotación para el secreto.

Important

Debe tener el permiso GetSecretValue para el secreto maestro para poder seleccionarlo en laconsola.

Después de configurar la rotación en la consola, debe realizar manualmente los siguientes pasos paraconceder a la función de Lambda acceso al secreto maestro.

Para conceder a una función de rotación Lambda acceso a un secreto principal

Siga los pasos que de una de las siguientes pestañas:

Using the console

1. Al finalizar la creación de un secreto con rotación habilitada o la edición del secreto para habilitar larotación, la consola muestra un mensaje similar al siguiente:

Your secret MyNewSecret has been successfully stored [and secret rotation is enabled].To finish configuring rotation, you need to grant the role MyLambdaFunctionRole permission to retrieve the secret <ARN of master secret>.

2. Copie el ARN del secreto maestro del mensaje en el portapapeles. Lo utilizará en un paso posterior.3. El nombre de rol en el mensaje anterior proporciona un enlace a la consola de IAM y lleva

directamente al rol de forma automática. Elija ese enlace.4. En la pestaña Permissions (Permisos), puede haber una o dos políticas insertadas. Secrets

Manager denomina una como SecretsManager<Name of Template>0. La plantilla contienelos permisos relacionados con EC2 necesarios cuando la función de rotación y el servicio protegidose ejecutan en una VPC y no están accesibles directamente desde Internet. La otra plantilla

46

Page 53: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioUso de políticas basadas en recursos para Secrets Manager

denominada SecretsManager<Name of Template>1 contiene los permisos que permiten quela función de rotación llame a operaciones de Secrets Manager. Abra la política (la que termina en"1") eligiendo la flecha de expansión a la izquierda de la política y examinando los permisos.

5. Elija Edit policy (Editar política) y, a continuación, realice los pasos en una de las siguientespestañas:Using the IAM Visual Editor

En la pestaña Visual editor (Editor visual), elija Add additional permissions (Agregar permisosadicionales) y, a continuación, configure los valores siguientes:• En Service (Servicio), elija Secrets Manager.• En Actions (Acciones), elija GetSecretValue.• En Resources (Recursos), elija Add ARN (Agregar ARN) junto a la entrada del tipo de

recurso secret (secreto).• En el cuadro de diálogo Add ARN(s) (Agregar ARN), pegue el ARN del secreto maestro que

ha copiado anteriormente.Using the JSON editor

En la pestaña JSON, examinar el principio del script. Entre líneas 3 ("Statement": [) y 4({), escriba las siguientes líneas:

{ "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:region:123456789012:secret:MyDatabaseMasterSecret", "Effect": "Allow" },

6. Cuando haya terminado de editar la política, elija Review policy (Revisar política) y, a continuación,Save changes (Guardar cambios).

7. Ahora puede cerrar la consola de IAM y volver a la consola de Secrets Manager.

Note

Para obtener una lista completa de claves de condición, recursos y acciones que puede utilizarcon Secrets Manager, consulte Acciones, recursos y claves de condición de AWS SecretsManager.

Uso de políticas basadas en recursos para SecretsManager

Usted controla el acceso a secretos en AWS Secrets Manager mediante el uso de políticas basadasen recursos de secretos. AWS define un secreto como un recurso en Secrets Manager. Usted, comoadministrador de cuentas, controla el acceso a un recurso en un servicio de AWS. Puede agregar permisosa la política asociada a un secreto. Secrets Manager hace referencia a las políticas de permisos asociadasdirectamente a secretos como políticas basadas en recursos. Puede utilizar políticas basadas en recursospara administrar el acceso a secretos y los permisos de administración.

La política basada en recursos tienen una ventaja sobre las políticas basadas en identidades, ya que lapolítica basada en recursos le permite conceder acceso a entidades principales desde distintas cuentas.Vea el segundo ejemplo en la siguiente sección.

Para obtener información general de los elementos básicos de las políticas, consulte Administración delacceso a los recursos con políticas (p. 36).

47

Page 54: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioControl del acceso a secretos para entidades principales

Para obtener información sobre las políticas de permisos alternativas basadas en identidades, consulteUso de políticas basadas en identidad (políticas de IAM) para Secrets Manager (p. 41).

Temas• Control del acceso a secretos para entidades principales (p. 48)• Concesión de acceso de solo lectura a un rol (p. 48)

Control del acceso a secretos para entidadesprincipalesCuando utiliza una política basada en recursos con Secrets Manager asociada directamente a un secreto,el elemento Resource se convierte de forma implícita y automática en el secreto al que se asocia dichapolítica. Ahora puede especificar el elemento Principal. El elemento Principal le permite especificarlos usuarios, grupos, roles y cuentas de IAM o las entidades principales del servicio de AWS que puedenobtener acceso a este secreto y las acciones que estos pueden llevar a cabo en este secreto. Paraobtener más información acerca de las diferentes maneras de especificar el valor de Principal, consultePrincipal en la Guía del usuario de IAM.

Ejemplo: conceder permiso a un usuario de la misma cuenta que el secreto

La siguiente política, cuando se asocia directamente a un secreto como parte de los metadatos, concede alusuario Anaya permiso para ejecutar cualquier operación de Secrets Manager en el secreto.

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

Ejemplo: Conceder permiso a usuarios autorizados de una cuenta diferente

La siguiente política, cuando se asocia directamente a un secreto como parte de los metadatos, concedeal usuario Mateo de IAM de la cuenta 123456789012 acceso de lectura a cualquier versión de un secretoespecífico:

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

Concesión de acceso de solo lectura a un rolUn escenario de Secrets Manager común puede ser una aplicación que se ejecuta en una instanciaAmazon EC2 y necesita acceso a una base de datos para realizar tareas necesarias. La aplicación debe

48

Page 55: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioDeterminar el acceso a un secreto

obtener de Secrets Manager las credenciales de la base de datos. Para enviar una solicitud a SecretsManager, como con cualquier otro servicio de AWS, debe disponer de credenciales de AWS con permisospara realizar la solicitud. Para ello, cree un rol de IAM asociado al perfil de instancia EC2. Para obtenermás información, consulte Roles de IAM para Amazon EC2 en la Guía del usuario de Amazon EC2 parainstancias de Linux y específicamente la sección Recuperación de las credenciales de seguridad en losmetadatos de la instancia.

Si después asocia la siguiente política basada en recursos de ejemplo al secreto, las solicitudes pararecuperar el secreto solo funcionarán si el solicitante utiliza las credenciales asociadas al rol y la solicitudsolicita solo la versión actual del secreto:

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

Determinar el acceso a un secretoPara determinar la extensión completa de los usuarios con acceso a un secreto en AWS Secrets Manager,debe examinar la política secreta, si existe, y todas las políticas de AWS Identity and Access Management(IAM) asociadas al usuario de IAM y a los grupos o al rol de IAM. El objetivo es determinar el ámbito deuso potencial de un secreto o ayudar a cumplir los requisitos de conformidad o auditoría. Los siguientestemas le ayudan a generar una lista completa de las identidades principales de AWS e identidades queactualmente obtienen acceso a un secreto.

Temas• Descripción de evaluación de políticas (p. 49)• Examen de la política de recursos (p. 50)• Examen de las políticas de IAM (p. 51)

Descripción de evaluación de políticasAl autorizar el acceso a un secreto, Secrets Manager evalúa la política de secreto asociada al mismoy todas las políticas de IAM asociadas al usuario o rol de IAM que envía la solicitud. Para ello, SecretsManager utiliza un proceso similar al descrito en Cómo determinar si una solicitud se permite o se deniegaen la Guía del usuario de IAM.

Por ejemplo, suponga que tiene dos secretos y tres usuarios en la misma cuenta de AWS. Los secretos ylos usuarios tienen las siguientes políticas:

• El secreto 1 no tiene política de secretos.• El secreto 2 tiene una política de secretos que permite el acceso a las entidades principales de usuario

Ana y Carlos.

49

Page 56: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioExamen de la política de recursos

• Ana no tiene ninguna política de IAM que haga referencia a Secreto 1 o Secreto 2.• La política de IAM de Bob permite todas las acciones de Secrets Manager en todos los secretos.• La política de IAM de Carlos deniega todas las acciones de Secrets Manager en todos los secretos.

Secrets Manager determina el siguiente acceso:

• Ana solo puede tener acceso al secreto 2. No tiene una política asociada a su usuario, pero el secreto 2le concede acceso de forma explícita.

• Bob obtiene acceso tanto al secreto 1 como al secreto 2 porque tiene una política de IAM que permite elacceso a todos los secretos de la cuenta y no hay ninguna "denegación" explícita que anule el acceso.

• Carlos no puede acceder al secreto 1 o al secreto 2 porque Secrets Manager deniega todas las accionesde su política de IAM. La denegación explícita en la política de IAM de Carlos anula el "permiso" explícitoen la política de secretos asociada al secreto 2.

Secrets Manager agrega todas las declaraciones de política del secreto o de la identidad que "permiten" elacceso. Cualquier denegación explícita anula cualquier permiso a la acción y el recurso superpuestos.

Examen de la política de recursosPuede ver el documento de la política de secretos asociada a un secreto usando la operaciónGetResourcePolicy y examinando el elemento de respuesta ResourcePolicy.

Examine el documento de política de recursos y anote todas las entidades principales especificadas encada elemento Principal de la política. Tanto los usuarios de IAM como los roles de IAM y las cuentasde AWS de los elementos Principal tienen acceso a este secreto.

Instrucción 1 de la política de ejemplo

{ "Sid": "Allow users or roles in account 123456789012 who are delegated access by that account's administrator to have read access to the secret", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": [ "secretsmanager:List*", "secretsmanager:Describe*", "secretsmanager:Get*" ], "Resource": "*"}

En la instrucción de la anterior política, &region-arn;iam::111122223333:root hace referencia a lacuenta de AWS 111122223333 y permite que el administrador de esa cuenta conceda acceso a cualquierusuario o rol de esa cuenta.

También debe examinar todas las políticas de IAM de todas las cuentas de AWS enumeradas comoentidades principales para determinar si las políticas permiten el acceso a este secreto.

Instrucción 2 de la política de ejemplo

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:*", "Principal": {"AWS": "arn:aws:iam::123456789012:user/anaya"},

50

Page 57: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioExamen de las políticas de IAM

"Resource": "*" } ]}

En la instrucción de la anterior política, &region-arn;iam::111122223333:user/anaya se refiereal usuario de IAM con el nombre Anaya en la cuenta de AWS 111122223333. Este usuario puede realizartodas las acciones de Secrets Manager.

Instrucción 3 de la política de ejemplo

{ "Sid": "Allow an app associated with an &IAM; role to only read the current version of a secret", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:role/EncryptionApp" }, "Action": ["secretsmanager:GetSecretValue"], "Condition": { "ForAnyValue:StringEquals": {"secretsmanager:VersionStage": "AWSCURRENT" } }, "Resource": "*"}

En la instrucción de la política anterior, &region-arn;iam::123456789012:role/EncryptionAppse refiere al rol de IAM denominado EncryptionApp en la cuenta de AWS 123456789012. Las entidadesprincipales que asuman este rol pueden realizar la única acción enumerada en la declaración de política.Esta acción obtiene los detalles de la versión actual del secreto.

Para conocer las distintas formas en las que puede especificar una entidad principal en un documento depolíticas de secretos, consulte Especificación de un elemento principal en la Guía del usuario de IAM.

Para obtener más información sobre las políticas de secretos de Secrets Manager, consulte Políticasbasadas en recursos (p. 40).

Examen de las políticas de IAMAdemás de la política de secretos, también puede utilizar políticas de IAM combinadas con ella parapermitir el acceso a un secreto. Para obtener más información sobre cómo funcionan las políticas de IAM ylas políticas de secretos conjuntamente, consulte Descripción de evaluación de políticas (p. 49).

Para determinar las identidades principales que obtienen acceso a un secreto a través de las políticas deIAM, puede utilizar la herramienta basada en el explorador Simulador de políticas de IAM o puede enviarsolicitudes a la API del simulador de políticas de IAM.

Examen del efecto de las políticas

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the web-based Policy Simulator

Puede servirse del simulador de políticas de IAM para saber qué entidades principales tienen acceso aun secreto mediante una política de IAM.

1. Inicie sesión en la consola de administración de AWS y abra el simulador de políticas de IAM enhttps://policysim.aws.amazon.com/.

2. En el panel Users, Groups, and Roles (Usuarios, grupos y roles), elija el usuario, grupo o rol cuyaspolíticas desee simular.

3. (Opcional) Desactive la casilla de verificación situada junto a cualquier política que desee omitir enla simulación. Para simular todas las políticas, deje todas las políticas seleccionadas.

51

Page 58: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioExamen de las políticas de IAM

4. En el panel Policy Simulator, haga lo siguiente:a. En Select service (Seleccionar servicio), elija AWS Secrets Manager.b. Para simular acciones de Secrets Manager específicas, elija en Select actions (Seleccionar

acciones) las acciones que desea simular. Para simular todas las acciones de Secrets Manager,elija Select All (Seleccionar todo).

5. (Opcional) El simulador de políticas simula el acceso a todos los secretos de forma predeterminada.Para simular el acceso a un secreto específico, seleccione Simulation Settings (Configuración desimulación) y, a continuación, escriba el nombre de recurso de Amazon (ARN) del secreto que sesimulará.

6. Seleccione Run Simulation.

Puede ver los resultados de la simulación en la sección Results. Repita los pasos del 2 al 6 para cadausuario, grupo y rol de IAM de la cuenta de AWS.

Using the Policy Simulator CLI or SDK operations

Puede utilizar la API de IAM para examinar políticas de IAM mediante programación. En los pasossiguientes se ofrece información general sobre cómo hacerlo:

1. En cada cuenta de AWS enumerada como entidad principal en la política del secreto (esdecir, en cada cuenta de usuario raíz que tenga este formato:"Principal": {"AWS":"arn:aws:iam::accountnumber:root"}, utilice las operaciones ListUsers y ListRoles de laAPI de IAM para recuperar una lista de todos los usuarios y roles de IAM de la cuenta.

2. En cada usuario y rol de IAM de la lista, use la operación SimulatePrincipalPolicy de la API de IAM yenvíe los siguientes parámetros:• Para PolicySourceArn, especifique el ARN de un usuario o rol de la lista. Puede

especificar solo un valor de PolicySourceArn por cada solicitud a la API deSimulatePrincipalPolicy. Por lo tanto, debe llamar a esta API varias veces, una vez porcada usuario o rol de IAM de la lista.

• Para la lista ActionNames, especifique cada acción de API de Secrets Manager quese simulará. Para simular todas las acciones de la API de Secrets Manager utilicesecretsmanager:*. Para probar acciones individuales de la API de Secrets Manager,anteponga "secretsmanager:" a cada acción de la API, por ejemplo, “”. Si desea ver una listacompleta de todas las acciones de la API de Secrets Manager, consulte el tema de acciones en lareferencia de la API de AWS Key Management Service.

• (Opcional) Para determinar si los usuarios o roles de IAM obtienen acceso a determinadossecretos, use el parámetro ResourceArns para especificar una lista de los ARN de los secretos.Para determinar si los usuarios o funciones de IAM tienen acceso a algún secreto, no use elparámetro ResourceArns.

IAM responde a cada solicitud de la API SimulatePrincipalPolicy con una decisión deevaluación: allowed, explicitDeny o implicitDeny. Por cada respuesta que contiene unadecisión de evaluación de allowed, la respuesta también contiene el nombre de la acción de APIde Secrets Manager específica que está permitida y, si corresponde, el ARN del secreto usado en laevaluación.

52

Page 59: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCreación de un secreto básico

Creación y administración desecretos con AWS Secrets Manager

En esta sección se describe cómo crear, actualizar, recuperar, buscar y eliminar secretos mediante AWSSecrets Manager.

Temas• Creación de un secreto básico (p. 53)• Modificación de un secreto (p. 57)• Recuperación del valor del secreto (p. 62)• Búsqueda de secretos (p. 64)• Eliminación y restauración de un secreto (p. 66)• Administración de una política basada en recursos para un secreto (p. 71)

Creación de un secreto básicoAWS Secrets Manager le permite almacenar secretos básicos con un mínimo de esfuerzo. Un secretobásico consiste en un mínimo de metadatos y un único valor del secreto cifrado. Secrets Manageralmacena el secreto y lo etiqueta automáticamente con AWSCURRENT.

Creación de un secreto básico

Siga los pasos que se indican en una de las siguientes pestañas:

Using the Secrets Manager console

Permisos mínimos

Para crear un secreto en la consola debe tener estos permisos:

• Permisos concedidos por la política administrada de AWS SecretsManagerReadWrite.• Permisos concedidos por la política administrada de AWS IAMFullAccess: requerido solo si

debe habilitar la rotación para el secreto.• kms:CreateKey: requerido solo si se quiere que Secrets Manager cree una clave maestra

de cliente (CMK) de AWS KMS personalizada.• kms:Encrypt: solo si usa una clave de AWS KMS personalizada para cifrar su secreto

en lugar de la CMK de Secrets Manager predeterminada para su cuenta. No es necesarioeste permiso para utilizar la CMK administrada por AWS predeterminada de su cuenta deSecrets Manager.

• kms:Decrypt: requerido solo si usa una clave de AWS KMS personalizada para cifrarsu secreto en lugar de la CMK de Secrets Manager predeterminada de su cuenta. No esnecesario este permiso para utilizar la CMK administrada por AWS predeterminada de sucuenta de Secrets Manager.

53

Page 60: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCreación de un secreto básico

• kms:GenerateDataKey: requerido solo si usa una clave de AWS KMS personalizadapara cifrar su secreto en lugar de la CMK de Secrets Manager predeterminada desu cuenta. No es necesario este permiso para utilizar la CMK administrada por AWSpredeterminada de su cuenta de Secrets Manager.

1. Inicie sesión en la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

2. Elija Store a new secret (Almacenar un nuevo secreto).3. En la sección Select secret type (Seleccionar tipo de secreto), especifique el tipo de secreto que

desea crear eligiendo una de las opciones siguientes. A continuación, proporcione la informaciónnecesaria.

4. En Secret name (Nombre del secreto), escriba una ruta y un nombre opcionales, tales comoproduction/MyAwesomeAppSecret o development/TestSecret. Observe que el uso delcarácter de barra diagonal le permite estructurar sus secretos en una jerarquía, como agrupaciónpor entorno de implementación; esto puede resultar útil para organizar y administrar sus secretos aescala. Opcionalmente, puede agregar una descripción para ayudarle a recordar el objetivo de estesecreto.

El nombre del secreto debe estar formado por letras ASCII, dígitos o cualquiera de los siguientescaracteres: /_+=.@-

Note

Si agrega un secreto al Almacén de parámetros de Administrador de sistemas, debeagregar una barra diagonal a la estructura de directorios. Para obtener más información,consulte la documentación de AWS Administrador de sistemas sobre la organización deparámetros en jerarquías.

5. (Opcional) En la sección Tags (Etiquetas), puede agregar una o más etiquetas a su secreto. Lasetiquetas constan de una clave y un valor que usted define. Las etiquetas le ayudan a administrarsus recursos de AWS. Puede crear etiquetas para asociar recursos con la estructura de suorganización, como clave = "Departamento" y valor = "Contabilidad". Esto puede ayudarlo con laasignación y el seguimiento de costos. Usted asigna etiquetas para agrupar recursos según laaplicación que los utiliza (clave = "AppName" y valor = "HRDatabase"). Las etiquetas se crean paracasi cualquier fin. Cada recurso, como un secreto, puede tener varias etiquetas asociadas. Paraobtener más información, consulte Estrategias de etiquetado de AWS en el sitio web de respuestasde AWS.

Important

No guarde información confidencial sobre un secreto en las etiquetas. Almacene lainformación confidencial solo en el valor del secreto (los campos SecretString oSecretBinary) del secreto donde el cifrado protege la información.

6. Después de completar los campos Name (Nombre), Description (Descripción) y Tags (Etiquetas),elija Next (Siguiente).

7. (Opcional) En este punto puede configurar la rotación para su secreto. Dado que creó un secreto"básico" sin rotación, deje la opción como Disable automatic rotation (Deshabilitar rotaciónautomática), y, a continuación, elija Next (Siguiente).

Para obtener información acerca de la configuración de la rotación en secretos nuevos o existentes,consulte Rotación de sus secretos de AWS Secrets Manager (p. 74).

8. Revise la configuración y, a continuación, elija Store secret (Almacenar secreto) para guardar todolo que ha escrito como un nuevo secreto en Secrets Manager.

Amazon RDS

54

Page 61: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCreación de un secreto básico

Utilice este tipo de secreto para uno de los servicios de base de datos compatibles (p. 4) para los queSecrets Manager proporciona soporte de rotación completo con una función de rotación de Lambdapreconfigurada. Solo tiene que especificar las credenciales de autenticación, ya que Secrets Managerdetermina otros parámetros consultando la instancia de la base de datos.

1. Escriba el nombre de usuario y la contraseña para obtener acceso a la base de datos. Elija unusuario que tenga solo los permisos requeridos por el cliente que accede a este secreto.

2. Elija la clave de cifrado de AWS KMS que desea usar para cifrar el texto protegido en el secreto. Sino elige ninguna, Secrets Manager comprueba si existe una clave predeterminada para la cuenta yusa la clave predeterminada, si existe. Si no hay ninguna clave predeterminada, Secrets Managercrea una automáticamente. También puede elegir Add new key (Agregar nueva clave) para crearuna CMK de personalizada específicamente para este secreto. Para crear su propia CMK de AWSKMS, debe tener permisos para crear CMK en su cuenta.

3. Elija la instancia de base de datos en la lista. Secrets Manager recupera los detalles de conexión dela base de datos consultando la instancia elegida.

Amazon Redshift

Utilice este tipo de secreto para un clúster de Amazon Redshift. Usted solo especifica las credencialesde autenticación, ya que Secrets Manager determina otros parámetros consultando la instancia debase de datos.

1. Escriba el nombre de usuario y la contraseña para obtener acceso a la base de datos.2. Elija la clave de cifrado de AWS KMS que desea usar para cifrar el texto protegido en el secreto. Si

no elige ninguna, Secrets Manager comprueba si existe una clave predeterminada para la cuenta yusa la clave predeterminada, si existe. Si no hay ninguna clave predeterminada, Secrets Managercrea una automáticamente. También puede elegir Add new key (Agregar nueva clave) para crearuna CMK de personalizada específicamente para este secreto. Para crear su propia CMK de AWSKMS, debe tener permisos para crear CMK en su cuenta.

3. Elija el motor de base de datos correcto.4. Especifique los detalles de conexión escribiendo la dirección IP del servidor de la base de datos, el

nombre de la base de datos y el número de puerto TCP.

DocumentDB database

Utilice este tipo de secreto para una base de datos DocumentDB. Usted solo especifica lascredenciales de autenticación, ya que Secrets Manager determina otros parámetros consultando lainstancia de base de datos.

1. Escriba el nombre de usuario y la contraseña para obtener acceso a la base de datos.2. Elija la clave de cifrado de AWS KMS que desea usar para cifrar el texto protegido en el secreto.

Si no elige ninguna, Secrets Manager comprueba si existe una clave predeterminada para lacuenta y, si existe, la usa. Si no existe una clave predeterminada, Secrets Manager crea unaautomáticamente. También puede elegir Add new key (Agregar nueva clave) para crear una CMKde personalizada específicamente para este secreto. Para crear su propia CMK de AWS KMS, debetener permisos para crear CMK en su cuenta.

3. Elija el motor de base de datos correcto.4. Especifique los detalles de conexión escribiendo la dirección IP del servidor de la base de datos, el

nombre de la base de datos y el número de puerto TCP.

Other databases

55

Page 62: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCreación de un secreto básico

Secrets Manager admite otros tipos de bases de datos y utiliza este secreto para esos tipos. Noobstante, debe proporcionar información adicional acerca de la base de datos. Para rotar este secreto,debe escribir una función de rotación de Lambda personalizada que pueda analizar el secreto einteractuar con el servicio para rotar el secreto.

1. Escriba el nombre de usuario y la contraseña para obtener acceso a la base de datos.2. Elija la clave de cifrado de AWS KMS que desea usar para cifrar el texto protegido en el secreto.

Si no elige ninguna, Secrets Manager comprueba si existe una clave predeterminada para lacuenta y, si existe, la usa. Si no existe una clave predeterminada, Secrets Manager crea unaautomáticamente. También puede elegir Add new key (Agregar nueva clave) para crear una CMKde personalizada específicamente para este secreto. Para crear su propia CMK de AWS KMS, debetener permisos para crear CMK en su cuenta.

3. Elija el tipo de motor de base de datos en el que ejecutar su base de datos.4. Especifique los detalles de conexión escribiendo la dirección IP del servidor de la base de datos, el

nombre de la base de datos y el número de puerto TCP.

Other type of secret

Secrets Manager se puede configurar para otras bases de datos o servicios y utiliza este secretopara ellos. Debe proporcionar la estructura y los detalles de su secreto. Para rotar este secreto, debeescribir una función de rotación de Lambda personalizada que pueda analizar el secreto e interactuarcon el servicio para rotar el secreto por usted.

1. Especifique los detalles de su secreto personalizado como pares de clave y valor. Por ejemplo,puede especificar una clave UserName y, a continuación, proporcionar el nombre de usuariocorrespondiente como valor. Agregue una segunda clave con el nombre Password (Contraseña)y el texto de la contraseña como valor. También puede agregar entradas para DatabasenameServer address, TCP port, etc. Puede agregar tantas parejas como sea necesario paraalmacenar la información que necesite.

Como opción, puede elegir la pestaña Plaintext (Texto no cifrado) y escribir el valor del secreto encualquier formato.

2. Elija la clave de cifrado de AWS KMS que desea usar para cifrar el texto protegido en el secreto.Si no elige ninguna, Secrets Manager comprobará si existe una clave predeterminada para lacuenta y, si existe, la utilizará. Si no existe una clave predeterminada, Secrets Manager crea unaautomáticamente. También puede elegir Add new key (Agregar nueva clave) para crear una CMKde personalizada específicamente para este secreto. Para crear su propia CMK de AWS KMS, debetener permisos para crear CMK en su cuenta.

Using the AWS CLI or AWS SDK operations

Utilice los siguientes comandos para crear un secreto básico en Secrets Manager:

• API/SDK: CreateSecret• AWS CLI: create-secret

Example

Ejemplo de un comando de AWS CLI para hacer lo equivalente de la configuración secreta basadaen consola. En este comando se supone que ha colocado su secreto, como esta estructura de textoJSON de ejemplo {"username":"anika","password":"aDM4N3*!8TT"}, en un archivo llamadomycreds.json.

56

Page 63: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioModificación de un secreto

$ aws secretsmanager create-secret --name production/MyAwesomeAppSecret --secret-string file://mycreds.json{ "SecretARN": "arn:aws:secretsmanager:region:accountid:secret:production/MyAwesomeAppSecret-AbCdEf", "SecretName": "production/MyAwesomeAppSecret", "SecretVersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"}

Important

Puede crear un secreto básico utilizando cualquier formato para SecretString. Porejemplo, podría usar un par clave-valor JSON simple, o {"username":"someuser","password":"securepassword"}. No obstante, si desea habilitar la rotación para estesecreto más adelante, entonces debe usar la estructura específica que se espera de lafunción de rotación utilizada con este secreto. Para ver los detalles de cada función derotación necesaria para trabajar con el valor del secreto, consulte la entrada Valor previsto decadena del secreto en la función de rotación relevante en Plantillas de AWS Plantillas de quepuede utilizar para crear funciones de rotación de Lambda (p. 161).

Secrets Manager no requiere el parámetro ClientRequestToken, ya que utiliza la AWS CLI, lacual genera y suministra automáticamente uno por usted. Cuando utiliza la CMK de Secrets Managerpredeterminada para la cuenta, no necesita el parámetro KmsKeyId. Cuando se utiliza la consola deSecrets Manager y SecretString, no se puede utilizar SecretBinary. Secrets Manager reserva elelemento SecretType para su uso por parte de la consola.

En un entorno de trabajo, en el que los clientes utilizan una aplicación que usa el secreto para obteneracceso a una base de datos, es posible que todavía tenga que conceder permisos al rol o al usuariode IAM que la aplicación emplea para obtener acceso al secreto. Puede hacerlo asociando unapolítica basada en recursos directamente en el secreto y enumerar el usuario o el rol en el elementoPrincipal. También puede asociar una política al usuario o rol que identifica el secreto en elelemento Resource.

Modificación de un secretoPuede modificar algunos elementos de un secreto después de crearlo. En la consola, puede editar ladescripción, editar o asociar una nueva política basada en recursos para modificar permisos en el secreto,cambiar la clave maestra de cliente (CMK) de AWS KMS utilizada para cifrar y descifrar la información delsecreto protegida, así como editar, agregar o quitar etiquetas.

También puede cambiar el valor de la información secreta cifrada. No obstante, le recomendamos queutilice la rotación para actualizar valores de secretos que contienen credenciales. La rotación no soloactualiza el secreto. La rotación también modifica las credenciales en la base de datos protegida o en elservicio para que coincida con la del secreto. Esto mantiene los secretos sincronizados automáticamentepara que cuando los clientes soliciten un valor del secreto, recuperen siempre un conjunto de trabajo de lascredenciales.

En esta sección se incluyen procedimientos y comandos que describen cómo modificar los siguienteselementos de un secreto:

• Valor secreto cifrado (p. 58)• Descripción (p. 59)• Clave de cifrado de AWS KMS (p. 60)• Etiquetas (p. 61)• Política de permisos (p. 71)

57

Page 64: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioModificación de un secreto

Modificación del valor de secreto cifrado almacenado en un secreto

Siga los pasos que aparecen en una de las siguientes pestañas:Important

• La actualización del secreto de esta manera no cambia las credenciales en el servidorprotegido. Si desea que las credenciales en el servidor se mantengan sincronizadas con lascredenciales almacenadas en el valor del secreto, le recomendamos que habilite la rotación.Una función de AWS Lambda cambia tanto las credenciales en el servidor como las del secretopara que coincidan y comprueba que las credenciales actualizadas funcionan. Para obtenermás información, consulte Rotación de sus secretos de AWS Secrets Manager (p. 74).

• Puede crear un secreto básico utilizando el formato deseado para SecretString.Por ejemplo, podría utilizar un simple par clave-valor de JSON. Por ejemplo,{"username":"someuser", "password":"securepassword"}. No obstante, si másadelante desea habilitar la rotación para este secreto, debe utilizar una estructura específicapara el secreto. Secrets Manager determina el formato exacto por la función de rotación quedesea usar con este secreto. Si desea ver los detalles sobre lo que necesita cada función derotación para trabajar con el valor secreto, consulte la entrada Valor previsto de la cadena delsecreto en la función de rotación correspondiente de Rotación de secretos de AWS SecretsManager para otras bases de datos o servicios.

Using the Secrets Manager console

Al actualizar el valor cifrado de un secreto, se crea una nueva versión del secreto. La nueva versiónrecibe automáticamente la etiqueta de ensayo AWSCURRENT. Puede acceder a la versión anteriorconsultando la etiqueta de ensayo AWSPREVIOUS. En la CLI, use el comando get-version-ids o laAPI GETVERSIONIDS para comparar el secreto modificado con el secreto original.

La salida de los dos comandos contiene un campo CreatedDate, un parámetro válido, ya queSecrets Manager crea una nueva versión del secreto modificado.

Note

Siempre que la etiqueta de almacenamiento provisional AWSCURRENT pase de una versión aotra, Secrets Manager aplicará automáticamente la etiqueta AWSPREVIOUS a la versión queanteriormente tenía la etiqueta AWSCURRENT

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. En la lista de secretos, elija el nombre del secreto con el valor que va a modificar.3. En la sección Secret value (Valor secreto), elija Retrieve secret value (Recuperar valor secreto).4. Con el valor de secreto ahora mostrado, elija Edit.5. Actualice los valores según corresponda y, a continuación, elija Save (Guardar).

Using the AWS CLI or AWS SDK operations

Puede utilizar los siguientes comandos para actualizar el valor del secreta cifrado almacenado enel secreto. Al actualizar el valor del secreto cifrado en un secreto, debe crear una nueva versión delsecreto.

Important

Puede actualizar un secreto básico utilizando el formato deseado para SecretString.Por ejemplo, podría utilizar un simple par clave-valor de JSON. Por ejemplo,{"username":"someuser", "password":"securepassword"}. No obstante, si más

58

Page 65: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioModificación de un secreto

tarde desea habilitar la rotación para este secreto, debe utilizar la estructura específica quese espera de la función de rotación que utiliza con este secreto. Para ver los detalles sobre loque requiere cada función de rotación para trabajar con el valor secreto, consulte la entradaValor previsto de la cadena del secreto en la función de rotación correspondiente en Rotaciónde secretos de AWS Secrets Manager para otras bases de datos o servicios.Note

UpdateSecret mueve automáticamente la etiqueta de ensayo AWSCURRENT a la nuevaversión del secreto.PutSecretValue no mueve automáticamente las etiquetas de ensayo. No obstante, elcomando agrega AWSCURRENT si este comando crea la primera versión del secreto. De locontrario, el comando solo asocia o mueve aquellas etiquetas que solicite explícitamente conel parámetro VersionStages.En cualquier momento que la etiqueta de ensayo AWSCURRENT se mueva de una versión aotra, Secrets Manager mueve automáticamente la etiqueta de ensayo AWSPREVIOUS a laversión AWSCURRENT y elimina la etiqueta de ensayo AWSPREVIOUS.

• API/SDK: UpdateSecret, PutSecretValue• AWS CLI: update-secret, put-secret-value

Example

El siguiente comando de la AWS CLI de ejemplo cambia el valor del secreto de un secreto. Estoda lugar a la creación de una nueva versión. Secrets Manager mueve automáticamente la etiquetade ensayo AWSCURRENT a la nueva versión. Además, Secrets Manager mueve automáticamente laetiqueta de ensayo AWSPREVIOUS a la versión anterior con la etiqueta de ensayo AWSCURRENT.

$ aws secretsmanager update-secret --secret-id production/MyAwesomeAppSecret --secret-string '{"username":"anika","password":"a different password"}'{ "SecretARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-AbCdEf", "SecretName": "production/MyAwesomeAppSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"}

El campo VersionId de la salida contiene el ID único de la nueva versión del secreto. Puedeproporcionar el valor manualmente utilizando el parámetro ClientRequestToken. Si no especifica elvalor, el SDK o la AWS CLI genera un valor UUID aleatorio automáticamente.

Modificación de la descripción de un secreto

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the console

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. En la lista de secretos, elija el nombre del secreto que va a modificar.3. En la sección Secrets details (Detalles de secreto), elija Actions (Acciones) y, a continuación, elija

Edit description (Editar descripción).4. Escriba una nueva descripción o edite el texto existente y, a continuación, elija Save (Guardar).

Using the AWS CLI or AWS SDK operations

59

Page 66: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioModificación de un secreto

Puede utilizar los siguientes comandos para modificar la descripción de un secreto en AWS SecretsManager:

• API/SDK: UpdateSecret• AWS CLI: update-secret

Example

El siguiente comando de la AWS CLI de ejemplo añade o reemplaza la descripción con la queproporciona el parámetro --description.

$ aws secretsmanager update-secret --secret-id production/MyAwesomeAppSecret --description 'This is the description I want to attach to the secret.'{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:production/MyAwesomeAppSecret-AbCdEf", "Name": "production/MyAwesomeAppSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"}

Example

Para ver los cambios realizados en el secreto, utilice el comando describe-secret:

aws secretsmanager describe-secret --secret-id production/MyAwesomAppSecret { "ARN": "arn:aws:secretsmanager:region:accountid:secret:production/MyAwesomeAppSecret-AbCdEf", "Name": "production/MyAwesomeAppSecret", "Description": "This is the description I want to attach to the secret", "LastChangedDate": 1579542853.77, "LastAccessedDate": 1579478400.0,

Modificación de la clave de cifrado de AWS KMS utilizada por un secreto

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the Secrets Manager console

Important

Si cambia la clave de cifrado utilizada por un secreto, debe actualizar el valor del secreto conUpdateSecret o PutSecretValue al menos una vez antes de deshabilitar o eliminar elprimer CMK. La actualización del valor del secreto descifra el secreto usando la CMK antiguay vuelve a cifrar el secreto con la CMK nueva. Si deshabilita o elimina la primera CMK antesde esta actualización, Secrets Manager no puede descifrar la clave y pierde el contenido delsecreto a menos que pueda volver a habilitar la CMK.

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. En la lista de secretos, elija el nombre del secreto que va a modificar.3. En la sección Secrets details (Detalles de secreto), elija Actions (Acciones) y, a continuación, elija

Edit encryption key (Editar clave de cifrado).4. Elija la clave de cifrado de AWS KMS para cifrar y descifrar versiones posteriores de su secreto. A

continuación, elija Save (Guardar).

60

Page 67: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioModificación de un secreto

Using the AWS CLI or AWS SDK operations

Important

Si cambia la clave de cifrado utilizada por un secreto, debe actualizar el valor del secreto conUpdateSecret o PutSecretValue al menos una vez antes de deshabilitar o eliminar elprimer CMK. La actualización del valor del secreto descifra el secreto usando la CMK antiguay vuelve a cifrar el secreto con la CMK nueva. Si deshabilita o elimina la primera CMK antesde esta actualización, Secrets Manager no puede descifrar la clave y pierde el contenido delsecreto a menos que pueda volver a habilitar la CMK.

Puede utilizar los siguientes comandos para modificar la clave de cifrado de AWS KMS utilizada por elsecreto. Debe especificar la CMK por el nombre de recurso de Amazon (ARN).

• API/SDK: UpdateSecret• AWS CLI: update-secret

Example

El siguiente comando de AWS CLI de ejemplo agrega o reemplaza la CMK de AWS KMS utilizadapara todas las operaciones de cifrado y descifrado en este secreto a partir de este momento.

$ aws secretsmanager update-secret --secret-id production/MyAwesomeAppSecret --kms-key-id arn:aws:kms:region:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE

Modificación de las etiquetas asociadas a un secreto

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the console

Los nombres y valores de clave de etiqueta distinguen entre mayúsculas y minúsculas. Solo unaetiqueta en un secreto puede tener un nombre de clave dado.

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. En la lista de secretos, elija el nombre del secreto que va a modificar.3. En la sección Tags (Etiquetas), elija Edit (Editar).4. Secrets Manager muestra cualquier etiqueta existente. Puede sobrescribir cualquiera de los

nombres o valores de clave.5. Puede eliminar cualquier fila existente eligiendo Remove tag (Eliminar etiqueta).6. Si necesita agregar otro par clave-valor, elija Add tag (Agregar etiqueta) y, a continuación, escriba el

nuevo nombre de clave y el valor asociado.7. Cuando termine de realizar los cambios, elija Save (Guardar).

Using the AWS CLI or AWS SDK operations

Puede utilizar los siguientes comandos para agregar o eliminar las etiquetas asociadas a un secretoen Secrets Manager. Los nombres y valores de clave distinguen entre mayúsculas y minúsculas.Solo una etiqueta en un secreto puede tener un nombre de clave dado. Para editar una etiquetaexistente, agregue una etiqueta con el mismo nombre de clave pero con un valor diferente. No seañade un nuevo par clave-valor. En su lugar, Secrets Manager actualiza el valor en el par existente.

61

Page 68: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRecuperación del valor del secreto

Para cambiar el nombre de una clave, debe quitar la primera clave y agregar una segunda con elnuevo nombre.

• API/SDK: TagResource, UntagResource• AWS CLI: tag-resource, untag-resource

Example

El siguiente comando de la AWS CLI de ejemplo añade o reemplaza las etiquetas con las queproporciona el parámetro --tags. El parámetro se espera que sea una matriz JSON de elementosKey y Value:

$ aws secretsmanager tag-resource --secret-id MySecret2 --tags '[{"Key":"costcenter","Value":"12345"},{"Key":"environment","Value":"production"}]'

El comando tag-resource no devuelve ningún resultado.

Example

El siguiente comando de AWS CLI de ejemplo elimina las etiquetas con la clave "entorno" del secretoespecificado:

$ aws secretsmanager untag-resource --secret-id MySecret2 --tag-keys 'environment'

El comando tag-resource no devuelve ningún resultado.

Recuperación del valor del secretoSecrets Manager le permite recuperar sus secretos en las aplicaciones personalizadas medianteprogramación y seguridad. No obstante, también puede recuperar sus secretos utilizando las herramientasde la CLI o la consola.

En esta sección se incluyen procedimientos y comandos que describen cómo recuperar el valor del secretode un secreto.

Recuperación del valor del secreto

Siga los pasos de una de las siguientes pestañas:

Using the Secrets Manager console

Permisos mínimos

Para recuperar un secreto en la consola debe tener estos permisos:

• secretsmanager:ListSecrets: utilícelo para navegar al secreto que desea recuperar.• secretsmanager:DescribeSecret: utilícelo para recuperar las partes no cifradas del

secreto.• secretsmanager:GetSecretValue: utilícelo para recuperar la parte cifrada del secreto.• kms:Decrypt– solo requerido si ha utilizado una clave maestra del cliente (CMK) de AWS

KMS para cifrar su secreto.

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. En la lista de secretos de su cuenta, elija el nombre del secreto que desee ver.

62

Page 69: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioUso de los componentes de almacenamiento en caché

del lado cliente desarrollados por AWS en código abierto

Aparecerá la página Secret details (Detalles de secreto). En la página se muestran todos losdetalles de configuración del secreto elegido excepto el texto cifrado del secreto.

3. En la sección Secret value (Valor secreto), elija Retrieve secret value (Recuperar valor secreto).4. Elija Secret key/value (Clave/valor secreto) para ver las credenciales analizadas como claves y

valores individuales. Elija Plaintext (Texto no cifrado) para ver la cadena de texto JSON cifrada yguardada.

Using the AWS CLI or AWS SDK operations

Puede utilizar los siguientes comandos para recuperar un secreto almacenado en AWS SecretsManager:

• API/SDK: GetSecretValue• AWS CLI: get-secret-value

Debe identificar el secreto por el nombre fácil de recordar o nombre de recurso de Amazon (ARN) yespecificar la versión del secreto. Si no especifica ninguna versión, Secrets Manager utilizará comovalor predeterminado la versión que tiene la etiqueta provisional AWSCURRENT. Secrets Managerdevuelve el contenido del texto del secreto en el parámetro de respuesta PlaintextString y, sialmacenó algún dato binario en el secreto, en el parámetro de respuesta Plaintext, que devuelveuna matriz de bytes.

Example

En el siguiente ejemplo del comando de la AWS CLI, se descifra y se recupera la información cifradadel secreto desde la versión predeterminada del secreto llamada "MyTestDatabase". Secrets Managerutiliza la última fecha de modificación en la salida de CreatedDate.

$ aws secretsmanager get-secret-value --secret-id development/MyTestDatabase{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "SecretString": "{\"ServerName\":\"MyDBServer\",\"UserName\":\"Anaya\",\"Password\":\"MyT0pSecretP@ssw0rd\"}", "SecretVersionStages": [ "AWSCURRENT" ], "CreatedDate": 1510089380.309}

Uso de los componentes de almacenamiento encaché del lado cliente desarrollados por AWS encódigo abiertoPara usar eficientemente el secreto, no debe recuperar solo el valor del secreto cada vez que necesiteusarlo. También debe incluir el código que realice las siguientes operaciones:

• La aplicación debe almacenar en caché un secreto después de recuperarlo. Después, en vez derecuperar el secreto recorriendo la red desde Secrets Manager cada vez que lo necesite, utilice el valoren caché.

63

Page 70: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioBúsqueda de secretos

• Siempre que su código reciba un error de red o de servicio de AWS, vuelva a intentarlo mediante unalgoritmo que implemente un retardo exponencial y vuelva a intentarlo con jitter, tal y como se describeen Retardo exponencial y jitter en el blog de arquitectura de AWS.

Al escribir su código para realizar esas tareas, obtiene los siguientes beneficios:

• Costos reducidos: para los secretos que utiliza con frecuencia, recuperarlos de la memoria caché reduceel número de llamadas a la API que realizan sus aplicaciones a Secrets Manager. Dado que SecretsManager cobra una tarifa por llamada a la API, puede reducir considerablemente los costos.

• Rendimiento mejorado: recuperar el secreto de la memoria en lugar de enviar una solicitud a través deInternet a Secrets Manager puede mejorar drásticamente el rendimiento de sus aplicaciones.

• Disponibilidad mejorada: los errores de red transitorios pueden ser un problema mucho menor cuandorecupera la información del secreto de la memoria caché.

Secrets Manager ha creado un componente del lado del cliente para implementar estas prácticasrecomendadas y simplificar la creación de código para obtener acceso a los secretos almacenados enAWS Secrets Manager. Instale el cliente y luego llame al secreto, proporcionando el identificador delsecreto que desee utilizar en el código. Secrets Manager también requiere que las credenciales de AWSque utiliza para llamar a Secrets Manager contengan los permisos secretsmanager:DescribeSecrety secretsmanager:GetSecretValue en el secreto. Estas credenciales suelen asociarse a un rolde IAM. Se le puede asignar el rol en el momento del inicio de sesión si utiliza la federación SAMLo la federación de identidad web (OIDC). Si ejecuta su aplicación en una instancia Amazon EC2, eladministrador puede asignar un rol de IAM mediante la creación de un perfil de instancia.

El componente está disponible en los siguientes formatos:

• Bibliotecas del lado cliente de Java, Python, Go y .NET con las que usted interactúa en lugar de llamardirectamente a la operación GetSecretValue.

• Un componente de controlador de base de datos conforme con la conectividad de base de datos Java(JDBC). Este componente es un contenedor del controlador JDBC real que agrega la funcionalidaddescrita anteriormente.

Para obtener instrucciones acerca de cómo descargar y utilizar uno de los siguientes enlaces:

• Componente de cliente de caché basado en Java• Componente de conector de base de datos compatible con JDBC• Cliente de almacenamiento en caché de Python• Cliente de almacenamiento en caché para .NET• Cliente de almacenamiento en caché de Go

Búsqueda de secretosSecrets Manager le permite buscar sus secretos en las aplicaciones personalizadas medianteprogramación y seguridad. No obstante, también puede buscar sus secretos mediante las herramientas dela CLI o la consola.

Esta sección incluye procedimientos y comandos que describen cómo buscar secretos.

Búsqueda de secretos

Siga los pasos de una de las siguientes pestañas:

Using the Secrets Manager console

64

Page 71: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioBúsqueda de secretos

Permisos mínimos

Para recuperar un secreto en la consola debe tener estos permisos:

• secretsmanager:ListSecrets: utilícelo para navegar al secreto que desea recuperar.• secretsmanager:DescribeSecret: utilícelo para recuperar las partes no cifradas del

secreto.• secretsmanager:GetSecretValue: utilícelo para recuperar la parte cifrada del secreto.• kms:Decrypt– solo requerido si ha utilizado una clave maestra del cliente (CMK) de AWS

KMS para cifrar su secreto.

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. En la lista de secretos de su cuenta, elija el nombre del secreto que desee ver.

Aparecerá la página Secret details (Detalles de secreto). En la página se muestran todos losdetalles de configuración del secreto elegido excepto el texto cifrado del secreto.

3. En la sección Secret value (Valor secreto), elija Retrieve secret value (Recuperar valor secreto).4. Elija Secret key/value (Clave/valor secreto) para ver las credenciales analizadas como claves y

valores individuales. Elija Plaintext (Texto no cifrado) para ver la cadena de texto JSON cifrada yguardada.

Using the AWS CLI or AWS SDK operations

Puede utilizar los siguientes comandos para recuperar un secreto almacenado en AWS SecretsManager:

• API/SDK: GetSecretValue• AWS CLI: get-secret-value

Debe identificar el secreto por el nombre fácil de recordar o nombre de recurso de Amazon (ARN) yespecificar la versión del secreto. Si no especifica ninguna versión, Secrets Manager utilizará comovalor predeterminado la versión que tiene la etiqueta provisional AWSCURRENT. Secrets Managerdevuelve el contenido del texto del secreto en el parámetro de respuesta PlaintextString y, sialmacenó algún dato binario en el secreto, en el parámetro de respuesta Plaintext, que devuelveuna matriz de bytes.

Example

En el siguiente ejemplo del comando de la AWS CLI, se descifra y se recupera la información cifradadel secreto desde la versión predeterminada del secreto llamada "MyTestDatabase". Secrets Managerutiliza la última fecha de modificación en la salida de CreatedDate.

$ aws secretsmanager get-secret-value --secret-id development/MyTestDatabase{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "SecretString": "{\"ServerName\":\"MyDBServer\",\"UserName\":\"Anaya\",\"Password\":\"MyT0pSecretP@ssw0rd\"}", "SecretVersionStages": [ "AWSCURRENT" ], "CreatedDate": 1510089380.309

65

Page 72: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación y restauración de un secreto

}

• La aplicación debe almacenar en caché un secreto después de recuperarlo. Después, en vez derecuperar el secreto recorriendo la red desde Secrets Manager cada vez que lo necesite, utilice el valoren caché.

• Siempre que su código reciba un error de red o de servicio de AWS, vuelva a intentarlo mediante unalgoritmo que implemente un retardo exponencial y vuelva a intentarlo con jitter, tal y como se describeen Retardo exponencial y jitter en el blog de arquitectura de AWS.

Al escribir su código para realizar esas tareas, obtiene los siguientes beneficios:

• Costos reducidos: para los secretos que utiliza con frecuencia, recuperarlos de la memoria caché reduceel número de llamadas a la API que realizan sus aplicaciones a Secrets Manager. Dado que SecretsManager cobra una tarifa por llamada a la API, puede reducir considerablemente los costos.

• Rendimiento mejorado: recuperar el secreto de la memoria en lugar de enviar una solicitud a través deInternet a Secrets Manager puede mejorar drásticamente el rendimiento de sus aplicaciones.

• Disponibilidad mejorada: los errores de red transitorios pueden ser un problema mucho menor cuandorecupera la información del secreto de la memoria caché.

Secrets Manager ha creado un componente del lado del cliente para implementar estas prácticasrecomendadas y simplificar la creación de código para obtener acceso a los secretos almacenados enAWS Secrets Manager. Instale el cliente y luego llame al secreto, proporcionando el identificador delsecreto que desee utilizar en el código. Secrets Manager también requiere que las credenciales de AWSque utiliza para llamar a Secrets Manager contengan los permisos secretsmanager:DescribeSecrety secretsmanager:GetSecretValue en el secreto. Estas credenciales suelen asociarse a un rolde IAM. Se le puede asignar el rol en el momento del inicio de sesión si utiliza la federación SAMLo la federación de identidad web (OIDC). Si ejecuta su aplicación en una instancia Amazon EC2, eladministrador puede asignar un rol de IAM mediante la creación de un perfil de instancia.

El componente está disponible en los siguientes formatos:

• Bibliotecas del lado cliente de Java, Python, Go y .NET con las que usted interactúa en lugar de llamardirectamente a la operación GetSecretValue.

• Un componente de controlador de base de datos conforme con la conectividad de base de datos Java(JDBC). Este componente es un contenedor del controlador JDBC real que agrega la funcionalidaddescrita anteriormente.

Para obtener instrucciones acerca de cómo descargar y utilizar uno de los siguientes enlaces:

• Componente de cliente de caché basado en Java• Componente de conector de base de datos compatible con JDBC• Cliente de almacenamiento en caché de Python• Cliente de almacenamiento en caché para .NET• Cliente de almacenamiento en caché de Go

Eliminación y restauración de un secretoDada la naturaleza crítica de los secretos, AWS Secrets Manager hace, de forma intencionada, que laeliminación de un secreto sea algo difícil de llevar a cabo. Secrets Manager no elimina los secretos deinmediato. En su lugar, Secrets Manager hace que dejen de estar accesibles de inmediato y se programanpara eliminación tras un periodo de recuperación de un mínimo de siete días. Hasta que finaliza el periodo

66

Page 73: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación y restauración de un secreto

de recuperación, puede recuperar un secreto que ha eliminado anteriormente. Mediante el uso de lainterfaz de línea de comandos (CLI (p. 68)), puede eliminar un secreto sin un periodo de recuperación.

Tampoco puede eliminar directamente una versión de un secreto. En su lugar, elimine todas las etiquetasde ensayo del secreto. Esto marca el secreto como obsoleto y permite que Secrets Manager elimineautomáticamente la versión en segundo plano.

Esta sección contiene procedimientos y comandos que explican cómo se elimina y se restaura un secretoeliminado:

• Eliminar un secreto y todas las versiones (p. 67)• Restaurar un secreto programado para eliminación (p. 69)• Eliminar una versión de un secreto (p. 70)

Eliminar un secreto y todas las versiones

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the Secrets Manager console

Cuando se elimina un secreto, Secrets Manager lo da de baja de inmediato. No obstante, SecretsManager no elimina realmente el secreto hasta que ha transcurrido el número de días especificadoen el periodo de recuperación. No se puede acceder a un secreto obsoleto. Si tiene que acceder aun secreto que está programado para su eliminación, necesitará restaurarlo. A continuación, puedeacceder al secreto y a la información cifrada del secreto.

Puede eliminar un secreto permanentemente sin ninguna ventana de recuperación, utilizando la AWSCLI o los SDK de AWS. Sin embargo, no puede hacer esto en la consola de Secrets Manager.

Permisos mínimos

Para eliminar un secreto en la consola, debe tener estos permisos:

• secretsmanager:ListSecrets: se utiliza para ir al secreto que desea eliminar.• secretsmanager:DeleteSecret– se utiliza para marcar el secreto como obsoleto y

programarlo para eliminación permanente.

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. Vaya a la lista de secretos que administra actualmente en Secrets Manager y elija el nombre del

secreto que desee eliminar.3. En la sección Secret details (Detalles del secreto), elija Delete secret (Eliminar secreto).4. En el cuadro de diálogo Schedule secret deletion (Programar eliminación de secreto), especifique

el número de días en la ventana de recuperación. Esto representa el número de días que debeesperar antes de que la eliminación sea permanente. Secrets Manager asocia un campo llamadoDeletionDate y establece el campo en la fecha y hora actuales más del número de díasespecificado en el periodo de recuperación.

5. Elija Schedule deletion.6. Si habilitó la opción para mostrar elementos eliminados en la consola, se sigue mostrando el

secreto. Si lo desea, puede elegir ver el campo Deleted date (Fecha eliminada) en la lista.a. Elija el icono Preferences (Preferencias) (el engranaje ) de la esquina superior derecha.b. Elija Show secrets scheduled for deletion (Mostrar secretos programados para eliminación).c. Habilite el conmutador Deleted on (Eliminado el).d. Elija Save (Guardar).

67

Page 74: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación y restauración de un secreto

Los secretos eliminados ahora aparecen en la lista con la fecha de eliminación de cada uno.

Using the AWS CLI or AWS SDK operations

Puede utilizar los siguientes comandos para recuperar un secreto almacenado en AWS SecretsManager:

• API/SDK: DeleteSecret• AWS CLI: delete-secret

Tiene que identificar el secreto que desea eliminar por el nombre fácil de recordar o el nombre derecurso de Amazon (ARN) en el campo SecretId.

Example

En el siguiente ejemplo del comando de la AWS CLI se da de baja el secreto denominado"MyTestDatabase" y se programa la eliminación del secreto tras un periodo de recuperación de 14días.

$ aws secretsmanager delete-secret --secret-id development/MyTestDatabase --recovery-window-in-days 14{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "DeletionDate": 1510089380.309}

En cualquier momento después de la fecha y hora especificadas en el campo DeletionDate, AWSSecrets Manager elimina el secreto de forma permanente.

También puede eliminar un secreto de inmediato sin tiempo de espera.Important

Un secreto eliminado con el parámetro ForceDeleteWithoutRecovery no se puederecuperar con la operación RestoreSecret.

Example

El siguiente ejemplo del comando de AWS CLI elimina el secreto de forma inmediata sin una ventanade recuperación. El campo de respuesta DeletionDate muestra la fecha y hora actuales en lugar deuna hora futura.

$ aws secretsmanager delete-secret --secret-id development/MyTestDatabase --force-delete-without-recovery{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "DeletionDate": 1508750180.309}

Consejo práctico

Si no sabe si una aplicación sigue usando un secreto, puede crear una alarma de AmazonCloudWatch que le alerte de cualquier intento de acceder a un secreto durante el periodo

68

Page 75: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación y restauración de un secreto

de recuperación. Para obtener más información, consulte Monitorización de versiones desecretos programadas para su eliminación (p. 138).

Restauración de un secreto programado para su eliminación

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the Secrets Manager console

Secrets Manager considera que un secreto programado para su eliminación está obsoleto y no esposible acceder directamente. Una vez transcurrida la ventana de recuperación, el Secrets Managerelimina el secreto permanentemente. Una vez que Secrets Manager elimina el secreto, no puedesrecuperarlo. Antes del final de la ventana de recuperación, puede recuperar el secreto y hacerque vuelva a estar accesible. Esto elimina el campo DeletionDate que cancela la eliminaciónpermanente programada.

Permisos mínimos

Para restaurar un secreto y los metadatos en la consola, debe tener estos permisos:

• secretsmanager:ListSecrets: se utiliza para ir al secreto que desea restaurar.• secretsmanager:RestoreSecret: se utiliza para eliminar las versiones asociadas al

secreto.

1. Abra la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.2. Vaya a la lista de secretos que administra actualmente en Secrets Manager.3. Para ver los secretos eliminados, debe habilitar esta posibilidad en la consola. Si no ha habilitado

esta característica, siga estos pasos:4. a. Elija el icono Preferences (Preferencias), que tiene forma de engranaje , situado en la esquina

superior derecha.b. Elija Show secrets scheduled for deletion (Mostrar secretos programados para eliminación).c. Habilite el conmutador Deleted on (Eliminado el).d. Elija Save (Guardar).

Los secretos eliminados ahora aparecen en la lista con la fecha en que eliminó cada uno.5. Elija el nombre del secreto eliminado que desea restaurar.6. En la sección Secret details (Detalles del secreto), elija Cancel deletion (Cancelar eliminación).7. En el cuadro de diálogo de confirmación Cancel secret deletion (Cancelar eliminación del secreto),

elija Cancel deletion (Cancelar eliminación).

AWS Secrets Manager elimina el campo DeletionDate del secreto. Esto cancela la eliminaciónprogramada y restaura el acceso al secreto.

Using the AWS CLI or AWS SDK operations

Puede utilizar los siguientes comandos para recuperar un secreto almacenado en AWS SecretsManager:

• API/SDK: RestoreSecret• AWS CLI: restore-secret

69

Page 76: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación y restauración de un secreto

Debe identificar el secreto que desea restaurar por el nombre fácil de recordar o ARN en el campoSecretId.

Example

En el siguiente ejemplo del comando de AWS CLI se restaura un secreto eliminado anteriormentedenominado "MyTestDatabase". Esto cancela la eliminación programada y restaura el acceso alsecreto.

$ aws secretsmanager restore-secret --secret-id development/MyTestDatabase{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase"}

Eliminación de una versión de un secreto

Siga los pasos que aparecen en una de las siguientes pestañas:

Using the AWS CLI or AWS SDK operations

No puede eliminar una versión de un secreto utilizando la consola de Secrets Manager. Debe utilizar laAWS CLI o la API de AWS.

No puede eliminar directamente una versión de un secreto. En su lugar, elimine todas las etiquetasde ensayo que marcan efectivamente el secreto como obsoleto. Secrets Manager puede eliminarlo ensegundo plano.

Puede utilizar los siguientes comandos para dar de baja una versión de un secreto almacenado enAWS Secrets Manager:

• API/SDK: UpdateSecretVersionStage• AWS CLI: update-secret-version-stage

Debe identificar el secreto por el nombre fácil de recordar o ARN. Especifique también las etiquetas deensayo que desea agregar, mover o quitar.

Puede especificar FromSecretVersionId y MoveToSecretId en las siguientes combinaciones:

• FromSecretVersionId únicamente: se eliminan las etiquetas de ensayo completamente desde laversión especificada.

• MoveToVersionId únicamente: se añaden las etiquetas de ensayo a la versión especificada. Siotras versiones tienen alguna de las etiquetas de ensayo ya asociadas, Secrets Manager quitaautomáticamente las etiquetas de esas versiones.

• MoveToVersionId y RemoveFromVersionId: mueven una etiqueta de forma explícita. Laetiqueta de ensayo debe estar presentes en la versión RemoveFromVersionId del secreto. Encaso contrario, se producirá un error.

Example

En el siguiente ejemplo del comando de la AWS CLI se quita la etiqueta de ensayo AWSPREVIOUSdesde una versión del secreto denominada "MyTestDatabase". Puede recuperar el ID de la versiónque desea eliminar utilizando el comando ListSecretVersionIds.

70

Page 77: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAdministración de una política

basada en recursos para un secreto

$ aws secretsmanager update-secret-version-stage \ --secret-id development/MyTestDatabase \ --remove-from-version-id EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE --version-stage AWSPREVIOUS{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase"}

Administración de una política basada en recursospara un secreto

En esta sección se describe cómo asociar, recuperar y eliminar políticas basadas en recursos de lossecretos.

Secrets Manager usa Grupos de recursos de AWS para validar la política y prevenir políticas que puedanhacer que sus secretos sean accesibles de forma pública en internet. Para obtener más información acercade Grupos de recursos de AWS, consulte la documentación.

Secrets Manager utiliza las API GetResourcePolicy y DeleteResourcePolicy existentes paraadjuntar, recuperar o eliminar una política de recursos de un secreto. Cuando proporciona una políticade recursos en formato JSON en la consola, la CLI o el SDK, Secrets Manager utiliza Zelkova, un motorde razonamiento automatizado, para verificar si la política crea un secreto de acceso público. Zelkovaevalúa la política de recursos del cliente para determinar si la política restringe el acceso a secretosdirectamente o a través de un conjunto de claves de condición de confianza. Si la política no restringe elacceso, entonces Zelkova considera que el secreto es de acceso público.

Amazon Web Services utiliza Zelkova en los siguientes productos:

• AWS Config• Amazon S3• AWS Trusted Advisor• Amazon Macie• Amazon GuardDuty

AWS Secrets Manager le permite asociar una política de permisos directamente al secreto como partede la estrategia de autorización de un secreto. Secrets Manager proporciona la funcionalidad además delacceso desde las política que asocia a los usuarios, grupos o roles que requieren acceso al secreto. Puederecuperar una política basada en recursos para revisarla en una fecha posterior y puede eliminar la políticabasada en recursos cuando ya no la necesite.

Si su política no crea un secreto de acceso público, Secrets Manager utiliza la API PutResourcePolicypara adjuntar la política. Si crea una política que permite el acceso público al secreto, Secrets Managermuestra un mensaje de error y le impide adjuntar la política.

Asociar una política basada en recursos a un secretoAsociación de una política de permisos a un secreto

Para obtener más información sobre la creación de una política basada en recursos, consulte Introduccióna la administración de permisos de acceso a los secretos de Secrets Manager (p. 32) y Uso de políticasbasadas en recursos para Secrets Manager (p. 47).

71

Page 78: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRecuperación de una política basada

en recursos a partir de un secreto

Siga estos pasos para asociar una política a un secreto.

Using the Secrets Manager Console

Using the AWS CLI or AWS SDK operations

Puede utilizar el siguiente comando para asociar o modificar el documento de la política que concedeo deniega el acceso al secreto especificado. El documento de política deben tener un formato comotexto estructurado JSON. Para obtener más información, consulte Uso de políticas basadas enrecursos para Secrets Manager (p. 47). Le recomendamos que almacene el documento de la políticacomo archivo de texto y, a continuación, haga referencia al archivo en el parámetro del comando.

• API/SDK: PutResourcePolicy• CLI: put-resource-policy

Example

El siguiente comando de la CLI de ejemplo asocia o sustituye a la política de permisos basados enrecursos asociados actualmente al secreto. Secrets Manager recupera el documento de política delarchivo secretpolicy.json.

$ aws secretsmanager put-resource-policy --secret-id production/MyAwesomeAppSecret --resource-policy file://secretpolicy.json{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "MyAwesomeAppSecret"}

Recuperación de una política basada en recursos apartir de un secretoRecuperación de una política de permisos asociada a un secreto

Siga los pasos que se describen a continuación para obtener el texto de una política basada en recursosasociada a un secreto.

Using the AWS CLI or AWS SDK operations

Puede utilizar el siguiente comando para recuperar el documento de política asociado actualmente alsecreto especificado.

• API/SDK: GetResourcePolicy• CLI: get-resource-policy

Example

El siguiente comando de la CLI de ejemplo recupera el texto de la política de permisos basados enrecursos asociados actualmente al secreto.

$ aws secretsmanager get-resource-policy --secret-id production/MyAwesomeAppSecret{

72

Page 79: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación de una política basadaen recursos a partir de un secreto

"ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "MyAwesomeAppSecret", "ResourcePolicy": "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"arn:aws:iam::111122223333:root\",\"arn:aws:iam::444455556666:root\"},\"Action\":[\"secretsmanager:GetSecret\",\"secretsmanager:GetSecretValue\"],\"Resource\":\"*\"}}"}

Eliminación de una política basada en recursos a partirde un secretoEliminación de una política de permisos asociada a un secreto

Siga los pasos que se describen a continuación para eliminar la política basada en recursos asociadaactualmente al secreto especificado.

Using the AWS CLI or AWS SDK operations

Puede utilizar el comando siguiente para eliminar la política basada en recursos asociada actualmenteal secreto especificado.

• API/SDK: DeleteResourcePolicy• CLI: delete-resource-policy

Example

El siguiente comando de la CLI de ejemplo elimina la política de permisos basados en recursosasociados actualmente al secreto.

$ aws secretsmanager delete-resource-policy --secret-id production/MyAwesomeAppSecret{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:production/MyAwesomeAppSecret-a1b2c3", "Name": "production/MyAwesomeAppSecret"}

73

Page 80: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPermisos necesarios para rotarautomáticamente los secretos

Rotación de sus secretos de AWSSecrets Manager

Puede configurar AWS Secrets Manager para que rote automáticamente el secreto de una base de datoso un servicio protegidos. Secrets Manager sabe de forma nativa cómo rotar los secretos de las bases dedatos de Amazon RDS compatibles (p. 4). Sin embargo, Secrets Manager también le permite realizar larotación de secretos en otras bases de datos o servicios de terceros. Como cada servicio o base de datospuede tener una forma única de configurar los secretos, Secrets Manager utiliza una función Lambda quese puede personalizar con arreglo a la base de datos o el servicio seleccionados. Usted personaliza lafunción de Lambda para implementar los detalles específicos del servicio sobre cómo realizar la rotaciónde un secreto.

Al habilitar la rotación para un secreto utilizando el tipo de secreto Credentials for RDS database(Credenciales para una base de datos de RDS), Credentials for Redshift cluster (Credenciales paraun clúster de Redshift) o Credentials for DocumentDB database (Credenciales para una base dedatos de DocumentDB), Secrets Manager le proporciona una función de rotación de Lambda y rellenaautomáticamente el nombre de recurso de Amazon (ARN) en el secreto. Proporcione algunos detalles paraque esto funcione. Por ejemplo, debe especificar qué secreto tiene permisos para rotar las credenciales ycon qué frecuencia desea rotar el secreto.

Cuando se habilita la rotación de un secreto con Credentials for other database (Credenciales para otrabase de datos) o algún Other type of secret (Otro tipo de secreto), debe proporcionar el código para lafunción Lambda. El código incluye los comandos necesarios para interactuar con su servicio protegidopara actualizar o agregar credenciales.

Temas• Permisos necesarios para rotar automáticamente los secretos (p. 74)• Configuración de la red para admitir la rotación de secretos (p. 77)• Rotación de secretos para bases de datos de Amazon RDS admitidas (p. 78)• Rotación de secretos de Amazon Redshift (p. 87)• Rotación de secretos de Amazon DocumentDB (p. 95)• Rotación de secretos de AWS Secrets Manager para otras bases de datos o servicios (p. 102)• Descripción y personalización de la función de rotación de Lambda (p. 108)• Eliminación de funciones de rotación de Lambda no utilizadas (p. 122)

Permisos necesarios para rotar automáticamentelos secretos

Cuando se utiliza la consola de AWS Secrets Manager para configurar la rotación para un secreto para unade las bases de datos totalmente compatibles (p. 4), la consola configura casi todos los parámetros porusted. Sin embargo, si por alguna razón crea una función o decide hacer algo de forma manual, es posibleque tenga que configurar manualmente los permisos para esa parte de la rotación.

Permisos de usuarios que configuran la rotación yusuarios que activan la rotaciónSecrets Manager necesita dos conjuntos de permisos diferentes para las operaciones de usuario queutilizan la rotación de secretos:

74

Page 81: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPermisos asociados con la función de rotación de Lambda

• Permisos necesarios para configurar la rotación: Secrets Manager asigna permisos a un usuario deconfianza para configurar la rotación del secreto. Para obtener más información, consulte Concesión depermisos completos de administrador de Secrets Manager a un usuario.

• Permisos necesarios para rotar el secreto: un usuario de IAM solo necesita el permiso,secretsmanager:RotateSecret para desencadenar la rotación después de la configuración.Después de que comience la rotación, la función de rotación de Lambda toma el control y utiliza su rol deIAM asociada y los permisos para autorizar las operaciones que se realizan durante la rotación, incluidacualquier operación de AWS KMS necesaria.

En las demás secciones del tema, se analizan los permisos que la función Lambda de rotación debe tenerpara rotar correctamente un secreto.

Permisos asociados con la función de rotación deLambdaAWS Secrets Manager utiliza una función de Lambda para implementar el código para rotar lascredenciales en un secreto.

El servicio de Secrets Manager invoca la función de Lambda. El servicio hace esto invocando un rol de IAMasociado a la función de Lambda. Secrets Manager tiene dos acciones para esto:

• La política de confianza que especifica quién puede asumir el rol. Debe configurar esta política parapermitir a Secrets Manager asumir el rol, tal como se identifica por su entidad principal de servicio:secretsmanager.amazonaws.com. Puede ver esta política en la consola de Lambda, en la páginade detalles de función, haciendo clic en el icono de clave en la sección Designer (Diseñador). Losdetalles aparecen en la sección Function policy (Política de función). Esta política debe parecerse a lossiguientes ejemplos:

{ "Version": "2012-10-17", "Id": "default", "Statement": [ { "Sid": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "Effect": "Allow", "Principal": { "Service": "secretsmanager.amazonaws.com" }, "Action": "lambda:InvokeFunction", "Resource": "<arn of the Lambda function that this trust policy is attached to - must match exactly>" } ]}

Por motivos de seguridad, la política de confianza creada por Secrets Manager incluye un elementoResource y el nombre de recurso de Amazon (ARN) de la función Lambda. Cualquier persona queasuma el rol puede invocar solo la función de Lambda asociada al rol.

• La política de permisos para el rol que especifica el rol de la persona que lo asume Debe configurar estapolítica para especificar los permisos que Secrets Manager puede utilizar al asumir el rol invocando lafunción. Secrets Manager tiene dos políticas diferentes disponibles, dependiendo de la estrategia derotación que se aplique.• Rotación de usuario único: el siguiente ejemplo describe una función que rota un secreto iniciando

sesión con las credenciales almacenadas en el secreto y cambia la contraseña.

{

75

Page 82: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPermisos asociados con la función de rotación de Lambda

"Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage" ], "Resource": "*", "Condition": { "StringEquals": { "secretsmanager:resource/AllowRotationLambdaArn": "<lambda_arn>" } } }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword" ], "Resource": "*" }, { "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*", "Effect": "Allow" } ]}

La primera instrucción del ejemplo de un solo usuario concede permiso a la función para ejecutaroperaciones de Secrets Manager. No obstante, el elemento Condition restringe esto únicamentea los secretos que están configurados con el ARN de esta función de Lambda como la función deLambda de rotación del secreto.

La segunda instrucción permite una operación de Secrets Manager adicional que no requiere lacondición.

La tercera instrucción permite a Lambda establecer la configuración necesaria cuando se especificaque la base de datos o el servicio se ejecute en una VPC. Para obtener más información, consulteConfiguración de una función Lambda para obtener acceso a recursos en una VPC de Amazon en laAWS Lambda Developer Guide.

• Rotación de usuario maestro: el siguiente ejemplo describe una función que rota un secreto iniciandosesión con un secreto maestro diferente y credenciales que contienen permisos elevados. Si utilizauna de las estrategias de rotación alterne entre dos usuarios, Secrets Manager requiere esta función.

{ "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage" ], "Resource": "*",

76

Page 83: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConfiguración de la red para admitir la rotación de secretos

"Condition": { "StringEquals": { "secretsmanager:resource/AllowRotationLambdaArn": "<lambda_arn>" } } }, { "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword" ], "Resource": "*" }, { "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": "*", "Effect": "Allow" }, { "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "<master_arn>" } ]}

Además de las mismas tres instrucciones que la política de usuario único anterior, esta política añadeuna cuarta instrucción. La cuarta instrucción permite a la función recuperar las credenciales en elsecreto maestro. Secrets Manager utiliza las credenciales del secreto maestro para iniciar sesión en labase de datos protegida y actualizar las credenciales en el secreto rotado.

Configuración de la red para admitir la rotación desecretos

Para poder rotar los secretos correctamente, la función de rotación Lambdadebe poder comunicarse tantocon el servicio o base de datos protegida como con el servicio de AWS Secrets Manager. La función derotación envía solicitudes a la base de datos u otro servicio para actualizar una contraseña de usuario conun nuevo valor. La función también llama a operaciones de la API de Secrets Manager para recuperar yactualizar los secretos implicados en el proceso de rotación. Si su instancia Amazon RDS u otro servicio desecretos protegidos se ejecuta en una nube virtual privada (VPC) proporcionada por Amazon VPC, debeseguir estos pasos de alto nivel para habilitar la conectividad necesaria.

• Configure su función de rotación Lambda para habilitar las comunicaciones entre la función y la instanciade base de datos. Si utiliza uno de los servicios de base de datos (p. 4) totalmente compatibles conSecrets Manager, la plantilla de AWS CloudFormation que crea la función determina la accesibilidadpública de la instancia de la base de datos.• Si el servicio protegido se ejecuta en una VPC y no es accesible de forma pública, entonces la plantilla

de AWS CloudFormation configura la función de rotación de Lambda para ejecutar la misma VPC. Eneste caso, la función de rotación se pueden comunicar con el servicio protegido directamente dentrode la VPC.

77

Page 84: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos Amazon RDS

• Si ejecuta el servicio protegido como un recurso de acceso público (ya sea en una VPC o no), laplantilla de AWS CloudFormation configura la función Lambda de rotación para que no se ejecute enuna VPC. En este caso, la función de rotación Lambda se comunica con el servicio protegido a travésdel punto de conexión accesible de forma pública.

Si configura la función de rotación manualmente y desea agregarla a una VPC, en la página Details(Detalles) de la función, desplácese hacia abajo hasta la sección Networking (Redes) y elija la VPCapropiada en la lista.

• Configure su VPC para habilitar las comunicaciones entre la función de rotación Lambda que se ejecutaen una VPC y el punto de enlace de servicio de Secrets Manager. De forma predeterminada, los puntosde enlace de Secrets Manager se ejecutan en la Internet pública. Si ejecuta la función de rotaciónde Lambda y el servicio o la base de datos protegida en una VPC, debe realizar uno de los pasossiguientes:• Puede habilitar su función Lambda para obtener acceso al punto de enlace público de Secrets

Manager añadiendo un gateway NAT a su VPC. Esto permite que el tráfico que se origina en la VPCalcance el punto de enlace de Secrets Manager público. Esto expone la VPC a un nivel de riesgo, yaque la dirección IP de la gateway puede ser atacada desde la red pública de Internet.

• Ahora puede configurar los puntos de enlace de servicio de Secrets Manager directamente dentro desu VPC. De ese modo, la VPC se configurará para interceptar cualquier solicitud dirigida al punto deenlace regional público y redirigirá la VPC al punto de enlace de servicio privado que se ejecuta dentrode la VPC. Para obtener más información, consulte Conexión a Secrets Manager a través de un puntode enlace de la VPC.

Rotación de secretos para bases de datos deAmazon RDS admitidas

Puede configurar AWS Secrets Manager para que rote automáticamente el secreto para una base de datosde Amazon RDS. Secrets Manager utiliza una función de Lambda que proporciona Secrets Manager.

Bases de datos de Amazon RDS admitidas

Para el cometido de las opciones de Amazon RDS en Secrets Manager, una base de datos compatible esaquella en la que, al habilitar la rotación, Secrets Manager proporciona una función Lambda de rotacióncompleta lista para ejecutarse que está diseñada para esa base de datos. Para ver una lista completa delas bases de datos admitidas, consulte the section called “Bases de datos con soporte de rotación listopara usar completamente configurado” (p. 4). Para cualquier otro tipo de base de datos de , puede seguirrotando su secreto. Sin embargo, debe utilizar el flujo de trabajo correspondiente a Other database (Otrabase de datos). Para obtener esas instrucciones, consulte Rotación de secretos de AWS Secrets Managerpara otras bases de datos o servicios (p. 102).

Al habilitar la rotación para un secreto con Credentials for RDS database (Credenciales para base de datosde RDS) como tipo de secreto, Secrets Manager crea y configura automáticamente una función de rotaciónLambda. A continuación, Secrets Manager equipa a su secreto con el nombre de recurso de Amazon(ARN) de la función. Secrets Manager crea el rol de IAM asociado a la función y configura el rol con todoslos permisos necesarios. Por otro lado, si ya utiliza la misma estrategia de rotación con otro secreto ydesea emplearla con el nuevo secreto, también puede especificar el ARN de la función existente y utilizarlocon ambos secretos.

Si ejecuta la instancia de la base de datos de Amazon RDS en una VPC proporcionada por Amazon VPCy la VPC no tiene acceso público a Internet, Secrets Manager también configurará la función Lambda paraque se ejecute dentro de esa VPC. Secrets Manager necesita además que la función Lambda de rotaciónpueda acceder a un punto de enlace de servicio de Secrets Manager para llamar a las operaciones dela API requeridas. Si uno o más de los recursos de la VPC tienen que comunicarse con Internet, puedeconfigurar la VPC con un gateway de NAT para permitir a la función de rotación de Lambda consultar el

78

Page 85: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos Amazon RDS

punto de enlace de servicio de Secrets Manager público. Si tiene requisitos para comunicarse con Internet,puede configurar la VPC con un punto de enlace de servicio de Secrets Manager privado (p. 77)accesible desde la VPC.

De lo contrario, normalmente solo tendrá que proporcionar algunos detalles que determinen qué plantilla seva a utilizar para construir la función Lambda:

• Specify the secret with credentials with permissions to rotate the secret (Especificar el secreto concredenciales con permisos para rotar el secreto): a veces el usuario puede cambiar su contraseña. Otrasveces, el usuario tiene permisos muy restringidos y no puede cambiar su contraseña. En su lugar, debeutilizar las credenciales de un administrador distinto o un "superusuario" para cambiar las credencialesdel usuario.

Debe especificar el secreto que la función de rotación puede utilizar para rotar las credenciales en labase de datos protegida:• Use this secret (Usar este secreto): elija esta opción si las credenciales del secreto actual tienen

permisos en la base de datos para cambiar la contraseña. Elegir esta opción hace que SecretsManager implemente una función de Lambda con una estrategia de rotación para cambiar lacontraseña para un único usuario con cada rotación. Para obtener más información sobre estaestrategia de rotación, consulte Rotación de secretos de AWS Secrets Manager para un usuario conuna sola contraseña (p. 112).

Consideraciones

Secrets Manager proporciona esta opción como una opción de "menor disponibilidad".Pueden producirse errores de inicio de sesión entre el momento en que la rotación eliminala contraseña antigua y el momento en que la contraseña actualizada torna accesible comonueva versión del secreto. Este periodo de tiempo normalmente es muy corto: del ordende un segundo o menos. Si elige esta opción, asegúrese de que las aplicaciones clienteimplementen una estrategia de "retardo y reintento con fluctuación" apropiada en el código.Las aplicaciones deben generar un error únicamente si se produce un error de inicio desesión varias veces durante un periodo de tiempo más largo.

• Use a secret that I have previously stored in AWS Secrets Manager (Usar un secreto que healmacenado previamente en AWS Secrets Manager): elija esta opción si las credenciales del secretoactual tienen permisos más restrictivos y no se pueden usar para actualizar las credenciales en elservicio protegido. O elija esta opción si necesita alta disponibilidad para el secreto. Para elegir estaopción debe crear un secreto "maestro" independiente y credenciales con permisos para crear yactualizar credenciales en el servicio protegido. A continuación, elija ese secreto maestro de la lista.Elegir esta opción hace que Secrets Manager implemente una función de Lambda. Esta funciónLambda tiene una estrategia de rotación que clona el usuario inicial que se encuentra en el secreto. Acontinuación, la función alterna entre los dos usuarios con cada rotación y actualiza la contraseña parael usuario que se activa. Para obtener más información sobre esta estrategia de rotación, consulteRotación de secretos de AWS Secrets Manager alternando entre dos usuarios existentes (p. 116).

Consideraciones

Secrets Manager proporciona esta opción como opción de "alta disponibilidad", ya que laversión anterior del secreto continúa operando y manejando solicitudes de servicio mientrasprepara y prueba la nueva versión. Secrets Manager no da de baja la versión anteriorhasta después de que los clientes hayan cambiado a la nueva versión. No hay tiempo deinactividad al cambiar entre versiones.Esta opción requiere que la función de Lambda clone los permisos del usuario original y losaplique al nuevo usuario. A continuación, la función alterna entre los dos usuarios con cadarotación.Si necesita cambiar los permisos concedidos a los usuarios, asegúrese de cambiar lospermisos para ambos usuarios.

• Customize the function (Personalizar la función): puede adaptar la función Lambda de rotaciónproporcionada por Secrets Manager para que se ajuste a los requisitos de su organización. Por ejemplo,

79

Page 86: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación de un secretode base de datos de Amazon RDS

puede ampliar la fase testSecret de la función (p. 111) para probar la nueva versión con controlesespecíficos de aplicación para garantizar que el nuevo secreto funcione según lo previsto. Para obtenerinstrucciones, consulte Personalización de la función de rotación de Lambda proporcionada por SecretsManager (p. 85).

Temas• Habilitar la rotación de un secreto de base de datos de Amazon RDS (p. 80)• Personalización de la función de rotación de Lambda proporcionada por Secrets Manager (p. 85)

Habilitar la rotación de un secreto de base de datos deAmazon RDSPuede habilitar la rotación para un secreto con credenciales para una base de datos de Amazon RDScompatible (p. 4) utilizando la consola de AWS Secrets Manager (p. 80), con la AWS CLI o con uno delos SDK de AWS.

Warning

Habilitar la rotación hace que el secreto rote de inmediato al guardarlo. Antes de habilitar larotación, asegúrese de actualizar todas las aplicaciones con las credenciales de este secreto pararecuperar el secreto de Secrets Manager. Las credenciales originales podrían no ser utilizablesdespués de la rotación inicial. Todas las aplicaciones que no pueda actualizar se interrumpirán encuanto las credenciales antiguas dejen de ser válidas.

Requisitos previos: Requisitos de red para habilitar la rotación

Para poder habilitar la rotación correctamente, debe configurar correctamente el entorno de red.

• La función Lambda debe poder comunicarse con la base de datos. Si ejecuta la instancia de base dedatos de RDS en una VPC, le recomendamos que configure su función de Lambda para ejecutarla enla misma VPC. Esto permite la conectividad directa entre la función de rotación y su servicio. Para laconfiguración, en la página de detalles de la función de Lambda, desplácese hasta la sección Network(Red) y elija la VPC en la lista desplegable que coincida con su instancia. Asimismo, debe asegurarse deque los grupos de seguridad de EC2 asociados a la instancia habilita la comunicación entre la instancia yLambda.

• La función de Lambda debe poder comunicarse con el punto de enlace de servicio de Secrets Manager.Si la función de rotación de Lambda no puede acceder a Internet, bien porque no ha configurado lafunción para ejecutarse en una VPC o porque la VPC tiene un gateway NAT asociado, entonces puedeutilizar cualquiera de los puntos de enlace públicos disponibles para Secrets Manager. Alternativamente,si configura la función de Lambda para que se ejecute en una VPC sin acceso a Internet, puedeconfigurar la VPC con un punto de enlace de servicio de Secrets Manager privado (p. 77).

Habilitación y configuración de la rotación de un secreto en una base de datos de Amazon RDS compatible

Siga los pasos que se indican en una de las siguientes pestañas:

Uso de la consola de administración de AWS

Permisos mínimos

Para habilitar y configurar la rotación en la consola debe tener los permisos proporcionadospor las siguientes políticas administradas:

80

Page 87: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación de un secretode base de datos de Amazon RDS

• SecretsManagerReadWrite –: proporciona todos los permisos de Secrets Manager,Lambda y AWS CloudFormation.

• IAMFullAccess: proporciona los permisos de IAM necesarios para crear un rol y asociarleuna política de permisos.

1. Inicie sesión en la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

2. Elija el nombre del secreto para el que desea habilitar la rotación.3. En la sección Configure automatic rotation (Configurar rotación automática), elija Enable automatic

rotation (Habilitar rotación automática). Esto habilita los demás controles de esta sección.4. Para Select rotation interval (Seleccionar intervalo de rotación), elija uno de los valores —

predefinidos o elija Custom (Personalizado) y, a continuación, escriba el número de días quedesea entre rotaciones. Si está rotando su secreto para cumplir con requisitos de conformidad,le recomendamos que defina este valor en al menos un día menos que el intervalo obligado porconformidad.

Secrets Manager programa la siguiente rotación una vez que la anterior finalice. Secrets Managerprograma la fecha mediante la adición del intervalo de rotación (número de días) a la fecha real dela última rotación. El servicio elige la hora en dicho espacio de fecha de 24 horas de forma aleatoria.El minuto también se elige de forma algo aleatoria, pero se orienta hacia la hora en punto y esinfluido por diversos factores que ayudan a distribuir la carga.

Note

Si utiliza la función Lambda proporcionada por Secrets Manager para alternar entre dosusuarios, la consola utiliza esta plantilla si elige la segunda opción de "secreto maestro"en el siguiente paso, y entonces debe establecer su periodo de rotación en la mitaddel intervalo mínimo especificado por la normativa de cumplimiento. Secrets Managermantiene las credenciales antiguas disponibles, si no se utilizan activamente, para un ciclode rotación adicional. Secrets Manager invalida las credenciales antiguas solo después deactualizar al usuario con una nueva contraseña después de la segunda rotación.Si modifica la función de rotación para invalidar inmediatamente las credenciales anterioresdespués de que se active el nuevo secreto, puede ampliar el intervalo de rotación almínimo completo exigido por conformidad. Si las credenciales anteriores se dejan activasdurante un ciclo adicional con la etiqueta provisional AWSPREVIOUS dispondrá de lasúltimas credenciales válidas conocidas, y podrá utilizarlas en caso de que necesiterecuperar rápidamente el sistema. Si ocurre algo que interrumpe las credenciales actuales,solo tiene que mover la etiqueta de ensayo AWSCURRENT a la versión con la etiquetaAWSPREVIOUS. A continuación, los clientes deberían poder acceder al recurso de nuevo.Para obtener más información, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

5. Elija una de las siguientes opciones:• Desea crear una nueva función de rotación de Lambda

a. Elija Create a new Lambda function to perform rotation (Crear una nueva función de pararealizar la rotación).

b. En Lambda function name (Nombre de la función Lambda), escriba el nombre que deseaasignar a la función de Lambda que Secrets Manager crea automáticamente.

c. Especifique el secreto con credenciales que puede usar la función de rotación. Lascredenciales deben contener permisos para actualizar el nombre de usuario y la contraseña enla base de datos protegida.• Use this secret (Usar este secreto): elija esta opción si las credenciales de este secreto

tienen permisos en la base de datos para cambiar la contraseña. Elegir esta opción provocaque Secrets Manager cree una función de Lambda que rota secretos con un solo usuario ycambia la contraseña con cada rotación.

81

Page 88: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación de un secretode base de datos de Amazon RDS

Consideraciones

Secrets Manager proporciona esta opción como una opción de "menordisponibilidad". Pueden producirse errores de inicio de sesión entre el momento enque la rotación elimina la contraseña antigua y el momento en que la contraseñaactualizada torna accesible como nueva versión del secreto. Este periodo de tiemponormalmente es muy corto: del orden de un segundo o menos. Si elige esta opción,asegúrese de que las aplicaciones cliente implementan una estrategia de "retardoy reintento con fluctuación" en el código. Las aplicaciones deben generar un errorúnicamente si se produce un error de inicio de sesión varias veces durante unperiodo de tiempo más largo.

• Use a secret that I have previously stored in AWS Secrets Manager (Usar un secreto que healmacenado previamente en AWS Secrets Manager): elija esta opción si las credenciales delsecreto actual no tienen permisos para actualizarse o si requiere alta disponibilidad para elsecreto. Para elegir esta opción, debe crear un secreto maestro diferente con credencialesy permisos para actualizar las credenciales del secreto. A continuación, elija el secretomaestro de la lista.

Elegir esta opción provoca que Secrets Manager cree una función de Lambda que rotasecretos creando un nuevo usuario y contraseña con cada rotación y declarando obsoletoslos antiguos.

Consideraciones

Secrets Manager proporciona esta opción como opción de "alta disponibilidad",ya que la versión anterior del secreto continúa operando y manejando solicitudesde servicio mientras prepara y prueba la nueva versión. Secrets Manager no dade baja la versión anterior hasta después de que los clientes hayan cambiado a lanueva versión. No hay tiempo de inactividad al cambiar entre versiones.Esta opción requiere que la función de Lambda clone los permisos del usuariooriginal y los aplique al nuevo usuario. A continuación, la función alterna entre losdos usuarios con cada rotación.Si necesita cambiar los permisos concedidos a los usuarios, asegúrese de cambiarlos permisos para ambos usuarios.

• Desea utilizar una función Lambda ya ha creado para otro secretoa. Elija Use an existing Lambda function to perform rotation (Utilizar una función existente para

realizar la rotación).b. Elija la función Lambda de la lista desplegable.c. Especifique el tipo de función de rotación:

• Single-user rotation (Rotación de un solo usuario): función de rotación de un secreto quealmacena las credenciales de un usuario con permisos para cambiar su contraseña. SecretsManager crea este tipo de función cuando se elige la opción Use this secret (Usar estesecreto).

• Multi-user rotation (Rotación multiusuario): una función de rotación para un secreto quealmacena las credenciales de un usuario que no puede cambiar su contraseña. La funciónrequiere un secreto maestro independiente que almacena las credenciales de un usuariocon permiso para cambiar las credenciales de este usuario secreto. Secrets Manager creaeste tipo de función cuando elige la opción Use a secret that I have previously stored inAWS Secrets Manager (Usar un secreto que he almacenado previamente en AWS SecretsManager).

d. Si ha especificado la segunda opción de "secreto maestro", también debe elegir el secretopara proporcionar las credenciales del usuario maestro. Las credenciales del secreto maestrodeben tener permiso para actualizar las credenciales almacenadas en este secreto.

6. Elija Save (Guardar) para almacenar los cambios y para activar la rotación inicial del secreto.

82

Page 89: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación de un secretode base de datos de Amazon RDS

Si no tiene un ARN para una función de Lambda asignada al secreto, Secrets Manager crea lafunción, asigna todos los permisos necesarios y la configura para trabajar con la base de datos.Secrets Manager cuenta el número de días especificados en el intervalo de rotación. Cuando elintervalo llega a cero, Secrets Manager vuelve a rotar el secreto y restablece el intervalo en elsiguiente ciclo. Esto continúa hasta que deshabilita la rotación.

Uso de operaciones de la AWS CLI o de los SDK

Permisos mínimos

Para habilitar y configurar la rotación en la consola debe tener los permisos proporcionadospor las siguientes políticas administradas:

• SecretsManagerReadWrite –: proporciona todos los permisos de Secrets Manager,Lambda y AWS CloudFormation.

• IAMFullAccess: proporciona los permisos de IAM necesarios para crear un rol y asociarleuna política de permisos.

Puede utilizar los siguientes comandos de Secrets Manager para configurar la rotación de un secretoexistente para una base de datos de Amazon RDS compatible:

• API/SDK: RotateSecret• AWS CLI: RotateSecret

También debe usar comandos de AWS CloudFormation y AWS Lambda. Para obtener másinformación sobre los siguientes comandos, consulte la documentación para esos servicios.

Important

La función de rotación determina el formato exacto del valor del secreto que utiliza en susecreto la función de rotación que utilice este secreto. Para ver los detalles de lo que cadafunción de rotación requiere para el valor del secreto, consulte la entrada Valor previsto decadena del secreto en la función de rotación relevante en Plantillas de AWS Plantillas de quepuede utilizar para crear funciones de rotación de Lambda (p. 161).

Creación de una función de rotación de Lambda mediante una plantilla de AWS Serverless ApplicationRepository

A continuación se muestra un ejemplo de sesión de AWS CLI que ejecuta el equivalente ala configuración de rotación basada en consola descrita en la pestaña Uso de la consola deadministración de AWS. Debe crear la función mediante un conjunto de cambios de AWSCloudFormation. A continuación, configure la función resultante con los permisos necesarios. Porúltimo, configure el secreto con el ARN de la función completada y haga la rotación una vez paraprobarlo.

En el siguiente ejemplo se utiliza la plantilla genérica, por lo que la plantilla usa el último ARN que semostró anteriormente.

El primer comando configura un conjunto de cambios de AWS CloudFormation basado en la plantillaproporcionada por Secrets Manager.

Si su base de datos o el servicio se encuentra en una VPC proporcionada por Amazon VPC, debeincluir el cuarto de los siguientes comandos para configurar la función para comunicarse con esa VPC.Si no tiene una VPC, entonces puede omitir ese comando.

Además, si la VPC no tiene acceso a la Internet pública, debe configurar su VPC con un punto deenlace de servicio privado para Secrets Manager. El quinto de los siguientes comandos hace esto.

83

Page 90: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación de un secretode base de datos de Amazon RDS

Utilice el parámetro --application-id para especificar la plantilla que utilizar. El valor es el ARNde la plantilla. Para ver la lista de plantillas proporcionada por AWS y sus ARN, consulte Plantillas deAWS Plantillas de que puede utilizar para crear funciones de rotación de Lambda (p. 161).

Las plantillas también requieren parámetros adicionales proporcionados con --parameter-overrides, tal y como se muestra en el ejemplo que se indica a continuación. La plantilla de rotaciónexige que el parámetro envíe dos elementos de información tales como pares Nombre y Valor a laplantilla que afecta a la creación de la función de rotación:

• endpoint: la URL del punto de enlace de servicio que desea que consulte la función de rotación.Normalmente es https://secretsmanager.region.amazonaws.com.

• functionname: el nombre de la función de rotación de Lambda completada que ha creado esteproceso.

$ aws serverlessrepo create-cloud-formation-change-set \ --application-id arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate \ --parameter-overrides '[{"Name":"endpoint","Value":"https://secretsmanager.region.amazonaws.com"},{"Name":"functionName","Value":"MyLambdaRotationFunction"}]' \ --stack-name MyLambdaCreationStack{ "ApplicationId": "arn:aws:serverlessrepo:us-west-2:297356227824:applications/SecretsManagerRDSMySQLRotationSingleUser", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/aws-serverless-repository-MyLambdaCreationStack/EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE"}

El siguiente comando ejecuta el conjunto de cambios que acaba de crear. El parámetro change-set-name procede de la salida de ChangeSetId del comando anterior. Este comando no genera ningunasalida.

$ aws cloudformation execute-change-set --change-set-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE

El siguiente comando concede al servicio Secrets Manager permiso para llamar a la función. La salidamuestra el permiso agregado a la política de confianza del rol.

$ aws lambda add-permission \ --function-name MyLambdaRotationFunction \ --principal secretsmanager.amazonaws.com \ --action lambda:InvokeFunction \ --statement-id SecretsManagerAccess{ "Statement": "{\"Sid\":\"SecretsManagerAccess\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"secretsmanager.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-west-2:123456789012:function:MyLambdaRotationFunction\"}"}

Secrets Manager solamente necesita el comando siguiente si la base de datos se ejecuta en una VPC.Si no ejecuta la base de datos en una VPC, omita este comando. Busque la información de VPC parala instancia de base de datos de Amazon RDS mediante la consola de Amazon RDS o mediante elcomando de la CLI aws rds describe-instances. A continuación, agregue la información en elsiguiente comando y ejecútelo.

84

Page 91: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPersonalización de la función de rotación deLambda proporcionada por Secrets Manager

$ aws lambda update-function-configuration \ --function-name arn:aws:lambda:us-west-2:123456789012:function:MyLambdaRotationFunction \ --vpc-config SubnetIds=<COMMA SEPARATED LIST OF VPC SUBNET IDS>,SecurityGroupIds=<COMMA SEPARATED LIST OF SECURITY GROUP IDs>

Si la VPC con su instancia de base de datos y función de rotación de Lambda no tiene acceso aInternet, debe configurar la VPC con un punto de enlace de servicio privado para Secrets Manager.Esto permite que la función de rotación acceda a Secrets Manager en un punto de enlace dentro de laVPC.

$ aws ec2 create-vpc-endpoint --vpc-id <VPC ID> / --vpc-endpoint-type Interface / --service-name com.amazonaws.<region>.secretsmanager / --subnet-ids <COMMA SEPARATED LIST OF VPC SUBNET IDS> / --security-group-ids <COMMA SEPARATED LIST OF SECURITY GROUP IDs> / --private-dns-enabled

Si creó una función mediante una plantilla que requiere un secreto maestro, también debe agregar lainstrucción siguiente a la política de rol de la función. Esto concede permiso a la función de rotaciónpara recuperar el valor del secreto del secreto maestro. Para obtener instrucciones completas,consulte Concesión de un permiso de función de rotación para obtener a un secreto maestroindependiente (p. 46).

{ "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:region:123456789012:secret:MyDatabaseMasterSecret", "Effect": "Allow" },

Por último, puede aplicar la configuración de rotación al secreto y realizar la rotación inicial.

$ aws secretsmanager rotate-secret \ --secret-id production/MyAwesomeAppSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:123456789012:function:aws-serverless-repository-SecretsManagerRDSMySQLRo-10WGBDAXQ6ZEH \ --rotation-rules AutomaticallyAfterDays=7

Es conveniente que, si desea crear su propia función Lambda de rotación para una basede datos de Amazon RDS compatible, siga los pasos anteriores, donde se utiliza la plantillaSecretsManagerRotationTemplate de AWS CloudFormation. Secrets Manager configura lamayor parte de los permisos y las opciones por usted.

Personalización de la función de rotación de Lambdaproporcionada por Secrets ManagerPuede personalizar la función Lambda de rotación para que se ajuste a los requisitos de seguridadespecíficos de su organización. Dichos requisitos podrían incluir:

• Agregar pruebas adicionales sobre la nueva versión del secreto. De ese modo, se asegurará de que lospermisos se asocian correctamente con las nuevas credenciales.

85

Page 92: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPersonalización de la función de rotación deLambda proporcionada por Secrets Manager

• Es posible que desee utilizar una estrategia para rotar los secretos distinta a la función Lambdaproporcionada por Secrets Manager.

Para personalizar la función, primero debe descubrir qué función le ha creado automáticamente SecretsManager. Si no puede ver el ARN de la función en la consola de Secrets Manager, puede recuperarloutilizando la AWS CLI o las operaciones equivalentes del SDK de AWS.

$ aws secretsmanager describe-secret --secret-id MyDatabaseSecret

Encuentre el valor RotationLambdaARN en la respuesta.

Para editar su función de rotación de Lambda

Siga los pasos de una de las siguientes pestañas:

Using the Secrets Manager console

1. Determine el nombre de la función de rotación de Lambda para su secreto:a. En la lista de secretos, elija el nombre del secreto en el que va a modificar la rotación.b. En la sección Rotation configuration (Configuración de rotación), examine el ARN de la rotación.

La parte del ARN que sigue :function: es el nombre de la función.2. Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.3. Elija el nombre de la función de rotación de Lambda que desea modificar.4. Realice los cambios necesarios en la función.

Using the AWS CLI or AWS SDK operations

1. Determine el nombre de la función de rotación de Lambda para su secreto. Para ello, ejecute elcomando siguiente y examine la parte de la RotationLambdaARN que se indica a continuación:function:.

$ describe-secret --secret-id MySecret{ "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MySecret-abc123", "Name": "MySecret", "RotationLambdaARN": "arn:aws:lambda:us-west-2:123456789012:function:name_of_rotation_lambda_function", "LastChangedDate": 1519940941.014, "SecretVersionsToStages": { "5eae5e4a-a683-469e-96e7-af9a8180fba5": [ "AWSCURRENT" ] }}

2. Examine el valor de respuesta RotationLambdaARN. Este es el ARN de su función de rotación deLambda y la última parte define el nombre de su función.

3. Inicie sesión en la Consola de administración de AWS y abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.

4. Elija el nombre de la función de Lambda que identificó para ver los detalles de la función.5. En la sección Function code (Código de función), puede editar el código fuente de la función. Para

obtener más información acerca de la codificación de una función de Lambda específicamente paraSecrets Manager, consulte Información general de la función de rotación Lambda (p. 109). Parala AWS Lambda Developer Guide. Las funciones de Lambda proporcionadas admiten el entornoPython 2.7.

86

Page 93: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos de Amazon Redshift

Para obtener más información acerca de las opciones y las técnicas de codificación de la función Lambda,consulte la AWS Lambda Developer Guide.

Para obtener más información acerca de cómo codificar su propia función de rotación de Secrets Manager,consulte Descripción y personalización de la función de rotación de Lambda (p. 108).

Rotación de secretos de Amazon RedshiftPuede configurar AWS Secrets Manager para que rote automáticamente el secreto de Amazon Redshift.Secrets Manager utiliza una función Lambda proporcionada por Secrets Manager.

Secrets Manager es compatible con las bases de datos de Amazon Redshift

Secrets Manager es compatible con Amazon Redshift lo que significa que cuando se habilita la rotación,Secrets Manager proporciona una función de rotación Lambda completa y lista para ejecutarse.

Al habilitar la rotación con Credentials for Redshift (Credenciales de Redshift) como tipo de secreto,Secrets Manager puede crear y configurar automáticamente una función de rotación Lambda. Acontinuación, Secrets Manager equipa a su secreto con el nombre de recurso de Amazon (ARN) de lafunción. Secrets Manager crea el rol de IAM asociado a la función y configura la función con todos lospermisos necesarios. De forma alternativa, si ya dispone de otro secreto que utilice la misma estrategia derotación que desea usar con su nuevo secreto, puede especificar el ARN de la función existente y utilizar laestrategia de rotación para ambos secretos.

Si ejecuta un clúster de Amazon Redshift en una VPC proporcionada por Amazon VPC y dicha VPC notiene acceso público a Internet, Secrets Manager también configura la función Lambda para que se ejecutedentro de esa VPC. Además, la función de rotación de Lambda debe ser capaz de obtener acceso a unpunto de enlace de servicio de Secrets Manager para llamar a las operaciones de la API necesarias. Siuno o más de los recursos de la VPC tiene que comunicarse con Internet, puede configurar la VPC con ungateway de NAT para permitir a la función de rotación de Lambda consultar el punto de enlace de serviciode Secrets Manager público. Si no necesita comunicarse con Internet, puede configurar la VPC con unpunto de enlace de servicio de Secrets Manager privado (p. 77) que sea accesible desde la VPC.

De lo contrario, normalmente solo tiene que proporcionar algunos detalles que determinen qué plantillautilizar para construir la función de Lambda:

• Specify the secret with credentials with permissions to rotate the secret (Especificar el secreto utilizandocredenciales con permisos para rotar el secreto): a veces el usuario puede cambiar su contraseña. Otrasveces, el usuario tiene permisos muy restringidos y no puede cambiar su propia contraseña. En su lugar,debe utilizar las credenciales de un administrador distinto o "superusuario" para cambiar las credencialesde usuario.

Debe especificar qué secreto puede utilizar la función de rotación para rotar las credenciales:• Use this secret (Usar este secreto): elija esta opción si las credenciales del secreto actual tienen

permisos para cambiar su propia contraseña. Elegir esta opción provoca que Secrets Managerimplemente una función Lambda con una estrategia de rotación que cambia la contraseña paraun único usuario con cada rotación. Para obtener más información sobre esta estrategia derotación, consulte Rotación de secretos de AWS Secrets Manager para un usuario con una solacontraseña (p. 112).

Consideraciones

Secrets Manager proporciona esta opción como una opción de "menor disponibilidad".Pueden producirse errores de inicio de sesión entre el momento en que la rotación eliminala contraseña antigua y el momento en que la contraseña actualizada torna accesiblecomo nueva versión del secreto. Este periodo de tiempo normalmente es muy corto: delorden de un segundo o menos. Si elige esta opción, asegúrese de que las aplicacionescliente implementan una estrategia de "retardo y reintento con fluctuación" en el código. Las

87

Page 94: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

aplicaciones deben generar un error únicamente si se produce un error de inicio de sesiónvarias veces durante un periodo de tiempo más largo.

• Use a secret that I have previously stored in AWS Secrets Manager (Usar un secreto que healmacenado previamente en ): elija esta opción si las credenciales del secreto actual tienen permisosmás restrictivos y no se pueden usar para actualizar las credenciales en el servicio protegido. O elijaesta opción si necesita alta disponibilidad para el secreto. Para elegir esta opción, cree un secretomaestro diferente y credenciales con permisos que permitan crear y actualizar las credenciales delservicio protegido. A continuación, elija ese secreto maestro de la lista. Elegir esta opción hace queSecrets Manager implemente una función de Lambda. Esta función Lambda tiene una estrategiade rotación que clona el usuario inicial que se encuentra en el secreto. A continuación, la rotaciónalterna entre los dos usuarios con cada rotación y actualiza la contraseña para el usuario que se estáactivando. Para obtener más información sobre esta estrategia de rotación, consulte Rotación desecretos de AWS Secrets Manager alternando entre dos usuarios existentes (p. 116).

Consideraciones

Secrets Manager proporciona esta opción como opción de "alta disponibilidad", ya que laversión anterior del secreto continúa operando y manejando solicitudes de servicio mientrasprepara y prueba la nueva versión. Secrets Manager no da de baja la versión anteriorhasta después de que los clientes hayan cambiado a la nueva versión. No hay tiempo deinactividad al cambiar entre versiones.Esta opción requiere que la función de Lambda clone los permisos del usuario original y losaplique al nuevo usuario. A continuación, la función alterna entre los dos usuarios con cadarotación.Si necesita cambiar los permisos concedidos a los usuarios, asegúrese de cambiar lospermisos para ambos usuarios.

• You can customize the function (Puede personalizar la función): puede personalizar la función Lambdade rotación proporcionada por Secrets Manager con arreglo a los requisitos de su organización. Porejemplo, puede ampliar la fase testSecret de la función (p. 111) para probar la nueva versión concontroles específicos de aplicación para garantizar que el nuevo secreto funcione según lo previsto. Paraobtener instrucciones, consulte Personalización de la función de rotación de Lambda proporcionada porSecrets Manager (p. 85).

Temas• Habilitar la rotación para un secreto de Amazon Redshift (p. 88)

Habilitar la rotación para un secreto de AmazonRedshiftPuede habilitar la rotación de un secreto con credenciales para un servicio de Amazon Redshift utilizandola consola de AWS Secrets Manager (p. 89), la AWS CLI o uno de los SDK de AWS.

Warning

Habilitar la rotación hace que el secreto rote de inmediato al guardarlo. Antes de habilitar larotación, asegúrese de actualizar todas las aplicaciones con las credenciales de este secreto pararecuperar el secreto de Secrets Manager. Las credenciales originales podrían no ser utilizablesdespués de la rotación inicial. Las aplicaciones que no actualice fallan tan pronto como lascredenciales antiguas dejen de ser válidas.

Requisitos previos: Requisitos de red para habilitar la rotación

Para poder habilitar la rotación correctamente, debe tener el entorno de red configurado correctamente.

• La función Lambda debe poder comunicarse con el punto de enlace de servicio de Amazon Redshift.Si ejecuta el clúster de Amazon Redshift en una VPC, le recomendamos que configure su función de

88

Page 95: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

Lambda para que se ejecute en la misma VPC. Esto permite la conectividad directa entre la función derotación y su servicio. Para configurarlo, en la página de detalles de la función de Lambda, desplácesehasta la sección Network (Red) y elija VPC en la lista desplegable para que coincida con la que estáejecutando su instancia. Asimismo, debe asegurarse de que los grupos de seguridad de EC2 asociadosal clúster habilitan la comunicación entre el clúster y Lambda.

• La función de Lambda debe poder comunicarse con el punto de enlace de servicio de SecretsManager. Si la función de rotación de Lambda no puede acceder a Internet, bien porque la funciónno está configurada para ejecutarse en una VPC o porque la VPC tiene un gateway NAT asociado,entonces puede utilizar cualquiera de los puntos de enlace públicos disponibles para SecretsManager. Alternativamente, si configura la función de Lambda para que se ejecute en una VPC sinacceso a Internet, puede configurar la VPC con un punto de enlace de servicio de Secrets Managerprivado (p. 77).

Habilitación y configuración de la rotación para un secreto de clúster de Amazon Redshift compatible

Siga los pasos que se indican en una de las siguientes pestañas:

Uso de la consola de administración de AWS

Permisos mínimos

Para habilitar y configurar la rotación en la consola debe tener los permisos proporcionadospor las siguientes políticas administradas:

• SecretsManagerReadWrite –: proporciona todos los permisos de Secrets Manager,Lambda y AWS CloudFormation.

• IAMFullAccess: proporciona los permisos de IAM necesarios para crear un rol y asociarleuna política de permisos.

1. Inicie sesión en la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

2. Elija el nombre del secreto para habilitar la rotación.3. En la sección Configure automatic rotation (Configurar rotación automática), elija Enable automatic

rotation (Habilitar rotación automática). Esto habilita los demás controles de esta sección.4. Para Select rotation interval (Seleccionar intervalo de rotación), elija uno de los valores —

predefinidos o elija Custom (Personalizado) y, a continuación, escriba el número de días quedesea entre rotaciones. Si rota el secreto para cumplir con los requisitos de conformidad, lerecomendamos que establezca este valor como mínimo en un día menos que el intervalo requeridopor la normativa.

Secrets Manager programa la siguiente rotación una vez que la anterior finalice. Secrets Managerprograma la fecha mediante la adición del intervalo de rotación (número de días) a la fecha real dela última rotación. El servicio elige la hora en dicho espacio de fecha de 24 horas de forma aleatoria.El minuto también se elige de forma algo aleatoria, pero se orienta hacia la hora en punto y esinfluido por diversos factores que ayudan a distribuir la carga.

Note

Si utiliza la función Lambda proporcionada por Secrets Manager para alternar entre dosusuarios, la consola utiliza esta plantilla si elige la segunda opción de "secreto maestro"en el siguiente paso, y entonces debe establecer su periodo de rotación en la mitaddel intervalo mínimo especificado por la normativa de cumplimiento. Secrets Managermantiene las credenciales antiguas disponibles, si no se utilizan activamente, para un ciclode rotación adicional e invalida las credenciales antiguas solo después de actualizar alusuario con una nueva contraseña después de la segunda rotación.

89

Page 96: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

Si modifica la función de rotación para invalidar inmediatamente las credenciales anterioresdespués de que se active el nuevo secreto, puede ampliar el intervalo de rotación almínimo completo exigido por conformidad. Dejar las credenciales anteriores activasdurante un ciclo adicional con la etiqueta de ensayo AWSPREVIOUS proporciona unconjunto "último correcto conocido" de credenciales que puede usar para una recuperaciónrápida. Si ocurre algo que interrumpe las credenciales actuales, solo tiene que moverla etiqueta de ensayo AWSCURRENT a la versión con la etiqueta AWSPREVIOUS. Acontinuación, los clientes deberían poder acceder al recurso de nuevo. Para obtener másinformación, consulte Rotación de secretos de AWS Secrets Manager alternando entre dosusuarios existentes (p. 116).

5. Elija una de las siguientes opciones:• Desea crear una nueva función de rotación de Lambda

a. Elija Create a new Lambda function to perform rotation (Crear una nueva función de pararealizar la rotación).

b. En Lambda function name (Nombre de la función Lambda), escriba el nombre que deseaasignar a la función de Lambda que Secrets Manager crea automáticamente.

c. Especifique el secreto con credenciales que puede usar la función de rotación. Deben tenerpermisos para actualizar el nombre de usuario y la contraseña en el servicio protegido.• Use this secret (Usar este secreto): elija esta opción si las credenciales de este secreto

tienen permisos en el servicio para cambiar su contraseña. Al elegir esta opción SecretsManager crea una función de Lambda que rota secretos con un solo usuario después decambiar la contraseña con cada rotación.

Note

Secrets Manager proporciona esta opción como una opción de "menordisponibilidad". Pueden producirse errores de inicio de sesión entre el momento enque la rotación elimina la contraseña antigua y el momento en que la contraseñaactualizada torna accesible como nueva versión del secreto. Este periodo de tiemponormalmente es muy corto: del orden de un segundo o menos.Si elige esta opción, asegúrese de que las aplicaciones cliente implementan unaestrategia de "retardo y reintento con fluctuación" en el código. Las aplicacionesdeben generar un error únicamente si se produce un error de inicio de sesión variasveces durante un periodo de tiempo más largo.

• Use a secret that I have previously stored in AWS Secrets Manager (Usar un secreto quehe almacenado previamente en ): elija esta opción si las credenciales del secreto actual notienen permisos para actualizarse o si requiere alta disponibilidad para el secreto. Para elegiresta opción, debe crear un secreto "maestro" independiente con credenciales que tenganpermisos para actualizar la credenciales de este secreto. A continuación, elija el secretomaestro de la lista. Elegir esta opción provoca que Secrets Manager cree una función deLambda que rota secretos creando un nuevo usuario y contraseña con cada rotación ydeclarando obsoletos los antiguos.

Note

Secrets Manager proporciona esta opción como opción de "alta disponibilidad",ya que la versión anterior del secreto continúa operando y manejando solicitudesde servicio mientras prepara y prueba la nueva versión. Secrets Manager no dade baja la versión anterior hasta después de que los clientes hayan cambiado a lanueva versión. No hay tiempo de inactividad al cambiar entre versiones.Esta opción requiere que la función de Lambda clone los permisos del usuariooriginal y los aplique al nuevo usuario. A continuación, la función alterna entre losdos usuarios con cada rotación.Si necesita cambiar los permisos concedidos a los usuarios, asegúrese de cambiarlos permisos para ambos usuarios.

• Desea utilizar una función Lambda ya ha creado para otro secreto90

Page 97: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

a. Elija Use an existing Lambda function to perform rotation (Utilizar una función existente pararealizar la rotación).

b. Elija la función Lambda de la lista desplegable.c. Especifique el tipo de función de rotación que eligió:

• Single-user rotation (Rotación de un solo usuario): función de rotación de un secreto quealmacena las credenciales de un usuario con permisos para cambiar su contraseña. SecretsManager crea este tipo de función cuando se elige la opción Use this secret (Usar estesecreto) cuando crea una función.

• Multi-user rotation (Rotación multiusuario): una función de rotación para un secreto quealmacena las credenciales de un usuario sin permiso para cambiar su contraseña. Lafunción requiere un secreto maestro independiente que almacene las credenciales de unusuario con permiso para cambiar las credenciales del usuario de este secreto.

• Secrets Manager crea este tipo de función cuando elige la opción Use a secret that Ihave previously stored in AWS Secrets Manager (Usar un secreto que he almacenadopreviamente en AWS Secrets Manager).

d. Si ha especificado la segunda opción de "secreto maestro", también debe elegir el secreto queproporciona las credenciales del usuario maestro. Las credenciales del secreto maestro debentener permiso para actualizar las credenciales almacenadas en este secreto.

6. Elija Save (Guardar) para almacenar los cambios y para activar la rotación inicial del secreto.7. Si eligió rotar el secreto con un secreto maestro independiente, debe conceder manualmente

a la función de rotación Lambda permiso para obtener acceso al secreto maestro. Siga estasinstrucciones:a. Cuando se completa la configuración de rotación, podría aparecer el mensaje siguiente en la

parte superior de la página:

El secreto <nombre del secreto> se ha almacenado correctamente y su rotación estáhabilitada. Para finalizar la configuración de rotación, debe proporcionar los permisos de rolpara obtener acceso al valor del secreto <Nombre de recurso de Amazon (ARN) de susecreto maestro>.

Si aparece, debe modificar manualmente la política del rol para conceder el permisosecretsmanager:GetSecretValue de la función de rotación para acceder al secretomaestro. Secrets Manager no puede hacerlo automáticamente por motivos de seguridad. Nose puede realizar la rotación del secreto hasta que complete los pasos siguientes si no puedeobtener acceso al secreto maestro.

b. Copie el nombre de recurso de Amazon (ARN) del mensaje en el portapapeles.c. Haga clic en el enlace en la palabra "rol" en el mensaje. Esto abre la consola de IAM en la página

de detalles de rol del rol asociado a la función de rotación de Lambda que Secrets Manager hacreado automáticamente.

d. En la pestaña Permissions (Permisos), elija Add inline policy (Agregar política insertada) y, acontinuación, configure los valores siguientes:• En Service (Servicio), elija Secrets Manager.• En Actions (Acciones), elija GetSecretValue.• En Resources (Recursos), elija Add ARN (Agregar ARN) junto a la entrada del tipo de recurso

secret (secreto).• En el cuadro de diálogo Add ARN(s) (Agregar ARN), pegue el ARN del secreto maestro que ha

copiado anteriormente.e. Elija Review policy (Revisar política) y, a continuación, elija Create policy (Crear política).

Note

Como alternativa al uso del editor visual tal y como se describe en los pasos anteriores,puede pegar la siguiente instrucción en una política existente o nueva:91

Page 98: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

{ "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "<ARN of the master secret>" }

f. Vuelva a la consola de AWS Secrets Manager.

Si aún no hay un ARN para una función de Lambda asignada al secreto, Secrets Manager crea lafunción, asigna todos los permisos necesarios y la configura para trabajar con el servicio. SecretsManager cuenta el número de días especificados en el intervalo de rotación. Cuando el intervalode rotación llega a cero, Secrets Manager vuelve a rotar el secreto y restablece el intervalo para elpróximo ciclo. Esto continúa hasta que deshabilita la rotación.

Uso de operaciones de la AWS CLI o de los SDK

Permisos mínimos

Para habilitar y configurar la rotación en la consola debe tener los permisos proporcionadosmediante las siguientes políticas administradas:

• SecretsManagerReadWrite –: proporciona todos los permisos de Secrets Manager,Lambda y AWS CloudFormation.

• IAMFullAccess –: proporciona los permisos de IAM necesarios para crear un rol yadjuntarle una política de permisos.

Puede utilizar los siguientes comandos de Secrets Manager para configurar la rotación de un secretoexistente para Amazon Redshift:

• API/SDK: RotateSecret• AWS CLI: RotateSecret

También debe usar comandos de AWS CloudFormation y AWS Lambda. Para obtener másinformación sobre los siguientes comandos, consulte la documentación para esos servicios.

Important

La función de rotación que desea usar con el secreto determina el formato exacto del valorsecreto que debe utilizar en el secreto. Para ver los detalles de lo que cada función derotación requiere para el valor secreto, consulte la entrada Valor previsto de cadena delsecreto bajo la función rotación correspondiente en Plantillas de AWS Plantillas de que puedeutilizar para crear funciones de rotación de Lambda (p. 161).

Para crear una función de rotación de Lambda mediante una plantilla de AWS Serverless ApplicationRepository

A continuación, se muestra un ejemplo de sesión de AWS CLI que ejecuta el equivalente ala configuración de rotación basada en consola descrita en la pestaña Uso de la consola deadministración de AWS. Debe crear la función mediante un conjunto de cambios de AWSCloudFormation. A continuación, configure la función resultante con los permisos necesarios. Porúltimo, configure el secreto con el ARN de la función completada y haga la rotación una vez paraprobarlo.

En el siguiente ejemplo se utiliza la plantilla genérica, por lo que la plantilla usa el último ARN que semostró anteriormente.

92

Page 99: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

El primer comando configura un conjunto de cambios de AWS CloudFormation basado en la plantillaproporcionada por Secrets Manager.

Si su servicio se encuentra en una VPC proporcionada por Amazon VPC, debe incluir el cuarto delos siguientes comandos para configurar la función de manera que se comunique con esa VPC. Si nointerviene ninguna VPC, puede omitir el comando.

Además, si la VPC no tiene acceso a Internet, debe configurar su VPC con un punto de enlace deservicio privado para Secrets Manager. El quinto de los siguientes comandos hace esto.

Utilice el parámetro --application-id para especificar la plantilla que utilizar. El valor es el ARNde la plantilla. Para ver la lista de plantillas proporcionada por AWS y sus ARN, consulte Plantillas deAWS Plantillas de que puede utilizar para crear funciones de rotación de Lambda (p. 161).

Las plantillas también requieren parámetros adicionales proporcionados con --parameter-overrides, como se muestra en el siguiente ejemplo. Secrets Manager requiere que este parámetroenvíe dos unidades de información ya que los pares Nombre y Valor a la plantilla afectan a la creaciónde la función de rotación:

• endpoint: la URL del punto de enlace de servicio que desea que consulte la función de rotación.Normalmente es https://secretsmanager.region.amazonaws.com.

• functionname: el nombre de la función de rotación de Lambda completada que ha creado esteproceso.

$ aws serverlessrepo create-cloud-formation-change-set \ --application-id arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate \ --parameter-overrides '[{"Name":"endpoint","Value":"https://secretsmanager.region.amazonaws.com"},{"Name":"functionName","Value":"MyLambdaRotationFunction"}]' \ --stack-name MyLambdaCreationStack{ "ApplicationId": "arn:aws:serverlessrepo:us-west-2:297356227824:applications/SecretsManagerRDSMySQLRotationSingleUser", "ChangeSetId": "arn:aws:cloudformation:us-west-2:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "StackId": "arn:aws:cloudformation:us-west-2:123456789012:stack/aws-serverless-repository-MyLambdaCreationStack/EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE"}

El siguiente comando ejecuta el conjunto de cambios que acaba de crear. El parámetro change-set-name procede de la salida de ChangeSetId del comando anterior. Este comando no genera ningunasalida.

$ aws cloudformation execute-change-set --change-set-name arn:aws:cloudformation:us-west-2:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE

El siguiente comando concede al servicio Secrets Manager permiso para llamar a la función en sunombre. La salida muestra el permiso agregado a la política de confianza del rol.

$ aws lambda add-permission \ --function-name MyLambdaRotationFunction \ --principal secretsmanager.amazonaws.com \ --action lambda:InvokeFunction \ --statement-id SecretsManagerAccess

93

Page 100: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un secreto de Amazon Redshift

{ "Statement": "{\"Sid\":\"SecretsManagerAccess\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"secretsmanager.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-west-2:123456789012:function:MyLambdaRotationFunction\"}"}

Secrets Manager requiere el siguiente comando si ejecuta su servicio en una VPC. Si no es así, omitaeste comando. Busque la información de VPC para el clúster de Amazon Redshift con la consola deAmazon RDS o con el comando de la CLI aws rds describe-instances. A continuación, utilice lainformación en el siguiente comando y ejecútelo.

$ aws lambda update-function-configuration \ --function-name arn:aws:lambda:us-west-2:123456789012:function:MyLambdaRotationFunction \ --vpc-config SubnetIds=<COMMA SEPARATED LIST OF VPC SUBNET IDS>,SecurityGroupIds=<COMMA SEPARATED LIST OF SECURITY GROUP IDs>

Si la VPC con su instancia de servicio y función de rotación de Lambda no tiene acceso a Internet,debe configurar la VPC con un punto de enlace de servicio privado para Secrets Manager. Estopermite que la función de rotación acceda a Secrets Manager en un punto de enlace dentro de la VPC.

$ aws ec2 create-vpc-endpoint --vpc-id <VPC ID> / --vpc-endpoint-type Interface / --service-name com.amazonaws.<region>.secretsmanager / --subnet-ids <COMMA SEPARATED LIST OF VPC SUBNET IDS> / --security-group-ids <COMMA SEPARATED LIST OF SECURITY GROUP IDs> / --private-dns-enabled

Si creó una función mediante una plantilla que requiere un secreto maestro, también debe agregar lainstrucción siguiente a la política de rol de la función. Esto concede permiso a la función de rotaciónpara recuperar el valor del secreto del secreto maestro. Para obtener instrucciones completas,consulte Concesión de un permiso de función de rotación para obtener a un secreto maestroindependiente (p. 46).

{ "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:region:123456789012:secret:MyDatabaseMasterSecret", "Effect": "Allow" },

Por último, puede aplicar la configuración de rotación al secreto y realizar la rotación inicial.

$ aws secretsmanager rotate-secret \ --secret-id production/MyAwesomeAppSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:123456789012:function:aws-serverless-repository-SecretsManagerRDSMySQLRo-10WGBDAXQ6ZEH \ --rotation-rules AutomaticallyAfterDays=7

Le recomendamos que si desea crear su propia función de rotación de Lambda paraAmazon Redshift, siga los pasos anteriores que utilizan la plantilla de AWS CloudFormationSecretsManagerRotationTemplate. El uso de la plantilla permite a Secrets Managerconfigurar lamayoría de los permisos y opciones de configuración por usted.

94

Page 101: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos de Amazon DocumentDB

Rotación de secretos de Amazon DocumentDBPuede configurar AWS Secrets Manager para que rote automáticamente el secreto de AmazonDocumentDB. Secrets Manager utiliza una función Lambda que proporciona Secrets Manager.

Amazon DocumentDB es un servicio admitido

Secrets Manager es compatible con Amazon DocumentDB y proporciona una función de rotación deLambda completa lista para funcionar diseñada para Amazon DocumentDB.

Al habilitar la rotación para un secreto con Credentials for DocumentDB (Credenciales de DocumentDB)como tipo de secreto, Secrets Manager puede crear y configurar automáticamente una función de rotaciónLambda. A continuación, Secrets Manager equipa a su secreto con el nombre de recurso de Amazon(ARN) de la función. Secrets Manager crea el rol de IAM asociado a la función y configura el rol con todoslos permisos necesarios. De forma alternativa, si ya dispone de otro secreto que utilice la misma estrategiade rotación que desea usar con su nuevo secreto, puede especificar el ARN de la función existente yutilizarlo para ambos secretos.

Si ejecuta su instancia de Amazon DocumentDB en una VPC proporcionada por Amazon VPC y dichaVPC no tiene acceso público a Internet, entonces Secrets Manager también configura la función deLambda para ejecutarla dentro de esa VPC. Además, la función de rotación de Lambda debe ser capazde obtener acceso a un punto de enlace de servicio de Secrets Manager para llamar a las operacionesde la API necesarias. Si uno o más de los recursos de la VPC tienen que comunicarse con Internet,puede configurar la VPC con un gateway de NAT para permitir a la función de rotación de Lambdaconsultar el punto de enlace de servicio de Secrets Manager público. Si no existen otras necesidadesde comunicarse con Internet, puede configurar la VPC con un punto de enlace de servicio de SecretsManager privado (p. 77) que sea accesible desde la VPC.

De lo contrario, normalmente solo tiene que proporcionar algunos detalles para determinar qué plantillautiliza para construir la función de Lambda:

• Specify the secret with credentials and permissions to rotate the secret (Especificar el secreto concredenciales y permisos para rotarlo): solo el superusuario puede cambiar la contraseña. Los demásusuarios tienen permisos restringidos y no pueden cambiar la contraseña. Es necesario utilizar lascredenciales de un administrador distinto o un superusuario para poder cambiar las credenciales delusuario.

Debe especificar qué secreto puede utilizar la función de rotación para rotar las credenciales en la basede datos protegida:• Use this secret (Usar este secreto): elija esta opción si el secreto actual tiene credenciales de

superusuario. Elegir esta opción provoca que Secrets Manager implemente una función de Lambdacon una estrategia de rotación que cambia la contraseña para un único usuario con cada rotación.Para obtener más información sobre esta estrategia de rotación, consulte Rotación de secretos deAWS Secrets Manager para un usuario con una sola contraseña (p. 112).

Consideraciones

Secrets Manager proporciona esta opción como una opción de "menor disponibilidad".Pueden producirse errores de inicio de sesión entre el momento en que la rotación eliminala contraseña antigua y el momento en que la contraseña actualizada torna accesible comonueva versión del secreto. Este periodo de tiempo normalmente es muy corto: del orden deun segundo o menos.Si elige esta opción, asegúrese de que las aplicaciones cliente implementan una estrategiade "retardo y reintento con fluctuación" en el código. Las aplicaciones deben generar un errorúnicamente si se produce un error de inicio de sesión varias veces durante un periodo detiempo más largo.

• Use a secret that I have previously stored in AWS Secrets Manager (Usar un secreto que guardépreviamente en AWS Secrets Manager): seleccione esta opción si es necesario contar con una

95

Page 102: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un

secreto de Amazon DocumentDB

disponibilidad elevada para el secreto. Para elegir esta opción debe crear un secreto "maestro"independiente con credenciales con permisos para crear y actualizar credenciales en el dispositivoprotegido. A continuación, elija el secreto maestro de la lista. Elegir esta opción hace que SecretsManager implemente una función de Lambda. Esta función Lambda tiene una estrategia de rotaciónque clona el usuario inicial que se encuentra en el secreto. A continuación, Secrets Manager alternaentre los dos usuarios con cada rotación y actualiza la contraseña para el usuario que se estáactivando. Para obtener más información sobre esta estrategia de rotación, consulte Rotación desecretos de AWS Secrets Manager alternando entre dos usuarios existentes (p. 116).

Note

Secrets Manager proporciona esta opción como opción de "alta disponibilidad", ya quela versión anterior del secreto sigue funcionando y administrando solicitudes de serviciomientras se prepara y se prueba la nueva versión. Secrets Manager no da de baja la versiónanterior hasta la siguiente rotación. No hay tiempo de inactividad al cambiar entre versiones.Esta opción requiere que la función de Lambda clone los permisos del usuario original y losaplique al nuevo usuario. A continuación, la función alterna entre los dos usuarios con cadarotación.Si necesita cambiar los permisos concedidos a los usuarios, asegúrese de cambiar lospermisos para ambos usuarios.

• You can customize the function (Puede personalizar la función): puede adaptar la función de rotaciónde Lambda proporcionada por Secrets Manager según los requisitos de seguridad de su organización.Por ejemplo, puede ampliar la fase testSecret de la función (p. 111) para probar la nueva versión concontroles específicos de aplicación para garantizar que el nuevo secreto funcione según lo previsto. Paraobtener instrucciones, consulte Personalización de la función de rotación de Lambda proporcionada porSecrets Manager (p. 85).

Temas• Habilitar la rotación para un secreto de Amazon DocumentDB (p. 96)

Habilitar la rotación para un secreto de AmazonDocumentDBPuede habilitar la rotación de un secreto que tenga credenciales para una base de datos de AmazonDocumentDB utilizando la consola de AWS Secrets Manager (p. 97), la AWS CLI o uno de los SDK deAWS.

Warning

Habilitar la rotación hace que el secreto rote de inmediato al guardarlo. Antes de habilitar larotación, asegúrese de actualizar todas las aplicaciones con las credenciales de este secreto pararecuperar el secreto de Secrets Manager. Las credenciales originales podrían no ser utilizablesdespués de la rotación inicial. Si no actualiza todas las aplicaciones, es posible que se produzcanerrores ya que las credenciales antiguas ya no son válidas.

Requisitos previos: Requisitos de red para habilitar la rotación

Para habilitar correctamente la rotación, configure el entorno de red correctamente.

• La función Lambda debe poder comunicarse con la base de datos. Si la instancia de base de datosDocumentDB se ejecuta en una VPC, le recomendamos que configure su función Lambda paraejecutarla en la misma VPC. Esto permite la conectividad directa entre la función de rotación y suservicio. Para configurarlo, en la página de detalles de la función de Lambda, desplácese hasta lasección Network (Red) y elija la VPC en la lista desplegable coincida con su instancia. Asimismo, debeasegurarse de que los grupos de seguridad de EC2 asociados a la instancia habilita la comunicaciónentre la instancia y Lambda.

96

Page 103: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un

secreto de Amazon DocumentDB

• La función de Lambda debe poder comunicarse con el punto de enlace de servicio de SecretsManager. Si la función de rotación de Lambda no puede acceder a Internet, bien porque la funciónno está configurada para ejecutarse en una VPC o porque la VPC tiene un gateway NAT asociado,entonces puede utilizar cualquiera de los puntos de enlace públicos disponibles para SecretsManager. Alternativamente, si configura la función de Lambda para que se ejecute en una VPC sinacceso a Internet, puede configurar la VPC con un punto de enlace de servicio de Secrets Managerprivado (p. 77).

Habilitación y configuración de la rotación de un secreto de Amazon DocumentDB

Siga los pasos que se indican en una de las siguientes pestañas:

Uso de la consola de administración de AWS

Permisos mínimos

Para habilitar y configurar la rotación en la consola debe tener los permisos proporcionadospor las siguientes políticas administradas:

• SecretsManagerReadWrite –: proporciona todos los permisos de Secrets Manager,Lambda y AWS CloudFormation.

• IAMFullAccess: proporciona los permisos de IAM necesarios para crear un rol y asociarleuna política de permisos.

1. Inicie sesión en la consola de AWS Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

2. Elija el nombre del secreto para habilitar la rotación.3. En la sección Configure automatic rotation (Configurar rotación automática), elija Enable automatic

rotation (Habilitar rotación automática). Esto habilita los demás controles de esta sección.4. Para Select rotation interval (Seleccionar intervalo de rotación), elija uno de los valores —

predefinidos o elija Custom (Personalizado) y, a continuación, escriba el número de días quedesea entre rotaciones. Si rota su secreto para cumplir con los requisitos de conformidad, lerecomendamos que defina este valor en al menos un día menos que el intervalo obligado porconformidad.

Secrets Manager programa la siguiente rotación una vez que la anterior finalice. Secrets Managerprograma la fecha mediante la adición del intervalo de rotación (número de días) a la fecha real dela última rotación. El servicio elige la hora en dicho espacio de fecha de 24 horas de forma aleatoria.El minuto también se elige de forma algo aleatoria, pero se orienta hacia la hora en punto y esinfluido por diversos factores que ayudan a distribuir la carga.

Note

Si utiliza la función Lambda proporcionada por Secrets Manager para alternar entre dosusuarios, la consola empleará esta plantilla si elige la segunda opción de secreto maestroen el siguiente paso. En ese caso, deberá establecer el periodo de rotación en la mitaddel intervalo mínimo especificado por la normativa de conformidad. Si las credencialesantiguas no se utilizan activamente, Secrets Manager las mantendrá durante un ciclo derotación adicional. A continuación, Secrets Manager invalida las credenciales anterioresdespués de que el usuario se actualice con una contraseña nueva después de la segundarotación.Si modifica la función de rotación para invalidar inmediatamente las credenciales anterioresdespués de que se active el nuevo secreto, puede ampliar el intervalo de rotación almínimo completo exigido por conformidad. Al dejar las credenciales anteriores activasdurante un ciclo adicional con la etiqueta provisional AWSPREVIOUS, dispone de las últimas

97

Page 104: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un

secreto de Amazon DocumentDB

credenciales válidas conocidas, que podrá utilizar si necesita recuperar rápidamenteel sistema. Si ocurre algo que interrumpe las credenciales actuales, solo tiene quemover la etiqueta de ensayo AWSCURRENT a la versión con la etiqueta AWSPREVIOUS.A continuación, puede acceder al recurso de nuevo. Para obtener más información,consulte Rotación de secretos de AWS Secrets Manager alternando entre dos usuariosexistentes (p. 116).

5. Elija una de las siguientes opciones:• Desea crear una nueva función de rotación de Lambda

a. Elija Create a new Lambda function to perform rotation (Crear una nueva función de pararealizar la rotación).

b. En Lambda function name (Nombre de la función Lambda), escriba el nombre que deseaasignar a la función de Lambda que crea Secrets Manager automáticamente.

c. Especifique el secreto con credenciales que puede usar la función de rotación. El usuariodeben tener permiso para actualizar el nombre de usuario y la contraseña en la base de datosprotegida.• Use this secret (Usar este secreto): elija esta opción si las credenciales de este secreto

tienen permisos en la base de datos para cambiar su contraseña. Si se elige esta opción,Secrets Manager creará una función Lambda que rotará los secretos con un único usuariocuya contraseña cambiará con cada rotación.

Note

Secrets Manager proporciona esta opción como una opción de menordisponibilidad. Pueden producirse errores de inicio de sesión entre el momento enque la rotación elimina la contraseña antigua y el momento en que la contraseñaactualizada torna accesible como nueva versión del secreto. Este periodo de tiemponormalmente es muy corto: del orden de un segundo o menos.Si elige esta opción, asegúrese de que las aplicaciones cliente implementan unaestrategia de "retardo y reintento con fluctuación" en el código. Las aplicacionesdeben generar un error únicamente si se produce un error de inicio de sesión variasveces durante un periodo de tiempo más largo.

• Use a secret that I have previously stored in AWS Secrets Manager (Usar un secreto que healmacenado previamente en &ASMlong;): elija esta opción si las credenciales del secretoactual no actualizan los permisos o si requiere alta disponibilidad para el secreto. Para elegiresta opción, debe crear un secreto "maestro" diferente con credenciales y permisos paraactualizar las credenciales de este secreto. A continuación, elija el secreto maestro de lalista. Elegir esta opción provoca que Secrets Manager cree una función de Lambda que rotasecretos creando un nuevo usuario y contraseña con cada rotación y declarando obsoletoslos antiguos.

Note

Secrets Manager proporciona esta opción como opción de alta disponibilidad, yaque la versión anterior del secreto sigue funcionando y administrando solicitudes deservicio mientras se prepara y se prueba la nueva versión. Secrets Manager no dade baja la versión anterior hasta la siguiente rotación. No hay tiempo de inactividadal cambiar entre versiones.Esta opción requiere que la función de Lambda clone los permisos del usuariooriginal y los aplique al nuevo usuario. A continuación, la función alterna entre losdos usuarios con cada rotación.Si necesita cambiar los permisos concedidos a los usuarios, asegúrese de cambiarlos permisos para ambos usuarios.

• Desea utilizar una función Lambda ya ha creado para otro secretoa. Elija Use an existing Lambda function to perform rotation (Utilizar una función existente para

realizar la rotación).b. Elija la función Lambda de la lista desplegable.

98

Page 105: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un

secreto de Amazon DocumentDB

c. Especifique el tipo de función de rotación:• Single-user rotation (Rotación de usuario único): una función de rotación para un secreto

que almacena las credenciales de un usuario con permisos para cambiar su contraseña.Usted crea este tipo de función cuando elige la opción Use this secret (Usar este secreto) alcrear una función.

• Multi-user rotation (Rotación multiusuario): una función de rotación para un secreto quealmacena las credenciales de un usuario que no puede cambiar su contraseña. La funciónrequiere un secreto maestro independiente que almacene las credenciales de un usuariocon permiso para cambiar las credenciales del usuario de este secreto. Usted crea este tipode función cuando elige la opción Use a secret that I have previously stored in AWS SecretsManager (Usar un secreto que he almacenado previamente en AWS Secrets Manager).

d. Si ha especificado la segunda opción de "secreto maestro", también debe elegir el secretoque puede proporcionar las credenciales del usuario maestro. Las credenciales del secretomaestro deben tener permiso para actualizar las credenciales almacenadas en este secreto.

6. Elija Save (Guardar) para almacenar los cambios y para activar la rotación inicial del secreto.7. Si eligió rotar el secreto con un secreto maestro independiente, debe conceder manualmente

a la función de rotación Lambda permiso para obtener acceso al secreto maestro. Siga estasinstrucciones:a. Cuando se completa la configuración de rotación, podría aparecer el mensaje siguiente en la

parte superior de la página:

El secreto <nombre del secreto> se ha almacenado correctamente y su rotación estáhabilitada. Para finalizar la configuración de rotación, debe proporcionar los permisos de rolpara obtener acceso al valor del secreto <Nombre de recurso de Amazon (ARN) de susecreto maestro>.

Si aparece, debe modificar manualmente la política del rol para conceder el permisosecretsmanager:GetSecretValue de la función de rotación para acceder al secretomaestro. Secrets Manager no puede hacerlo automáticamente por motivos de seguridad. SiSecrets Manager no puede obtener acceso al secreto maestro, no se puede realizar la rotacióndel secreto hasta que complete los pasos siguientes.

b. Copie el nombre de recurso de Amazon (ARN) del mensaje en el portapapeles.c. Haga clic en el enlace en la palabra "rol" en el mensaje. Esto abre la consola de IAM en la página

de detalles del rol asociado a la función de rotación de Lambda que Secrets Manager creó porusted.

d. En la pestaña Permissions (Permisos), elija Add inline policy (Agregar política insertada) y, acontinuación, configure los valores siguientes:• En Service (Servicio), elija Secrets Manager.• En Actions (Acciones), elija GetSecretValue.• En Resources (Recursos), elija Add ARN (Agregar ARN) junto a la entrada del tipo de recurso

secret (secreto).• En el cuadro de diálogo Add ARN(s) (Agregar ARN), pegue el ARN del secreto maestro que ha

copiado anteriormente.e. Elija Review policy (Revisar política) y, a continuación, elija Create policy (Crear política).

Note

Como alternativa al uso del editor visual tal y como se describe en los pasos anteriores,puede pegar la siguiente instrucción en una política existente o nueva:

{ "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "<ARN of the master secret>"

99

Page 106: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un

secreto de Amazon DocumentDB

}

f. Vuelva a la consola de AWS Secrets Manager.

Si no tiene un ARN para una función de Lambda asignada al secreto, Secrets Manager crea lafunción, asigna todos los permisos necesarios y la configura para trabajar con la base de datos.Secrets Manager cuenta el número de días especificados en el intervalo de rotación. Cuando llega acero, Secrets Manager rota el secreto de nuevo y restablece el intervalo para el próximo ciclo. Estocontinúa hasta que deshabilita la rotación.

Uso de operaciones de la AWS CLI o de los SDKPermisos mínimos

Para habilitar y configurar la rotación en la consola debe tener los permisos proporcionadospor las siguientes políticas administradas:

• SecretsManagerReadWrite –: proporciona todos los permisos de Secrets Manager,Lambda y AWS CloudFormation.

• IAMFullAccess: proporciona los permisos de IAM necesarios para crear un rol y asociarleuna política de permisos.

Puede utilizar los siguientes comandos de Secrets Manager para configurar la rotación de un secretoexistente para una base de datos de Amazon RDS compatible:

• API/SDK: RotateSecret• AWS CLI: RotateSecret

También debe usar comandos de AWS CloudFormation y AWS Lambda. Para obtener másinformación sobre los siguientes comandos, consulte la documentación para estos servicios.

Important

La función de rotación determina el formato exacto del valor del secreto que debe utilizar ensu secreto. Para ver los detalles de cada requisito de función de rotación para el valor delsecreto, consulte la entrada Valor previsto de cadena del secreto en la función de rotaciónrelevante en Plantillas de AWS Plantillas de que puede utilizar para crear funciones derotación de Lambda (p. 161).

Creación de una función de rotación de Lambda mediante una plantilla de AWS Serverless ApplicationRepository

A continuación, se muestra un ejemplo de sesión de AWS CLI que ejecuta el equivalente ala configuración de rotación basada en consola descrita en la pestaña Uso de la consola deadministración de AWS. Debe crear la función mediante un conjunto de cambios de AWSCloudFormation. A continuación, configure la función resultante con los permisos necesarios. Porúltimo, configure el secreto con el ARN de la función completada y haga la rotación una vez paraprobarlo.

En el siguiente ejemplo se utiliza la plantilla genérica y se usa el último ARN mostrado anteriormente.

El primer comando configura un conjunto de cambios de AWS CloudFormation basado en la plantillaproporcionada por Secrets Manager.

Si su base de datos o el servicio se encuentra en una VPC proporcionada por Amazon VPC, debeincluir el cuarto de los siguientes comandos para configurar la función para comunicarse con esa VPC.Si no tiene una VPC, entonces puede omitir el comando.

Además, si la VPC no tiene acceso a la Internet pública, debe configurar su VPC con un punto deenlace de servicio privado para Secrets Manager. El quinto de los siguientes comandos hace esto.

100

Page 107: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitar la rotación para un

secreto de Amazon DocumentDB

Las plantillas también requieren parámetros adicionales proporcionados con --parameter-overrides, tal y como se muestra en el ejemplo que se indica a continuación. Este parámetro esnecesario para que Secrets Manager envíe dos elementos de información tales como pares Nombre yValor a la plantilla que afecta a la creación de la función de rotación:

• endpoint: la URL del punto de enlace de servicio que desea que consulte la función de rotación.Normalmente es https://secretsmanager.region.amazonaws.com.

• functionname: el nombre de la función de rotación de Lambda completada que ha creado esteproceso.

$ aws serverlessrepo create-cloud-formation-change-set \ --application-id &region-arn;serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate \ --parameter-overrides '[{"Name":"endpoint","Value":"https://secretsmanager.region.amazonaws.com"},{"Name":"functionName","Value":"MyLambdaRotationFunction"}]' \ --stack-name MyLambdaCreationStack{ "ApplicationId": "&region-arn;serverlessrepo:us-west-2:297356227824:applications/SecretsManagerRDSMySQLRotationSingleUser", "ChangeSetId": "&region-arn;cloudformation:us-west-2:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "StackId": "&region-arn;cloudformation:us-west-2:123456789012:stack/aws-serverless-repository-MyLambdaCreationStack/EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE"}

El siguiente comando ejecuta el conjunto de cambios que acaba de crear. El parámetro change-set-name procede de la salida de ChangeSetId del comando anterior. Este comando no genera ningunasalida.

$ aws cloudformation execute-change-set --change-set-name &region-arn;cloudformation:us-west-2:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE

El siguiente comando concede al servicio de Secrets Manager permiso para llamar a la función en sunombre. La salida muestra el permiso agregado a la política de confianza del rol.

$ aws lambda add-permission \ --function-name MyLambdaRotationFunction \ --principal secretsmanager.amazonaws.com \ --action lambda:InvokeFunction \ --statement-id SecretsManagerAccess{ "Statement": "{\"Sid\":\"SecretsManagerAccess\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"secretsmanager.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"&region-arn;lambda:us-west-2:123456789012:function:MyLambdaRotationFunction\"}"}

Si ejecuta la base de datos en un entorno de VPC, Secrets Manager requiere el siguiente comando.Si no es así, omita este comando. Busque la información de VPC para la instancia de base de datosde Amazon RDS con la consola de Amazon RDS o con el comando de la CLI aws rds describe-instances. A continuación, agregue la información en el siguiente comando y ejecútelo.

$ aws lambda update-function-configuration \ --function-name &region-arn;lambda:us-west-2:123456789012:function:MyLambdaRotationFunction \

101

Page 108: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de otros secretos

--vpc-config SubnetIds=<COMMA SEPARATED LIST OF VPC SUBNET IDS>,SecurityGroupIds=<COMMA SEPARATED LIST OF SECURITY GROUP IDs>

Si la VPC con su instancia de base de datos y función de rotación de Lambda no tiene acceso aInternet, debe configurar la VPC con un punto de enlace de servicio privado para Secrets Manager.Esto permite que la función de rotación acceda a Secrets Manager en un punto de enlace dentro de laVPC.

$ aws ec2 create-vpc-endpoint --vpc-id <VPC ID> / --vpc-endpoint-type Interface / --service-name com.amazonaws.<region>.secretsmanager / --subnet-ids <COMMA SEPARATED LIST OF VPC SUBNET IDS> / --security-group-ids <COMMA SEPARATED LIST OF SECURITY GROUP IDs> / --private-dns-enabled

Si creó una función mediante una plantilla que requiere un secreto maestro, también debe agregar lainstrucción siguiente a la política de rol de la función. Esto concede permiso a la función de rotaciónpara recuperar el valor del secreto del secreto maestro. Para obtener instrucciones completas,consulte Concesión de un permiso de función de rotación para obtener a un secreto maestroindependiente (p. 46).

{ "Action": "secretsmanager:GetSecretValue", "Resource": "&region-arn;secretsmanager:region:123456789012:secret:MyDatabaseMasterSecret", "Effect": "Allow" },

Por último, puede aplicar la configuración de rotación al secreto y realizar la rotación inicial.

$ aws secretsmanager rotate-secret \ --secret-id production/MyAwesomeAppSecret \ --rotation-lambda-arn &region-arn;lambda:us-west-2:123456789012:function:aws-serverless-repository-SecretsManagerRDSMySQLRo-10WGBDAXQ6ZEH \ --rotation-rules AutomaticallyAfterDays=7

Recomendamos que si desea crear su propia función de rotación de Lambda, siga los pasosanteriores que utilizan la plantilla de AWS CloudFormation SecretsManagerRotationTemplate.Secrets Manager configura la mayoría de los permisos y opciones de configuración para usted.

Rotación de secretos de AWS Secrets Managerpara otras bases de datos o servicios

Puede configurar AWS Secrets Manager para que rote automáticamente el secreto para una base dedatos o servicio protegido. Secrets Manager ya conoce de forma nativa cómo rotar secretos para bases dedatos de Amazon RDS (p. 78). Sin embargo, Secrets Manager también le permite realizar la rotación desecretos en otras bases de datos o servicios de terceros. Dado que cada servicio o base de datos puedetener una forma única de configurar sus secretos, Secrets Manager utiliza una función de Lambda quedebe escribir para trabajar con el servicio o base de datos que usted elija. Usted personaliza la funciónde Lambda para implementar los detalles específicos del servicio sobre cómo realizar la rotación de unsecreto.

102

Page 109: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de otros secretos

Cuando se habilita la rotación de un secreto para otra base de datos o algún otro tipo de servicio, debecrear y configurar la función Lambda y escribir el código.

Para poder habilitar la rotación para otras bases de datos o servicios, primero debe crear la función derotación Lambda. AWS ofrece una función de rotación Lambda de plantilla genérica que puede usarcomo punto de partida. En el siguiente procedimiento se describe cómo crear una nueva función Lambdabasada en esta plantilla. Al habilitar la rotación (p. 106), solo necesitará agregar el nombre de recurso deAmazon (ARN) de la función completada a su secreto.

Temas• Rotación de secretos de AWS Secrets Manager para otras bases de datos o servicios (p. 103)• Habilitación de la rotación para un secreto para otra base de datos o servicio (p. 106)

Rotación de secretos de AWS Secrets Manager paraotras bases de datos o serviciosSi crea un secreto para otra aplicación aparte de una de las bases de datos de Amazon RDS compatibles,AWS Secrets Manager no crea la función de rotación de Lambda por usted. Debe crearla y configurarla y,a continuación, proporcione el nombre de recurso de Amazon (ARN) de la función completada al secreto.Para ello, utilice la consola de Secrets Manager, la AWS CLI o uno de los SDK de AWS.

En este tema se describe cómo crear la función de Lambda mediante un conjunto de cambios de AWSCloudFormation que usted crea y ejecuta. Después asociará los permisos. En ese momento, puedeeditar el código para que hacer que la función de rotación funcione tal como desea. Por último, asociarála función completada con el secreto de modo que Secrets Manager llame a la función cada vez que sedesencadene la rotación.

Puede especificar la plantilla "genérica" que debe implementar completamente. O bien, puede elegir unade las plantillas que implementan completamente una estrategia de rotación para una determinada basede datos o servicio y utilizarla como punto de partida para personalizar la función según sus necesidades.

Permisos mínimos

Para ejecutar los comandos que habilitan y configuran la rotación debe tener los siguientespermisos:

• serverlessrepo:CreateCloudFormationChangeSet – Para crear el conjunto de cambiosde AWS CloudFormation que configura y crea la función de rotación de Lambda.

• cloudformation:ExecuteChangeSet – Para ejecutar el conjunto de cambios de AWSCloudFormation que crea y configura la función de rotación de Lambda.

• lambda:AddPermission: agregar los permisos necesarios a la función de rotación deLambda después de crearla.

• lambda:InvokeFunction: asociar la función de rotación al secreto.• lambda:UpdateFunctionConfiguration: permitir que la consola actualice la configuración

de VPC de la función de Lambda de modo que pueda comunicarse con una base de datos o unservicio que resida en una VPC.

• secretsmanager:RotateSecret: configurar y desencadenar la rotación inicial.

Puede conceder todos estos permisos a un usuario o rol de IAM asociando la políticaadministrada SecretsManagerReadWrite de AWS.

Los siguientes comandos aplican el genérico SecretsManagerRotationTemplate a su función deLambda. Esta plantilla proviene del AWS Serverless Application Repository y AWS CloudFormation lautiliza para automatizar la mayoría de los pasos. Para el conjunto completo de plantillas y el ARN que debe

103

Page 110: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de otros secretos

especificar, consulte Plantillas de AWS Plantillas de que puede utilizar para crear funciones de rotación deLambda (p. 161).

Utilice el ARN de la plantilla genérica y escríbalo tal y como se muestra:

arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate

Si la base de datos o el servicio que utilizan sus credenciales residen en una VPC proporcionada porAmazon VPC, debe incluir el comando en el paso 5. Este comando configura la función para comunicarsecon dicha VPC. Si no tiene una VPC, entonces puede omitir el comando.

Creación de una función de rotación de Lambda como plantilla genérica para hacerpersonalizaciones

1. El primer comando configura un conjunto de cambios de AWS CloudFormation basado en la plantillaproporcionada por Secrets Manager. Debe proporcionar dos parámetros a la plantilla: la URL del puntode enlace de Secrets Manager y el nombre de la función de rotación de Lambda que produce plantilla.

$ aws serverlessrepo create-cloud-formation-change-set \ --application-id arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate \ --stack-name MyLambdaCreationStack \ --parameter-overrides '[{"Name":"endpoint","Value":"https://secretsmanager.region.amazonaws.com"},{"Name":"functionName","Value":"MySecretsManagerRotationFunction"}]' --capabilities CAPABILITY_IAM CAPABILITY_RESOURCE_POLICY{ "ApplicationId": "arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSMySQLRotationSingleUser", "ChangeSetId": "arn:aws:cloudformation:region:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "StackId": "arn:aws:cloudformation:region:123456789012:stack/aws-serverless-repository-MyLambdaCreationStack/EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE"}

2. El siguiente comando ejecuta el conjunto de cambios que acaba de crear. El parámetro change-set-name procede de la salida de ChangeSetId del comando anterior. Este comando no genera ningunasalida:

$ aws cloudformation execute-change-set --change-set-name arn:aws:cloudformation:region:123456789012:changeSet/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE

3. A continuación, debe localizar el nombre de la función de Lambda que el comando anterior creó porusted.

$ aws lambda list-functions { ... "FunctionName": "MySecretsManagerRotationFunction", "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:MySecretsManagerRotationFunction", ... }

4. El siguiente comando concede permiso a Secrets Manager para llamar a la función.

$ aws lambda add-permission \ --function-name MySecretsManagerRotationFunction \

104

Page 111: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de otros secretos

--principal secretsmanager.amazonaws.com \ --action lambda:InvokeFunction \ --statement-id SecretsManagerAccess{ "Statement": "{\"Sid\":\"SecretsManagerAccess\",\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"secretsmanager.amazonaws.com\"},\"Action\":\"lambda:InvokeFunction\",\"Resource\":\"arn:aws:lambda:us-west-2:123456789012:function:aws-serverless-repository-SecretsManagerRDSMySQLRo-10WGBDAXQ6ZEH\"}"}

5. Si ejecuta una base de datos en una VPC, necesita el siguiente comando. Si no tiene una VPC, omitaeste comando. Este comando configura la función de rotación de Lambda que se ejecutará en laVPC que ejecuta la instancia de base de datos de Amazon RDS. Busque la información de VPC dela instancia de base de datos de Amazon RDS con la consola de Amazon RDS o con el comandode la CLI aws rds describe-instances. A continuación, agregue la información en el siguientecomando y ejecútelo.

$ aws lambda update-function-configuration \ --function-name arn:aws:lambda:us-west-2:123456789012:function:MySecretsManagerRotationFunction \ --vpc-config SubnetIds=<COMMA SEPARATED LIST OF VPC SUBNET IDS>,SecurityGroupIds=<COMMA SEPARATED LIST OF SECURITY GROUP IDs> \

6. Si la VPC con su instancia de base de datos y función de rotación de Lambda no tiene acceso aInternet, debe configurar la VPC con un punto de enlace de servicio privado para Secrets Manager.Esto permite que la función de rotación acceda a Secrets Manager en un punto de enlace dentro de laVPC.

$ aws ec2 create-vpc-endpoint --vpc-id <VPC ID> \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.<region>.secretsmanager \ --subnet-ids <COMMA SEPARATED LIST OF VPC SUBNET IDS> \ --security-group-ids <COMMA SEPARATED LIST OF SECURITY GROUP IDs> \ --private-dns-enabled

7. En este punto puede escribir su código en su función de rotación de Lambda.

Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.8. Personalice el código para implementar el escenario de rotación elegido. Para obtener más

información, consulte Descripción y personalización de la función de rotación de Lambda (p. 108).9. Por último, puede aplicar la configuración de rotación al secreto y realizar la rotación inicial.

Especifique el número de días entre rotaciones sucesivas con el parámetro --rotation-rules yestablezca AutomaticallyAfterDays en el número de días que le interesen.

$ aws secretsmanager rotate-secret \ --secret-id production/MyAwesomeAppSecret \ --rotation-lambda-arn arn:aws:lambda:us-west-2:123456789012:function:MySecretsManagerRotationFunction \ --rotation-rules AutomaticallyAfterDays=7

El secreto rota una vez inmediatamente y, a continuación, comienza a rotar con la frecuencia que haespecificado.

105

Page 112: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitación de la rotación para un

secreto para otra base de datos o servicio

Habilitación de la rotación para un secreto para otrabase de datos o servicioPara configurar la rotación de un secreto para una base de datos que no sea una base de datos de RDScompatible u otro servicio, debe realizar manualmente algunos pasos adicionales. En primer lugar, debecrear y proporcionar el código para la función de rotación de Lambda.

Warning

La configuración de la rotación provoca que el secreto rote en cuanto almacene el secreto.Antes de hacerlo, debe asegurarse de que todas las aplicaciones que utilizan las credencialesalmacenadas en el secreto se actualicen para recuperar el secreto del AWS Secrets Manager.Las credenciales antiguas podrían no ser utilizables después de la rotación inicial. Todas lasaplicaciones que no pueda actualizar se interrumpirán en cuanto las credenciales antiguas dejende ser válidas.

Ya debe haber creado su función de rotación de Lambda. Si todavía no ha creado la función, realicelos pasos que se indican en Rotación de secretos de AWS Secrets Manager para otras bases de datoso servicios (p. 103). Vuelva a este procedimiento cuando la función se haya creado y esté lista paraasociarla con su secreto.

Requisitos previos: Requisitos de red para habilitar la rotación

Para poder habilitar la rotación correctamente, debe tener el entorno de red configurado correctamente.

• La función de Lambda debe poder comunicarse con la base de datos o el servicio. Si la base de datoso servicio se ejecuta en una instancia Amazon EC2 en una VPC, es recomendable que configuresu función Lambda para ejecutarla en la misma VPC. Esto permite la conectividad directa entre lafunción de rotación y su servicio. Para configurarlo, en la página de detalles de la función de Lambda,desplácese hasta la sección Network (Red) y elija VPC en la lista desplegable para que coincida conla instancia en la que se está ejecutando su servicio. Asimismo, debe asegurarse de que los grupos deseguridad de EC2 asociados a la instancia permitan la comunicación entre la instancia y Lambda.

• La función de Lambda debe poder comunicarse con el punto de enlace de servicio de Secrets Manager.Si la función de rotación de Lambda no puede obtener acceso a Internet, bien porque la función no estáconfigurada para ejecutarse en una VPC o porque la VPC tiene un gateway NAT asociado, puede utilizarcualquiera de los puntos de enlace públicos disponibles para Secrets Manager. Como alternativa, si sufunción de Lambda está configurada para ejecutarse en una VPC que no tiene acceso a Internet, puedeconfigurar la VPC con un punto de enlace de servicio de Secrets Manager privado (p. 77).

Para habilitar y configurar la rotación para un secreto para otra base de datos o servicio

Siga los pasos que aparecen en una de las siguientes pestañas:

Uso de la consola de administración de AWS

Permisos mínimos

Para habilitar y configurar la rotación en la consola, debe tener estos permisos:

• secretsmanager:ListSecrets – Para ver la lista de secretos en la consola.• secretsmanager:DescribeSecrets – Para acceder a la página de detalles de su

secreto elegido.• secretsmanager:RotateSecret – Para configurar o activar la rotación.

1. Inicie sesión en la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

106

Page 113: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioHabilitación de la rotación para un

secreto para otra base de datos o servicio

2. Elija el nombre del secreto para el que desea habilitar la rotación.3. En la sección Configure automatic rotation (Configurar rotación automática), elija Enable automatic

rotation (Habilitar rotación automática). Esto habilita los demás controles de esta sección.4. Para Select rotation interval (Seleccionar intervalo de rotación), elija uno de los valores predefinidos

o elija Custom (Personalizado) y, a continuación, escriba el número de días que desea entrerotaciones.

Secrets Manager programa la siguiente rotación una vez que la anterior finalice. Secrets Managerprograma la fecha mediante la adición del intervalo de rotación (número de días) a la fecha real dela última rotación. El servicio elige la hora en dicho espacio de fecha de 24 horas de forma aleatoria.El minuto también se elige de forma algo aleatoria, pero se orienta hacia la hora en punto y esinfluido por diversos factores que ayudan a distribuir la carga.

5. En Choose an AWS Lambda function (Elija una función de ), elija la función de rotación en la listadesplegable. Si todavía no ha creado la función, realice los pasos que se indican en Rotación desecretos de AWS Secrets Manager para otras bases de datos o servicios (p. 103). Regrese yrealice este paso cuando la función se haya creado y esté lista para asociarla con su secreto.

Using the AWS CLI or AWS SDKs

Permisos mínimos

Para crear una función de Lambda utilizando la consola debe tener estos permisos:

• lambda:CreateFunction – Para crear una función en AWS Lambda.• lambda:InvokeFunction – Para asociar la función de rotación al secreto.• secretsmanager:DescribeSecrets – Para acceder a la página de detalles del secreto.• secretsmanager:RotateSecret – Para asociar la función de rotación al secreto o para

activar la rotación.

Puede utilizar los siguientes comandos para habilitar y configurar la rotación en Secrets Manager:

• API/SDK: RotateSecret• AWS CLI: rotate-secret

Example

A continuación se incluye un comando de CLI de ejemplo que realiza el equivalente de la creación delsecreto basado en la consola en la pestaña Uso de la consola de administración de AWS. Estableceel intervalo de rotación en 30 días y especifica el nombre de recurso de Amazon (ARN) de un segundosecreto que tiene permisos para cambiar las credenciales de este secreto en la base de datos.

$ aws secretsmanager rotate-secret --secret-id production/MyAwesomeAppSecret --automatically-rotate-after-days 30 --rotation-lambda-arn arn:aws:secretsmanager:region:accountid:secret:production/MasterSecret-AbCdEf{ "ARN": "arn:aws:secretsmanager:region:accountid:secret:production/MyAwesomeAppSecret-AbCdEf", "Name": "production/MyAwesomeAppSecret", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE"}

El parámetro ClientRequestToken no es necesario porque estamos utilizando la AWS CLI, quegenera y nos suministra uno automáticamente. El resultado incluye el ID de versión secreta de lanueva versión que se crea durante la rotación inicial. Una vez completada la rotación, esta nueva

107

Page 114: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioDescripción y personalización dela función de rotación de Lambda

versión tiene la etiqueta de ensayo AWSCURRENT asociada y la versión anterior tiene la etiqueta deensayo AWSPREVIOUS.

Descripción y personalización de la función derotación de Lambda

Para obtener más información sobre las funciones de rotación de Lambda, consulte Información general dela función de rotación Lambda (p. 109).

Si elige una de las bases de datos compatibles (p. 4) para el tipo de secreto, AWS Secrets Manager creay configura la función de rotación Lambda automáticamente. Puede habilitar la rotación para esas basesde datos siguiendo los pasos que se indican en Habilitar la rotación de un secreto de base de datos deAmazon RDS (p. 80). Sin embargo, si desea crear una función de rotación Lambda personalizada paraotro servicio, debe seguir los pasos que se indican en Habilitación de la rotación para un secreto para otrabase de datos o servicio (p. 106).

En esta sección se describe en detalle cómo actúa la función de Lambda y cómo tiene que configurar lafunción para rotar correctamente los secretos.

Important

La función Lambda y el secreto de Secrets Manager que la invoca deben estar en la misma regiónde AWS. Si está en regiones diferentes, recibirá un mensaje de error que indica que no existeLambda al intentar agregar el nombre de recurso de Amazon (ARN) de la función a los metadatosdel secreto.

Tenga en cuenta las situaciones siguientes que hay que tener en cuenta a la hora de crear su propiafunción de Lambda para la rotación. Usted aplica una situación en función de las característicascompatibles con el sistema de autenticación que protege el recurso protegido y con sus preocupaciones deseguridad.

• Solo puede cambiar la contraseña para un único usuario. Una situación común en servicios que sonpropiedad de una persona distinta del usuario que accede al servicio. El propietario del servicio permiteal cliente crear una cuenta de usuario, a menudo con una dirección de correo electrónico de usuariocomo nombre de usuario, o al menos como clave única. En este caso, el servicio normalmente permiteal usuario cambiar la contraseña con la frecuencia necesaria. Sin embargo, la situación no permite alusuario crear usuarios adicionales y, a menudo, no permite cambiar el nombre de usuario.

Los usuarios suelen tener la posibilidad de cambiar su contraseña y no requieren otro usuarioindependiente con permisos de administrador para realizar el cambio de la contraseña. No obstante,debido a que cambia la contraseña de un único usuario activo, los clientes que obtienen acceso alservicio con este usuario podrían recibir un error de inicio de sesión temporalmente mientras se procesarel cambio de contraseña.

Puede haber un tiempo de inactividad entre el momento en que cambia la contraseña y el momento enel que todos los clientes reciben notificaciones para utilizar la versión más reciente de la contraseña.Normalmente solo debe durar unos segundos y debe permitir el tiempo en el código de aplicación queutiliza el secreto. Asegúrese de habilitar los reintentos con algo de retraso entre ellos para tolerar estainterrupción a corto plazo durante una rotación.

• Puede crear dos usuarios con los que puede alternar. En este caso, puede crear un usuario que elproceso de rotación clone para crear dos usuarios que tengan el mismo acceso al recurso protegido. Elproceso de rotación alterna entre los dos usuarios. Secrets Manager cambia la contraseña y prueba el"inactivo" mientras sus usuarios siguen obteniendo acceso a la base de datos o al servicio mediante lascredenciales del secreto "activo".

Mientras los clientes acceden al recurso protegido utilizando un único nombre de usuario y consultan laversión que tiene asociada la etiqueta provisional predeterminada AWSCURRENT, la función de rotación

108

Page 115: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioInformación general de la función de rotación Lambda

cambia la contraseña del segundo usuario inactivo. La función de rotación almacena la contraseñaactualizada en una nueva versión del secreto que tiene la etiqueta de ensayo AWSCURRENT. Despuésde la prueba, mueva la etiqueta de ensayo AWSCURRENT a la nueva versión que apunta al usuarioalternativo y a la contraseña nueva. Todos los clientes empiezan a acceder de inmediato al recursoprotegido con el usuario alternativo y la contraseña actualizada.

Cuando llegue el momento de la siguiente rotación, cambie la contraseña en la cuenta de usuariooriginal que ahora está inactiva. Esto crea otra versión nueva del secreto y repite el ciclo.

En esa situación se necesita un segundo secreto que apunte a un administrador o "superusuario" conpermisos para cambiar la contraseña en ambos usuarios.

• Puede crear credenciales nuevas para un único usuario. Algunos sistemas le permiten crear un únicousuario, con varios conjuntos de credenciales de acceso. Cada credencial de acceso proporciona unconjunto completo de credenciales y opera independientemente de la otra. Puede eliminar y volvera crear la primera credencial de acceso, mientras Secrets Manager utiliza la segunda credencial deacceso. A continuación, puede cambiar todos los clientes a la nueva primera credencial de acceso.La próxima vez que realice una rotación, eliminará y volverá a crear la segunda credencial de accesomientras los clientes siguen utilizando la segunda.

Para obtener más información e instrucciones para configurar cada situación, consulte los siguientestemas:

• Información general de la función de rotación Lambda (p. 109)• Rotación de secretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112)• Rotación de secretos de AWS Secrets Manager alternando entre dos usuarios existentes (p. 116)• Rotación de secretos de AWS Secrets Manager para un usuario que admite varias

credenciales (p. 119)

Información general de la función de rotación LambdaAWS Secrets Manager utiliza una función AWS Lambda para realizar la rotación real de un secreto. Siutiliza su secreto para una de las bases de datos de Amazon RDS compatibles (p. 4), entonces SecretsManager le proporciona la función de Lambda. Y Secrets Manager personaliza automáticamente la funciónpara satisfacer los requisitos de la base de datos especificada. Si utiliza el secreto con otro servicio, debeproporcionar el código de la función Lambda.

Cuando un programa de rotación configurado o un proceso manual desencadena la rotación, SecretsManager llama a la función de Lambda varias veces, cada vez con diferentes parámetros. La función deLambda realiza varias tareas a lo largo del proceso de rotación de un secreto. El parámetro Step de lasolicitud especifica la tarea que se realiza en cada solicitud.

Secrets Manager invoca la función de Lambda con la siguiente estructura de parámetros de solicitudJSON:

{ "Step" : "request.type", "SecretId" : "string", "ClientRequestToken" : "string"}

A continuación se describen los parámetros de la solicitud:

• Step (Paso): especifica la parte del comportamiento de la función de rotación se va a invocar. Cada unode los diferentes valores identifica un paso del proceso de rotación. La siguiente sección Los pasos de lafunción de rotación Lambda (p. 110) explica cada paso a fondo. La separación en pasos invocados de

109

Page 116: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioInformación general de la función de rotación Lambda

manera independiente permite al equipo de AWS Secrets Manager agregar funcionalidades adicionalespara que se produzcan entre pasos.

• secretId: el ID o el nombre de recurso de Amazon (ARN) del secreto para rotar. Secrets Manager asignaun ARN a cada secreto cuando usted crea el secreto inicialmente. La versión que rota automáticamentese convierte en la versión predeterminada y recibe la etiqueta AWSCURRENT.

• clientRequestToken (Token de solicitud del cliente): una cadena Secrets Manager para la función deLambda. Debe pasar esta cadena a cualquier API de Secrets Manager que invoque desde dentro de lafunción Lambda. Secrets Manager utiliza este token para garantizar la idempotencia de las solicitudesdurante cualquier reintento que sea necesario (y que se haya producido por errores de llamadasconcretas). Este valor es un valor tipo UUID para garantizar la exclusividad del secreto especificado.Este valor pasa a ser el SecretVersionId de la nueva versión del secreto.

Los mismos secretId e clientTokenRequest invocan cada paso. Solo el parámetro Step cambia concada llamada. Esto le impide almacenar cualquier estado entre pasos. Los parámetros proporcionan todala información necesaria—o como parte de la información en las versiones a las que se accede con lasetiquetas AWSCURRENT o AWSPENDING.

Para obtener una descripción de las tareas específicas que deben realizarse en cada paso de las distintasestrategias de rotación, consulte los siguientes temas:

• Rotación de secretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112)• Rotación de secretos de AWS Secrets Manager alternando entre dos usuarios existentes (p. 116)• Rotación de secretos de AWS Secrets Manager para un usuario que admite varias

credenciales (p. 119)

Los pasos de la función de rotación LambdaLa funcionalidad integrada en la función de rotación de Lambda se divide en distintos pasos. El parámetroStep invoca cada paso llamando a la función con uno de los valores del parámetro.

En esta versión de Secrets Manager, Secrets Manager llama a los pasos automáticamente en secuencia.En cuanto finaliza un paso, Secrets Manager llama inmediatamente a la función Lambda para invocar elsiguiente paso.

Cuando se especifica un secreto para una de las bases de datos de Amazon RDS admitidas, SecretsManager utiliza una función Lambda estándar para rotar el secreto. Secrets Manager proporciona lafunción Lambda, pero puede modificarla para ajustarse a los requisitos de rotación específicos de suorganización.

El paso createSecret

En este paso, la función de Lambda genera una nueva versión del secreto. Dependiendo de su situación,esto puede ser tan sencillo como generar una nueva contraseña. O bien, puede generar valores paraun conjunto de credenciales completamente nuevo, incluidos un nombre de usuario y una contraseñaadecuados para el recurso protegido. Secrets Manager almacena estos valores como una nueva versióndel secreto. Secrets Manager clona los otros valores del secreto que no es necesario cambiar, como losdetalles de conexión, a partir de la versión existente del secreto. Después, Secrets Manager asigna a lanueva versión del secreto la etiqueta provisional AWSPENDING para marcarla como la versión en procesodel secreto.

110

Page 117: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioInformación general de la función de rotación Lambda

El paso setSecret

En este paso, la función de rotación recupera la versión del secreto etiquetada AWSPENDING de SecretsManager, la versión que acaba de crear en el paso anterior. La función de rotación invoca, a continuación,el servicio de identidad de la base de datos o del servicio para cambiar la contraseña actual o crear nuevascredenciales que coincidan con las nuevas en el secreto. Si crea un usuario nuevo, entonces la funcióndebe clonar los permisos del usuario anterior. De este modo, el nuevo usuario podrá seguir realizando susactividades según las necesidades dentro de la aplicación personalizada.

Para cambiar una contraseña o crear nuevas credenciales en la base de datos o en el sistema deautenticación de servicios, debe permitir que la función de Lambda realice estas tareas. Estas tareas seconsideran "administrativas" y requieren permisos que normalmente usted no otorga a los usuarios. Porlo tanto, le recomendamos que utilice un segundo conjunto de credenciales con permisos para cambiarla contraseña o crear nuevos usuarios para el secreto "principal", con arreglo a su estrategia de rotación.Estas referencias las denominamos secreto maestro y Secrets Manager las guarda en un secreto diferentedel secreto principal. La función de rotación guarda el ARN de este secreto maestro en el secreto principalpara que lo utilice la función de rotación. La aplicación personalizada del usuario final no debe accedernunca al secreto maestro. Solo la función de rotación Lambda puede acceder al secreto principal paraactualizar o crear nuevas credenciales en la base de datos cuando se produce la rotación.

El paso testSecret

Este paso de la función de Lambda verifica la versión AWSPENDING del secreto mediante su uso paraacceder al recurso protegido de la misma manera que su aplicación personalizada accede al recursoprotegido. Si la aplicación necesita acceso de solo lectura a la base de datos, la función debe verificarque las lecturas de prueba sean satisfactorias. Si la aplicación debe poder escribir en la base de datos, lafunción debe realizar algunas escrituras de prueba para verificar que tiene ese nivel de acceso.

111

Page 118: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Un usuario, una contraseña

El paso finishSecret

Este paso realiza cualquier finalización específica del recurso en esta versión del secreto. Una vezcompletado, el último paso requiere que la función de Lambda mueva la etiqueta AWSCURRENT de laversión actual a esta nueva versión del secreto para que sus clientes comiencen a usarla. También puedeeliminar la etiqueta AWSPENDING, pero no es necesario desde el punto de vista técnico. En este punto seha completado la rotación básica. Todos sus clientes usan la nueva versión del secreto. La versión antiguarecibe la etiqueta provisional AWSPREVIOUS y está disponible como la última versión válida conocida delsecreto en caso de que sea necesario recuperar el sistema. La versión antigua que tenía la etiqueta deensayo AWSPREVIOUS ya no tiene etiquetas de ensayo asociadas, por lo que Secrets Manager consideraque la versión antigua se ha quedado obsoleta y está sujeta a eliminación.

Rotación de secretos de AWS Secrets Manager paraun usuario con una sola contraseñaPuede configurar AWS Secrets Manager para que rote automáticamente el secreto para un recursoprotegido. En este tema se describe cómo configurar la rotación de un sistema que le permite crear unúnico usuario con una única contraseña. Puede cambiar la contraseña del usuario cuando sea necesario.Esta situación proporciona simplicidad, pero no proporciona la solución de mayor disponibilidad. Losclientes pueden seguir teniendo acceso al recurso protegido mientras se produce el cambio de contraseña.Esto puede dar lugar a algunas situaciones de "acceso denegado".

El tiempo que puede transcurrir entre el cambio de la contraseña real y el cambio en el secretocorrespondiente que indica al cliente la contraseña que debe utilizar presenta un riesgo. Este riesgo puedeaumentar si hospeda el recurso protegido en una "granja de servidores" donde el cambio de contraseñatarda un tiempo en propagarse a todos los servidores miembro. Sin embargo, con una estrategia dereintento adecuada, es posible mitigar significativamente este riesgo.

112

Page 119: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Un usuario, una contraseña

Una situación común en servicios que son propiedad de una persona distinta del usuario que accedeal servicio. El propietario del servicio permite al cliente crear una cuenta de usuario, a menudo coninformación como la dirección de correo electrónico del usuario como el nombre de usuario, o al menoscomo una clave única. — El servicio normalmente permite al usuario cambiar la contraseña con lafrecuencia necesaria. Sin embargo, el servicio no permite al usuario crear usuarios adicionales o cambiarel nombre de usuario.

Uso de etiquetas en la rotación para administrar un usuario únicocon contraseñas que cambianA continuación se explica este caso de forma más detallada:

a. La situación comienza con una aplicación que accede al recurso protegido, la base de datos, a travésde las credenciales almacenadas en un secreto que tiene una única versión "A". Esta versión "A" delsecreto lleva asociada la etiqueta de ensayo AWSCURRENT. La aplicación recupera el secreto solicitandola versión con la etiqueta de ensayo AWSCURRENT, pasos 1 y 2 en el siguiente gráfico. A continuación, laaplicación utiliza las credenciales en dicha versión del secreto para obtener acceso a la base de datos,paso 3, para recuperar los datos que necesita, paso 4.

b. El proceso de rotación del secreto crea una nueva versión "B" del secreto, no un nuevo secreto, sinouna nueva versión del mismo secreto. Inicialmente, el proceso de rotación asocia la etiqueta de ensayoAWSPENDING a esta versión "B" del secreto. La versión "B" del secreto recibe una nueva contraseñagenerada. Tan pronto como Secrets Manager almacena de forma correcta el secreto, el proceso derotación cambia la contraseña del usuario en el sistema de autenticación de la base de datos. En estepunto, entre el cambio de contraseña en la base de datos y el traslado de la etiqueta a la nueva versióndel secreto, pueden producirse errores de inicio de sesión del cliente en el paso 4. Debido a este riesgo,es fundamental que el proceso de rotación continúe de inmediato al paso siguiente.

c. La versión "B" del secreto se convierte en la contraseña activa y el proceso de rotación mueve laetiqueta de ensayo AWSCURRENT de la versión "A" a la nueva versión "B" del secreto. De este modotambién mueve automáticamente la etiqueta de ensayo AWSPREVIOUS a la versión etiquetadaanteriormente con la etiqueta de ensayo AWSCURRENT. Esto permite al secreto actuar como la "últimacorrecta conocida" en caso de que haya necesidad de efectuar una recuperación.

113

Page 120: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Un usuario, una contraseña

d. La siguiente solicitud desde la aplicación personalizada obtiene ahora la versión “B” del secreto, ya que“B” dispone ahora de la etiqueta AWSCURRENT. En este punto la aplicación del cliente depende de lanueva versión del secreto.

Configuración de la rotación para cambiar solo contraseñasPara configurar un mecanismo de rotación para un sistema de autenticación que le permite tener un solousuario, siga los pasos de este procedimiento:

Configuración de una rotación solo para la rotación de la contraseña

1. Cree el usuario único en el sistema de autenticación que protege el recurso protegido. Anote lacontraseña.

2. Cree un secreto de Secrets Manager para almacenar los detalles de las credenciales que creó en elpaso anterior:

a. Inicie sesión en la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

b. Elija New secret (Secreto nuevo).c. En Select secret type (Seleccionar tipo de secreto), elija la opción que mejor se adapte a su

servicio. A continuación, configure los detalles de la base de datos o el servicio, incluidos elnombre de usuario y la contraseña inicial.

d. En Encryption Key (Clave de cifrado de AWS KMS), elija la clave maestra del cliente (CMK) quedesee usar para cifrar este secreto o déjela definida como DefaultMasterKey para la cuenta.Para utilizar la clave predeterminada, las credenciales que obtienen acceso al secreto debenser de la misma cuenta que posee el secreto. Si las credenciales del usuario residen en unacuenta diferente, debe crear y especificar el nombre de recurso de Amazon (ARN) de una CMKpersonalizada.

e. En Select rotation period (Seleccionar periodo de rotación), elija o escriba el número de días entrerotaciones.

Note

Al utilizar la consola de Secrets Manager para configurar la rotación, de formapredeterminada, Secrets Manager habilita automáticamente el vencimiento y establece elnúmero de días en un ciclo de rotación + 7.

114

Page 121: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Un usuario, una contraseña

f. En What credentials can rotate this secret? (¿Qué credenciales se pueden utilizar para la rotaciónde este secreto?), elija Use the same credentials (Usar las mismas credenciales).

Note

Esta situación de ejemplo supone que el usuario puede cambiar su contraseña y queusted no puede utilizar un segundo usuario con permisos para cambiar la contraseña delprimer usuario.

g. Elija Next Step.h. Escriba un valor en Secret name (Nombre del secreto) y el texto correspondiente opcional en

Description (Descripción). También puede elegir agregar etiquetas.i. Elija Store secret (Almacenar secreto).

3. Examine el nuevo secreto para obtener el ARN de la función de rotación Lambda.

a. En la página de la lista Secrets (Secretos), elija el nombre del secreto que creó en el paso 2.b. En la sección Secret details / Secret rotation (Detalles del secreto/Rotación de secretos), elija el

ARN de la función de rotación para abrirlo en Lambda.c. Personalice la función de rotación para satisfacer sus requisitos específicos. Puede utilizar los

siguientes requisitos para cada paso como base para escribir la función.

• Paso createSecret:• Recupere la versión AWSCURRENT del secreto mediante la operación GetSecretValue.• Extraiga el texto de secreto protegido del campo SecretString y almacénelo en una

estructura que pueda modificar.• Cree una nueva contraseña mediante un algoritmo para generar contraseñas con los

requisitos de longitud máxima y complejidad compatibles con el recurso protegido.• Sobrescriba el campo password en la estructura con el nuevo que ha generado en el

paso anterior. Mantenga iguales el resto de los detalles, como username y los detalles deconexión.

• Almacene la copia modificada de la estructura del secreto pasándola como parámetroSecretString en una llamada a PutSecretValue. Secrets Manager etiqueta la nuevaversión del secreto con AWSPENDING.

• Paso setSecret:• Recupere la versión AWSPENDING del secreto mediante la operación GetSecretValue.• Envíe comandos al sistema de autenticación del recurso protegido para cambiar la

contraseña del usuario actual por la que se está almacenada en la nueva versiónAWSPENDING del secreto.

• Paso testSecret:• Recupere la versión AWSPENDING del secreto mediante la operación GetSecretValue.• Envíe comandos al recurso protegido para intentar obtener acceso al mismo con las

credenciales que se encuentran en el secreto.• Paso finishSecret:

• Traslade la etiqueta AWSCURRENT a la versión etiquetada AWSPENDING. También se trasladala etiqueta de ensayo AWSPREVIOUS al secreto del que acaba de quitar AWSCURRENT.

• (Opcional) Elimine la etiqueta AWSPENDING de su versión del secreto.

Important

Recuerde que, en esta situación, los usuarios no pueden seguir utilizando la versión antiguamientras usted crea y verifica la nueva versión. Por lo tanto, entre el momento en la fasesetSecret en el que cambia la contraseña y el momento en la fase finishSecret en el quemueve la etiqueta AWSCURRENT a la nueva versión, sus clientes podrían utilizar las credenciales

115

Page 122: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos: cambio de un usuario existente a otro

incorrectas y recibir errores de denegación de acceso. Además, asegúrese de incluir unafuncionalidad de reintento razonable en la aplicación del cliente para esta situación, con el fin deayudar a mitigar este riesgo.

Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentesPuede configurar AWS Secrets Manager para que rote automáticamente el secreto para un recursoprotegido.

Este tema describe cómo puede configurar la rotación de un sistema de forma que le permita crear dosusuarios y alternar entre ellos, así como modificar su contraseña cuando sea necesario. Esto permiteeliminar el posible tiempo de inactividad que se puede producir en el caso en el que solo puede usar unaúnica cuenta de usuario (p. 112). En este caso, debe cambiar algo más aparte de la contraseña de laversión de un secreto. Cada versión debe también capturar el cambio de usuario y alternar de un usuario aotro con cada ciclo de rotación.

Si el administrador le permite crear un tercer usuario "maestro" con permisos elevados para cambiar lacontraseña de los dos primeros usuarios, le recomendamos que lo haga. Esto es más seguro que permitirque los usuarios tengan permiso para cambiar sus propias contraseñas. Si configura el escenario de estaforma, debe crear un segundo secreto que se utilice para cambiar la contraseña de los usuarios entre losque se ha alternado durante el primer secreto. Cree ese secreto "maestro" en primer lugar, de modo queesté disponible para hacer referencia a él cuando se configure el secreto del "usuario".

Secrets Manager cuenta con plantillas para implementar el siguiente escenario, que desactiva lascredenciales actuales, aunque no las elimina inmediatamente. En su lugar, Secrets Manager marca laversión del secreto que tiene las credenciales actuales con la etiqueta provisional AWSPREVIOUS. Así,dichas credenciales se conservan durante un ciclo de rotación adicional como las "últimas credencialesválidas conocidas". Secrets Manager mantiene las credenciales disponibles para utilizarlas en el procesode recuperación si algo sucede con las credenciales actuales.

Secrets Manager solo elimina las credenciales después del segundo ciclo de rotación cuando la funciónde rotación devuelve el usuario al servicio activo, tal y como se describe más adelante en este tema.Esto significa que, si desea que un determinado conjunto de credenciales solo sea válido durante undeterminado número de días, es conveniente que establezca el período de rotación en la mitad menosuno. Esto permite que se completen ambos ciclos de rotación y que las credenciales queden totalmenteobsoletas dentro del período de tiempo especificado.

Por ejemplo, si por motivos conformidad la duración máxima de las credenciales es de 90 días, lerecomendamos que configure el intervalo de rotación en 44 días (90/2 - 1 = 44). El día 0, Secrets Managercrea las nuevas credenciales en una rotación y las etiqueta como AWSCURRENT. En el día 44, la siguienterotación degrada el secreto con esas credenciales a AWSPREVIOUS y los clientes dejan de utilizarlas deforma activa. El día 88, la siguiente rotación elimina todas las etiquetas provisionales de la versión. En esemomento, Secrets Manager da de baja definitivamente la versión y recicla el usuario en la base de datoscon una nueva contraseña, lo que reinicia el ciclo de nuevo.

Uso de etiquetas por parte de la rotación para alternar entre dosusuariosLas etiquetas provisionales permiten a Secrets Manager cambiar una y otra vez entre dos usuarios. Losclientes utilizan activamente uno de los usuarios, que lleva la etiqueta AWSCURRENT. Cuando se activa larotación de la función Lambda, el proceso de rotación asigna una nueva contraseña al segundo usuarioinactivo. Secrets Manager almacena esas credenciales en una nueva versión del secreto. Tras comprobarque se puede acceder correctamente con las credenciales de la nueva versión del secreto, el proceso derotación pasa la etiqueta AWSCURRENT a la nueva versión, lo que la convierte en la versión activa. En lapróxima activación, los roles de Secrets Manager intercambiarán las dos cuentas de usuario.

116

Page 123: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos: cambio de un usuario existente a otro

Caso de ejemplo básico

A continuación se explica este caso de forma más detallada:

a. El caso comienza con una aplicación que accede a la base de datos utilizando un secreto con unaúnica versión: “A”. Esta versión A del secreto lleva adjunta la etiqueta AWSCURRENT y contiene lascredenciales del primero de los dos usuarios. La aplicación recupera el secreto solicitando la versiónque tiene la etiqueta AWSCURRENT (pasos 1 y 2 del siguiente gráfico). A continuación, la aplicaciónutiliza las credenciales de esa versión del secreto para obtener acceso a la base de datos (paso 3) yrecuperar los datos que necesita (paso 4).

b. Durante la primera rotación, el proceso crea una nueva versión del secreto: "B". No se trata de unnuevo secreto, sino de una nueva versión del mismo secreto. El proceso clona toda la informaciónde la versión A, pero cambia el nombre de usuario por el del segundo usuario y genera una nuevacontraseña. A continuación, el proceso de rotación actualiza el segundo usuario con esta nuevacontraseña. Inicialmente, el proceso de rotación asocia la etiqueta AWSPENDING a esta versión Bdel secreto. Como la aplicación personalizada está programada para que solicite siempre la etiquetaAWSCURRENT y esta no ha cambiado, la aplicación sigue recuperando y utilizando la versión A originaldel secreto para proporcionar las credenciales y obtener acceso a la base de datos.

c. Tras probar el secreto de la versión B y asegurarse de que funciona, el proceso de rotación pasa laetiqueta AWSCURRENT de la versión A y la asocia a la nueva versión B del secreto. Además, la etiquetaprovisional AWSPREVIOUS se transfiere a la versión anterior con la etiqueta provisional AWSCURRENT.Esto le permite actuar como "la última versión válida conocida" en caso de que sea necesario recuperarel sistema. La versión AWSPREVIOUS del secreto sigue estando disponible durante un ciclo de rotaciónmás. Secrets Manager dará de baja el secreto en el próximo ciclo.

d. La siguiente solicitud desde la aplicación personalizada obtiene ahora la versión “B” del secreto, ya que“B” dispone ahora de la etiqueta AWSCURRENT. La aplicación personalizada utiliza el segundo usuariocon la nueva contraseña para acceder a la base de datos.

117

Page 124: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos: cambio de un usuario existente a otro

Configuración de la rotación entre dos usuariosSi utiliza el secreto con una de las bases de datos de Amazon RDS admitidas (p. 4), siga losprocedimientos que se indican en Habilitar la rotación de un secreto de base de datos de AmazonRDS (p. 80).

Por el contrario, si desea configurar la rotación para otro servicio o base de datos, cree la función derotación Lambda y personalícela con estas instrucciones:

1. Cree dos usuarios en su base de datos o servicio. Tome nota de los nombres de usuario y lascontraseñas que utilice. Asegúrese de que todos los usuarios pueden cambiar sus contraseñas.

2. Cree un secreto con las credenciales del primer usuario.

Siga los pasos que se indican en Rotación de secretos de AWS Secrets Manager para otras bases dedatos o servicios (p. 103) para crear una plantilla de función de rotación Lambda genérica que puedapersonalizar. Cuando vaya al paso 7, personalice la función utilizando la información siguiente.

Utilice la siguiente lógica como base para escribir su función de rotación:

• Fase createSecret:• Recupere la versión AWSCURRENT del secreto mediante la operación GetSecretValue.• Extraiga el texto del secreto protegido del campo SecretString y guárdelo en una estructura de

archivos que pueda utilizar.• Consulte el campo username y determine cuál es el nombre de usuario alternativo.• Compruebe si existe algún usuario con el nombre alternativo en la base de datos. Si no es así, debe

ser la primera vez a través del proceso de rotación. Clone el usuario actual y los permisos.• Establezca la entrada username de la copia de la estructura del secreto en el nombre de usuario

alternativo.• Cree una nueva contraseña siguiendo los requisitos de longitud máxima y complejidad admitidos por

el recurso protegido.• Configure la entrada password de la copia de la estructura del secreto como nueva contraseña.• Guarde la copia modificada de la estructura del secreto pasándola como parámetro SecretString

en una llamada a PutSecretValue. Secrets Manager aplica la etiqueta AWSPENDING a la nuevaversión del secreto.

• Fase setSecret:• Recupere la versión AWSPENDING del secreto mediante la operación GetSecretValue.• Extraiga el nombre de usuario y la contraseña del campo SecretString.• Emita comandos al sistema de autenticación del recurso protegido para cambiar la contraseña del

usuario especificado a dicho valor.• Fase testSecret:

118

Page 125: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Solo contraseñas

• Recupere la versión AWSPENDING del secreto mediante la operación GetSecretValue.• Intente acceder al recurso protegido utilizando las credenciales del secreto.

• Fase finishSecret:• Traslade la etiqueta AWSCURRENT a la versión con la etiqueta AWSPENDING.• (Opcional) Elimine la etiqueta AWSPENDING de su versión del secreto.

Note

Con este caso las oportunidades de que los usuarios obtengan un error durante la rotación delsecreto es menor. Los usuarios seguirán utilizando la versión antigua mientras usted configurala versión nueva. Solo después de que Secrets Manager pruebe la nueva versión, cambiará laetiqueta para que apunte a la nueva versión y los clientes empezarán a usarla. No obstante, dadoque algunos servidores residen en granjas de servidores en las que se producen retrasos depropagación cuando se cambian las contraseñas, debe asegurarse de incluir un retardo razonable(preferiblemente en el paso setSecret antes de efectuar la prueba) para garantizar que lacontraseña tenga tiempo suficiente para propagarse a todos los servidores. Asimismo, no olvideincluir una funcionalidad de reintento razonable en la aplicación cliente por si se diera este casopara ayudar a mitigar este problema.

Rotación de secretos de AWS Secrets Manager paraun usuario que admite varias credencialesPuede configurar AWS Secrets Manager para que rote automáticamente el secreto para un recursoprotegido. Este tema abarca la configuración de la rotación de un sistema de autenticación que le permitecrear un único usuario con al menos dos conjuntos de credenciales.

Como práctica recomendada, es aconsejable configurar un segundo secreto "maestro" para almacenarlas credenciales de un usuario diferente que tenga permisos para eliminar y crear las credenciales delusuario principal. Esto le permite limitar los permisos que concede al usuario principal a los que requierala aplicación. De esta forma, puede descargar las tareas administrativas al segundo usuario, a las que losusuarios finales no pueden acceder. La función de rotación del secreto principal accede al segundo usuariopara eliminar la clave de acceso antigua y crear una nueva.

Uso de etiquetas en la rotación para administrar un usuario únicocon varias credencialesEl siguiente ejemplo explica esta situación de forma más detallada. Utiliza el ejemplo de un servicio quepermite a un usuario tener dos "claves de API" independientes generadas por el servicio y no generadaspor la función de rotación:

a. La situación comienza con una aplicación que accede al recurso protegido, la base de datos, através de las una de las claves de API almacenadas en un secreto con una única versión "A". Estaversión A del secreto lleva adjuntada la etiqueta de ensayo AWSCURRENT. La aplicación recupera elsecreto solicitando la versión con la etiqueta provisional AWSCURRENT (pasos 1 y 2). A continuación, laaplicación utiliza la clave de API en dicha versión del secreto para obtener acceso a la base de datos(paso 3) para recuperar los datos que necesita la aplicación (paso 4).

119

Page 126: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Solo contraseñas

b. La función de rotación del secreto elimina la clave de API a la que no hace referencia actualmentea la versión "A" del secreto y crea una nueva clave de API para el mismo usuario. A continuación,la función de rotación crea una nueva versión "B" del secreto (no un nuevo secreto, sino una nuevaversión del mismo secreto). La función clona los detalles de la versión "A", salvo que la función sustituyelos detalles de la clave de API con aquellas de la clave de API recién creada. Inicialmente, el procesode rotación adjunta la etiqueta de ensayo AWSPENDING a esta versión “B” del secreto. Dado que laaplicación personalizada siempre solicita la etiqueta AWSCURRENT y la etiqueta no se ha movido, laaplicación continúa recuperando y utilizando la versión "A" original del secreto, para que la clave de APIacceda al recurso protegido.

c. Tras probar la versión “B” del secreto y asegurarse de que funciona, el proceso de rotación mueve laetiqueta AWSCURRENT de la versión “A” y la asocia a la nueva versión “B” del secreto. Esto tambiénmueve automáticamente la etiqueta de ensayo AWSPENDING a la versión con la etiqueta de ensayoAWSCURRENT. Esto permite al secreto actuar como la "última correcta conocida" en caso de que hayanecesidad de efectuar una recuperación.

d. La siguiente solicitud desde la aplicación personalizada recibe ahora la versión “B” del secreto, ya que“B” dispone ahora de la etiqueta AWSCURRENT. En este punto la aplicación de cliente utiliza la clave deAPI en la nueva versión del secreto. Cuando se produce el siguiente ciclo de rotación, le versión “B” delsecreto se convierte en la versión “A” y usted comienza de nuevo en el paso a.

120

Page 127: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRotación de secretos - Solo contraseñas

Configuración de la rotación para alternar las credenciales de unusuarioPara configurar un mecanismo de rotación para un sistema de autenticación que le permite tener un solousuario, siga los pasos de este procedimiento:

Para configurar la rotación de un usuario que tiene dos conjuntos de credenciales

1. Cree su usuario en el sistema de autenticación que protege el recurso protegido. Tome nota de losnombres de usuario y credenciales que haya establecido. En este documento, los denominamosCreds1 y Creds2.

2. Cree un secreto de Secrets Manager para almacenar los detalles de las credenciales que creó en elpaso anterior. Este secreto conserva inicialmente las Creds1 para el usuario:

a. Inicie sesión en la consola de Secrets Manager en https://console.aws.amazon.com/secretsmanager/.

b. Elija New secret (Secreto nuevo).c. Para Select secret type (Seleccionar tipo de secreto), elija Other type of secret (Otro tipo de

secreto), incluido el nombre de usuario y el primer conjunto de credenciales. Por ejemplo, escribados pares clave-valor para el texto del secreto protegido. Los pares pueden ser similares a losejemplos:

Clave Value

UserName <su nombre de usuario>

APIKey <su clave de API>

APIKeyId <identifica cuál de las dos claves de API sealmacena en esta versión>

d. En AWS KMSEncryption Key (Clave de cifrado de AWS KMS), elija la clave que va a usar paracifrar este secreto o deje el conjunto predeterminado definido como DefaultMasterKey para lacuenta. Para utilizar la clave predeterminada, las credenciales que obtienen acceso al secretodeben ser de la misma cuenta que posee el secreto. Si las credenciales del usuario residen enuna cuenta diferente, debe crear y especificar una clave maestra de cliente (CMK) personalizada.

e. En Select rotation period (Seleccionar periodo de rotación), elija o escriba el número de días entrerotaciones.

Note

Al utilizar la consola de Secrets Manager para configurar la rotación, de formapredeterminada, Secrets Manager habilita automáticamente el vencimiento y establece elnúmero de días entre rotaciones + 7.

121

Page 128: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación de funciones de rotación

f. Para Select the Lambda rotation function (Seleccionar la función de rotación Lambda), elija Createfunction (Crear función).

g. Elija Next Step.h. Escriba un valor en Secret name (Nombre del secreto) y el texto correspondiente opcional en

Description (Descripción). Opcionalmente, puede agregar etiquetas.i. Elija Store secret (Almacenar secreto).

3. Examine el nuevo secreto para localizar el nombre de recurso de Amazon (ARN) de la función derotación de Lambda.

a. En la página de la lista Secrets (Secretos), elija el nombre del secreto que creó en el paso 2.b. En la sección Secret details / Secret rotation (Detalles del secreto/Rotación de secretos), elija el

ARN de la función de rotación para abrirlo en Lambda.c. Utilice la siguiente lógica como base para escribir su función de rotación:

• Paso createSecret:• Recupere la versión AWSCURRENT del secreto mediante la operación GetSecretValue.• Extraiga el valor SecretString del secreto y almacénelo en una estructura que pueda

modificar.• Determine la clave de API inactiva, a la que no se hace referencia en la versión AWSCURRENT

del secreto.• Envíe comandos al servicio para eliminar la clave de la API inactiva que determinó en el paso

anterior.• Envíe comandos al servicio para crear una nueva clave de acceso para el mismo usuario.• Sobrescriba la clave de API y su identificador en la copia de la estructura del secreto con los

datos de la nueva clave de API que acaba de crear. Mantenga todos los demás detalles igual.• Almacene la copia modificada del texto del secreto protegido pasándolo como parámetroSecretString en una llamada a PutSecretValue. Secrets Manager etiqueta la nuevaversión del secreto con AWSPENDING.

• Paso setSecret:• El paso setSecret en esta situación no hace nada. Usted creó la clave de API en el pasocreateSecret, porque debe tener la clave de API y el identificador para almacenarlos en elsecreto. No genere su propia clave como lo haría en la mayoría de las situaciones.

• Paso testSecret:• Recupere la versión AWSPENDING del secreto mediante la operación GetSecretValue.• Envíe comandos al recurso protegido para intentar acceder a él utilizando la clave de API que

está en esta versión del secreto.• Paso finishSecret:

• Traslade la etiqueta AWSCURRENT a la versión etiquetada AWSPENDING. También se trasladala etiqueta de ensayo AWSPREVIOUS al secreto del que acaba de quitar AWSCURRENT.

• (Opcional) Elimine la etiqueta AWSPENDING de la versión del secreto.

Eliminación de funciones de rotación de Lambda noutilizadas

Después de crear una función de rotación para un secreto, en un momento determinado podría decidirque ya no necesita la rotación del secreto. La eliminación del secreto (p. 66) podría ser un paso obvio. Sinembargo, es posible que también desee considere la posibilidad de eliminar la función de rotación Lambdaque rota el secreto. Si comparte la función de rotación entre varios secretos, no querrá quitar la funciónhasta que se elimine el último secreto rotado por la función.

122

Page 129: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación de funciones de rotación

Si crea la rotación tal como se describe en esta guía, mediante la plantilla de AWS Serverless ApplicationRepository, no tiene que eliminar simplemente la función. Secrets Manager creó la función como parte deuna pila de AWS CloudFormation. La eliminación de la pila elimina todo lo que haya creado la pila. En estecaso, Secrets Manager elimina tanto la función de Lambda como el rol de IAM que concede permisos a lafunción. Debe realizar los pasos indicados a continuación para eliminar todo de forma limpia.

Eliminación de una función de rotación creada con una plantilla de AWS Serverless Application Repository

Siga los pasos que se indican en una de las siguientes pestañas:

Uso de la consola de administración de AWS

Permisos mínimos

Si desea eliminar una función Lambda de rotación creada con una de las plantillas de AWSServerless Application Repository, debe contar con los permisos necesarios para obteneracceso a la pila y eliminar todos los componentes creados:

• cloudformation:ListStacks• cloudformation:DescribeStack• cloudformation:ListStackResources• cloudformation:DeleteStack• lambda:ListFunctions• lambda:GetFunction• lambda:DeleteFunction• iam:ListRoles• iam:DetachRolePolicy• iam:DeleteRolePolicy• iam:DeleteRole• cloudformation:DeleteStack

Puede conceder todos estos asociando las siguientes políticas de AWS administradas:

• SecretsManagerReadWrite• IAMFullAccess

1. Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.2. Acceda a la lista de funciones y elija el nombre de la función que va a eliminar.3. En la página de detalles de la función, aparece un banner en la parte superior que dice: This

function belongs to the CloudFormation stack (Esta función pertenece a la pila de CloudFormation)aws-serverless-repository-SecretsManager<nombre_plantilla_rotación><guid_único>.Visite la consola de CloudFormation para administrar esta pila..

Elija el enlace de CloudFormation console (Consola de CloudFormation) para abrir la consola deAWS CloudFormation en la página Stack Details (Detalles de la pila).

4. Si ha agregado cualquier política de permisos insertada al rol de IAM en lugar de editar las políticasinsertadas existentes o si ha asociado cualquier política administrada adicional, entonces debeeliminar o desasociar dichas políticas antes de que AWS CloudFormation pueda eliminar la pila:a. Amplíe la sección Resources (Recursos) de la pila y, a continuación, elija el valor Physical ID (ID

físico) para la fila, con el Type (Tipo) definido en AWS::IAM::Role. Esto abre la consola de IAMen una pestaña independiente.

b. Examine las filas con Inline policy (Política insertada) como Policy type (Tipo de política).Debería ver la función administrada de AWS AWSLambdaBasicExecutionRole asociada.

123

Page 130: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación de funciones de rotación

Debería también ver una o dos políticas insertadas denominadas SecretsManager<nombrede plantilla>Policy0 y SecretsManager<nombre de plantilla>Policy1. Si ve algunapolítica distinta de esas, Secrets Manager no las creó como parte de la pila. Las políticas seagregaron manualmente después de crear la pila. Debe eliminarlas o separarlas manualmente.Si no lo hace, la solicitud para eliminar la pila en los pasos que se describen a continuaciónpuede generar un error.

c. Vuelva a la página Stack Details (Detalles de pila) de la consola de AWS CloudFormation.5. Elija Other Actions (Otras acciones) y, a continuación, Delete Stack (Eliminar pila).6. En el cuadro de diálogo de confirmación Delete Stack (Eliminar pila), elija Yes, Delete (Sí, eliminar).

El Status (Estado) cambia a DELETE_IN_PROGRESS (ELIMINACIÓN_EN_CURSO). Si laeliminación se completa correctamente, el Status (Estado) cambia a DELETE_COMPLETE.

7. Cuando vuelva a la lista de pilas, ya no verá la pila eliminada.

Uso de operaciones de la AWS CLI o de los SDK

Permisos mínimos

Para eliminar una función de rotación de Lambda que creó con una de las plantillas deAWS Serverless Application Repository, debe contar con los permisos necesarios pararealizar cada una de las operaciones de AWS CLI o de la API equivalente enumeradosen los siguientes pasos. Puede conceder todos estos asociando las dos políticas de AWSadministradas siguientes:

• SecretsManagerReadWrite• IAMFullAccess

1. Abra un símbolo del sistema para ejecutar los comandos de la AWS CLI.2. Para determinar qué pila de AWS CloudFormation contiene una función específica, ejecute el

siguiente comando con el nombre de la función transferido como parámetro --physical-resource-id. Esto devuelve una lista de recursos asociados con la pila que posee la funciónespecificada.

$ aws cloudformation describe-stack-resources --physical-resource-id MyLambdaRotationFunction{{ "StackResources": [ { "StackName": "aws-serverless-repository-MyLambdaCreationStack", "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/aws-serverless-repository-MyLambdaCreationStack/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "LogicalResourceId": "SecretsManagerRotationTemplate", "PhysicalResourceId": "MySecretsManagerRotationFunction", "ResourceType": "AWS::Lambda::Function", "Timestamp": "2018-04-27T18:03:05.490Z", "ResourceStatus": "CREATE_COMPLETE" }, { "StackName": "aws-serverless-repository-MyLambdaCreationStack", "StackId": "arn:aws:cloudformation:us-east-1:123456789012:stack/aws-serverless-repository-MyLambdaCreationStack/EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "LogicalResourceId": "SecretsManagerRotationTemplateRole", "PhysicalResourceId": "aws-serverless-repository-SecretsManagerRotationTe-<random-chars>", "ResourceType": "AWS::IAM::Role", "Timestamp": "2018-04-27T18:03:00.623Z", "ResourceStatus": "CREATE_COMPLETE" }

124

Page 131: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEliminación de funciones de rotación

]}

3. Busque los valores de respuesta StackId y PhysicalResourceId asociados con"ResourceType" :"AWS::IAM::Role", el nombre del rol de IAM con permisos para invocar lafunción. Si ha agregado cualquier política de permisos insertada al rol de IAM en lugar de editar laspolíticas insertadas existentes o si ha asociado cualquier política administrada adicional, entoncesdebe eliminar o desasociar dichas políticas antes de que AWS CloudFormation pueda eliminar lapila:

Para determinar si tiene alguna política insertada integrada, ejecute el siguiente comando.

$ aws iam list-role-policies --role-name <role-name-from-PhysicalResourceId-on-previous-command>{ "PolicyNames": [ "SecretsManagerRotationTemplateRolePolicy0", "SecretsManagerRotationTemplateRolePolicy1" ]}

Se esperan las políticas insertadas que se denominan como se muestra aquí y no es necesariohacer nada con ellas.

4. Si ve alguna política aparte de estas dos, debe eliminarlas del rol antes de poder continuar.

$ aws iam delete-role-policy --role-name <role-name-from-PhysicalResourceId-on-previous-command> / --policy-name <policy-name-from-previous-command>

5. Ahora compruebe si tiene alguna política administrada asociada al rol:

$ aws iam list-attached-role-policies --role-name <role-name-from-PhysicalResourceId-on-previous-command>

6. Si ve alguna política enumerada en la salida del comando anterior, ejecute este comandopreparatorio final para desasociarla del rol:

$ aws iam detach-role-policy --role-name <role-name-from-PhysicalResourceId-on-previous-command> / --policy-arn <ARN-of-policy-discovered-in-previous-command>

7. Ahora puede eliminar la pila, que elimina todos los recursos asociados. Transfiera el nombre de lapila que recuperó en el paso 2 como --stack-name:

$ aws cloudformation delete-stack --stack-name aws-serverless-repository-MyLambdaCreationStack

AWS CloudFormation elimina el rol de IAM y la función Lambda de rotación poco después deejecutar este comando.

125

Page 132: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConectar con Secrets Manager a través

de un punto de conexión de la VPC

Uso de Secrets Manager con puntosde enlace de la VPC

Las siguientes secciones explican estas tareas:

• Conexión de Secrets Manager y un punto de enlace de la VPC.• Creación de un punto de enlace de la VPC de Secrets Manager.• Creación de una política de punto de enlace para su punto de enlace de Secrets Manager,

Para obtener información acerca de los puntos de enlace de la VPC, consulte el artículo en ladocumentación del servicio de la VPC Puntos de enlace de la VPC.

Temas• Conectar con Secrets Manager a través de un punto de conexión de la VPC (p. 126)• Crear un punto de enlace privado de VPC de Secrets Manager (p. 127)• Conexión con un punto de enlace privado de la VPC de Secrets Manager (p. 129)• Utilizar un punto de enlace privado de la VPC en una declaración de política (p. 130)• Creación de una política de punto de enlace para el punto de enlace de la VPC de Secrets

Manager (p. 132)• Auditar el uso de su punto de enlace de la VPC de Secrets Manager (p. 133)

Conectar con Secrets Manager a través de unpunto de conexión de la VPC

En lugar de conectar la VPC a Internet, puede conectar directamente a Secrets Manager a través de unpunto de enlace privado que configure dentro de la VPC. Cuando utiliza un punto de enlace de servicio deVPC, la comunicación entre la VPC y Secrets Manager se produce enteramente dentro de la red de AWS yno requiere acceso público a Internet.

Secrets Manager es compatible con los puntos de enlace de interfaz de Amazon VPC proporcionadospor AWS PrivateLink. Uno o varios puntos de enlace de la VPC se representarán mediante una o variasinterfaces de red elástica con direcciones IP privadas en las subredes de la VPC.

El punto de enlace de interfaz de la VPC conecta directamente la VPC con Secrets Manager sin necesidadde dispositivos NAT, conexiones de VPN ni conexiones de AWS Direct Connect. Las instancias de la VPCno necesitan direcciones IP públicas para comunicarse con Secrets Manager.

Para que la función de rotación Lambda encuentre el punto de enlace privado, siga uno de los pasossiguientes:

• Puede especificar manualmente el punto de enlace de la VPC mediante operaciones de la API deSecrets Manager y comandos de la CLI de AWS. Por ejemplo, el siguiente comando utiliza el parámetroendpoint-url para especificar un punto de enlace de la VPC en un comando de AWS CLI para SecretsManager.

$ aws secretsmanager list-secrets --endpoint-url https://vpce-1234a5678b9012c-12345678.secretsmanager.us-west-2.vpce.amazonaws.com

126

Page 133: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCrear un punto de enlace privado

de VPC de Secrets Manager

• Si habilita los nombres de host DNS privados para el punto de enlace privado de VPC, nonecesita especificar la URL del punto de enlace. El nombre de host DNS de Secrets Managerestándar que utilizan la CLI y los SDK de Secrets Manager de forma predeterminada (https://secretsmanager.<region>.amazonaws.com) se resuelve automáticamente en el punto de enlacede la VPC.

También puede utilizar logs de AWS CloudTrail para auditar el uso de secretos a través del punto deenlace de la VPC. Además, puede utilizar las condiciones de las políticas de IAM y secreto basadas enrecursos para denegar el acceso a las solicitudes que no procedan de una VPC o un punto de enlace de laVPC específicos.

Note

Actúe con precaución al crear políticas de IAM y de claves basadas en el punto de conexión dela VPC. Si una declaración de política requiere que las solicitudes procedan de una determinadaVPC o de un punto de enlace de la VPC específico, podrían producirse errores en las solicitudesde otros servicios de AWS que interactúen con el secreto en su nombre. Para obtener ayuda,consulte Uso de condiciones de punto de enlace de la VPC en políticas con permisos de SecretsManager (p. 176).

Regiones

Secrets Manager admite puntos de enlace de la VPC en todas las regiones de AWS en las que esténdisponibles Amazon VPC y Secrets Manager.

Crear un punto de enlace privado de VPC deSecrets Manager

Para crear un punto de enlace privado de VPC de Secrets Manager

Siga los pasos que aparecen en una de las siguientes pestañas:

Uso de la consola de administración de AWS

1. Abra la consola de Amazon VPC en https://console.aws.amazon.com/vpc/.2. En la barra de navegación, utilice el selector de regiones para elegir la región.3. En el panel de navegación, elija Endpoints. En el panel principal, elija Create Endpoint (Crear

punto de enlace).4. En Service category, elija AWS services.5. En la lista Service Name (Nombre de servicio), elija la entrada del punto de enlace de interfaz

de Secrets Manager de la región. Por ejemplo, en la región EE.UU. Este (Norte de Virginia), elnombre de la entrada es com.amazonaws.us-east-1.secretsmanager.

6. En VPC, elija su VPC.7. En Subnets (Subredes), elija una subred de cada zona de disponibilidad para su inclusión.

El punto de enlace de la VPC puede abarcar varias zonas de disponibilidad. AWS crea unainterfaz de red elástica para el punto de enlace de la VPC en cada una de las subredes que ustedelija. Cada interfaz de red tiene un nombre de host de DNS y una dirección IP privada.

8. De forma predeterminada, AWS habilita la opción Enable Private DNS Name (Habilitarnombre de DNS privado), el nombre de host DNS de Secrets Manager estándar (https://secretsmanager.<region>.amazonaws.com) se resuelve automáticamente en su punto de

127

Page 134: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCrear un punto de enlace privado

de VPC de Secrets Manager

enlace de la VPC. Esta opción facilita el uso del punto de conexión de la VPC. La CLI y los SDKde Secrets Manager utilizan el nombre de host DNS de estándar de forma predeterminada, por loque no es necesario especificar la URL del punto de enlace de la VPC en las aplicaciones y loscomandos.

Esta característica solo funciona cuando se establecen los atributos enableDnsHostnamesy enableDnsSupport de la VPC en true, los valores predeterminados. Para definir estosatributos, actualice la compatibilidad de DNS con la VPC.

9. En Security group, seleccione o cree un grupo de seguridad.

Puede utilizar grupos de seguridad para controlar el acceso al punto de conexión, de forma similara como lo haría con un firewall.

10. Elija Create endpoint.

Los resultados muestran el punto de enlace de la VPC, incluidos el ID de este y los nombres de DNSque se utilizan para conectarse al punto de enlace de la VPC.

También puede utilizar las herramientas Amazon VPC para ver y administrar su punto de enlace. Estoincluye la creación de una notificación para un punto de enlace, cambiar las propiedades del punto deenlace y eliminar el punto de enlace. Para obtener instrucciones, consulte Puntos de enlace de la VPCde tipo interfaz.

Uso de operaciones de la AWS CLI o de los SDK

Puede utilizar el comando create-vpc-endpoint en la AWS CLI para crear un punto de enlace de laVPC que se conecte con Secrets Manager.

Asegúrese de utilizar interface como tipo de punto de enlace de la VPC. Además, utilice un valorde nombre de servicio que incluye secretsmanager y la región en la que se encuentra su VPC.

El comando no incluye el parámetro PrivateDnsNames, ya que la VPC toma de formapredeterminada el valor true. Para desactivar la opción, puede incluir el parámetro con el valorfalse. Los nombres de DNS privados solo están disponibles si los atributos enableDnsHostnamesy enableDnsSupport de la VPC se han establecido en true. Para establecer estos atributos, utilicela API ModifyVpcAttribute.

En el siguiente diagrama se muestra la sintaxis general del comando.

aws ec2 create-vpc-endpoint --vpc-id <vpc id> \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.<region>.secretsmanager \ --subnet-ids <subnet id> \ --security-group-id <security group id>

Por ejemplo, el comando siguiente crea un punto de enlace de la VPC en la VPC con el IDvpc-1a2b3c4d, que se encuentra en la región us-west-2. Especifica un solo ID de subred pararepresentar las zonas de disponibilidad, pero es posible especificar varios. Los puntos de enlace de laVPC necesitan el ID del grupo de seguridad.

La salida incluye el ID del punto de enlace de la VPC y los nombres DNS, que se pueden utilizar paraconectarse al nuevo punto de enlace de la VPC.

$ aws ec2 create-vpc-endpoint --vpc-id vpc-1a2b3c4d \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.us-west-2.secretsmanager \ --subnet-ids subnet-e5f6a7b8c9 \ --security-group-id sg-1a2b3c4d

128

Page 135: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConexión con un punto de enlace

privado de la VPC de Secrets Manager

{ "VpcEndpoint": { "PolicyDocument": "{\n \"Statement\": [\n {\n \"Action\": \"*\", \n \"Effect\": \"Allow\", \n \"Principal\": \"*\", \n \"Resource\": \"*\"\n }\n ]\n}", "VpcId": "vpc-1a2b3c4d", "NetworkInterfaceIds": [ "eni-abcdef12" ], "SubnetIds": [ "subnet-e5f6a7b8c9" ], "PrivateDnsEnabled": true, "State": "pending", "ServiceName": "com.amazonaws.us-west-2.secretsmanager", "RouteTableIds": [], "Groups": [ { "GroupName": "default", "GroupId": "sg-1a2b3c4d" } ], "VpcEndpointId": "vpce-1234a5678b9012c", "VpcEndpointType": "Interface", "CreationTimestamp": "2018-06-12T20:14:41.240Z", "DnsEntries": [ { "HostedZoneId": "Z7HUB22UULQXV", "DnsName": "vpce-1234a5678b9012c-12345678.secretsmanager.us-west-2.vpce.amazonaws.com" }, { "HostedZoneId": "Z7HUB22UULQXV", "DnsName": "vpce-1234a5678b9012c-12345678-us-west-2a.secretsmanager.us-west-2.vpce.amazonaws.com" }, { "HostedZoneId": "Z1K56Z6FNPJRR", "DnsName": "secretsmanager.us-west-2.amazonaws.com" } ] }}

Conexión con un punto de enlace privado de laVPC de Secrets Manager

Como de forma predeterminada la VPC habilita automáticamente los nombres DNS privados cuando secrea un punto de enlace privado de la VPC, no necesitará hacer nada más que utilizar el nombre DNS delpunto de enlace estándar de la región. El nombre DNS del punto de enlace se resuelve automáticamenteen el punto de enlace correcto dentro de su VPC:

https://secretsmanager.<region>.amazonaws.com

La AWS CLI y los SDK utilizan este nombre de host de forma predeterminada, por lo que puede empezar autilizar el punto de enlace de la VPC sin necesidad de cambiar nada en los scripts ni en la aplicación.

Si no activa los nombres de DNS privados, puede seguir conectándose al punto de enlace utilizando elnombre de DNS completo.

129

Page 136: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioUtilizar un punto de enlace privado dela VPC en una declaración de política

Por ejemplo, este comando list-secrets utiliza el parámetro endpoint-url para especificar el puntode enlace privado de la VPC. Para utilizar un comando de este tipo, sustituya el ID del punto de enlaceprivado de la VPC del ejemplo por uno de su cuenta.

aws secretsmanager list-secrets --endpoint-url https://vpce-1234a5678b9012c-12345678.secretsmanager.us-west-2.vpce.amazonaws.com

Utilizar un punto de enlace privado de la VPC enuna declaración de política

Puede utilizar las políticas de IAM y políticas de secreto de Secrets Manager para controlar el acceso a sussecretos. También puede utilizar claves de condición globales para restringir estas políticas en función delpunto de enlace de la VPC o la VPC de la solicitud.

• Utilice la clave de condición aws:sourceVpce para conceder o restringir el acceso a un secreto enfunción del punto de enlace de la VPC.

• Utilice la clave de condición aws:sourceVpc para conceder o restringir el acceso a un secreto enfunción de la VPC que aloja el punto de enlace privado.

Note

Actúe con precaución al crear políticas de IAM y de secreto basadas en el punto de enlace de laVPC. Si una declaración de política requiere que las solicitudes procedan de una determinadaVPC o de un punto de enlace de la VPC específico, podrían producirse errores en las solicitudesde otros servicios de AWS que accedan al secreto en su nombre. Para obtener más información,consulte Uso de condiciones de punto de enlace de la VPC en políticas con permisos de SecretsManager (p. 176).Además, la clave de condición aws:sourceIP no es efectiva si la solicitud procede de unpunto de enlace de la Amazon VPC. Para restringir las solicitudes a un punto de conexión de laVPC, utilice las claves de condición aws:sourceVpce o aws:sourceVpc. Para obtener másinformación, consulte Puntos de conexión de la VPC - Control del uso de los puntos de conexiónen la Guía del usuario de Amazon VPC.

Por ejemplo, la siguiente política de secreto de ejemplo permite a un usuario realizar operaciones deSecrets Manager solo cuando la solicitud llega a través del punto de enlace de la VPC especificado.

Cuando un usuario realiza una solicitud a Secrets Manager, Secrets Manager compara el ID del punto deenlace de la VPC de la solicitud con el valor de la clave de condición aws:sourceVpce de la política. Sino coinciden, Secrets Manager deniega la solicitud.

Para utilizar una política como esta, sustituya el ID de la cuenta de AWS del marcador de posición y los IDdel punto de enlace de la VPC por valores válidos para su cuenta.

{ "Id": "example-policy-1", "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSecretsManagerpermissions", "Effect": "Allow", "Principal": {"AWS":["123456789012"]}, "Action": ["secretsmanager:*"], "Resource": "*" },

130

Page 137: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioUtilizar un punto de enlace privado dela VPC en una declaración de política

{ "Sid": "RestrictGetSecretValueoperation", "Effect": "Deny", "Principal": "*", "Action": ["secretsmanager:GetSecretValue"], "Resource": "*", "Condition": { "StringNotEquals": { "aws:sourceVpce": "vpce-1234a5678b9012c" } } }

]}

También puede utilizar la clave de condición aws:sourceVpc para restringir el acceso a los secretos enfunción de la VPC en la que reside el punto de enlace de la VPC.

La siguiente política de secretos de ejemplo solamente permite utilizar comandos para crear y administrarsecretos cuando proceden de vpc-12345678. Además, la política permite operaciones que utilizan elacceso al valor cifrado del secreto solo cuando las solicitudes proceden de vpc-2b2b2b2b. Podría utilizaruna política como esta en caso de que ejecute una aplicación en una VPC, pero utiliza una segunda VPCaislada para funciones de administración.

Para utilizar una política como esta, sustituya el ID de la cuenta de AWS del marcador de posición y los IDdel punto de enlace de la VPC por valores válidos para su cuenta.

{ "Id": "example-policy-2", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAdministrativeActionsfromONLYvpc-12345678", "Effect": "Allow", "Principal": {"AWS": "123456789012"}, "Action": [ "secretsmanager:Create*", "secretsmanager:Put*", "secretsmanager:Update*", "secretsmanager:Delete*","secretsmanager:Restore*", "secretsmanager:RotateSecret","secretsmanager:CancelRotate*", "secretsmanager:TagResource","secretsmanager:UntagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:sourceVpc": "vpc-12345678" } } }, { "Sid": "AllowSecretValueAccessfromONLYvpc-2b2b2b2b", "Effect": "Allow", "Principal": {"AWS": "111122223333"}, "Action": ["secretsmanager:GetSecretValue"], "Resource": "*", "Condition": { "StringEquals": { "aws:sourceVpc": "vpc-2b2b2b2b" } } }, {

131

Page 138: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCreación de una política de punto de enlace parael punto de enlace de la VPC de Secrets Manager

"Sid": "AllowReadActionsEverywhere", "Effect": "Allow", "Principal": {"AWS": "111122223333"}, "Action": [ "secretsmanager:Describe*","secretsmanager:List*","kms:GetRandomPassword" ], "Resource": "*", } ]}

Creación de una política de punto de enlace para elpunto de enlace de la VPC de Secrets Manager

Una vez que haya creado un punto de enlace de la VPC de Secrets Manager, puede asociar una políticade punto de enlace para controlar la actividad relacionada con los secretos en el punto de enlace. Porejemplo, puede asociar una política de puntos de enlace para definir las acciones de Secrets Managerrealizadas, las acciones realizadas en los secretos, los usuarios o roles de IAM que realizan estasacciones y las cuentas a las que se accede a través del punto de enlace de la VPC. Para obtenerinformación adicional acerca de las políticas de punto de enlace, incluida una lista de los servicios de AWSque admiten políticas de punto de enlace, consulte Uso de políticas de punto de enlace de la VPC.

Note

AWS no comparte puntos de enlace de la VPC entre los servicios de AWS. Si utiliza puntos deenlace de la VPC para varios servicios de AWS, como Secrets Manager y S3, debe asociar unapolítica distinta a cada punto de enlace.

Ejemplo: Habilitar el acceso al punto de enlace de Secrets Manager para una cuenta específica

En el siguiente ejemplo se concede acceso a todos los usuarios y roles de la cuenta 123456789012.

{ "Statement": [ { "Sid": "AccessSpecificAccount", "Principal": {"AWS": "123456789012"}, "Action": "secretsmanager:*", "Effect": "Allow", "Resource": "*" } ] }

Ejemplo: Habilitar el acceso a un único secreto en el punto de enlace de Secrets Manager

En el siguiente ejemplo se restringe el acceso únicamente al secreto especificado.

{ "Statement": [ { "Principal": "*", "Action": "secretsmanager:*", "Effect": "Allow", "Resource": [

132

Page 139: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAuditar el uso de su punto de enlace

de la VPC de Secrets Manager

"arn:aws:secretsmanager:us-west:123456789012:secret:a_specific_secret_name-a1b2c3" ] } ] }

Auditar el uso de su punto de enlace de la VPC deSecrets Manager

Cuando una solicitud a Secrets Manager utiliza un punto de enlace de la VPC, el ID de este aparece en laentrada de registro de AWS CloudTrail (p. 134) que registra la solicitud. Puede utilizar el ID del punto deenlace para auditar el uso del punto de enlace de la VPC de Secrets Manager.

Por ejemplo, esta entrada de log de ejemplo registra una solicitud GenerateDataKey que ha utilizado elpunto de conexión de la VPC. En este ejemplo, el campo vpcEndpointId aparece al final de la entradade log. Por cuestiones de brevedad, se han omitido muchas partes irrelevante del ejemplo.

{ "eventVersion":"1.05", "userIdentity": { "type": "IAMUser", "arn": "arn:aws:iam::123456789012:user/Anika", "accountId": "123456789012", "userName": "Anika" }, "eventTime":"2018-01-16T05:46:57Z", "eventSource":"secretsmanager.amazonaws.com", "eventName":"GetSecretValue", "awsRegion":"us-west-2", "sourceIPAddress":"172.01.01.001", "userAgent":"aws-cli/1.14.23 Python/2.7.12 Linux/4.9.75-25.55.amzn1.x86_64 botocore/1.8.27", "requestID":"EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "eventID":"EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "readOnly":true, "eventType":"AwsApiCall", "recipientAccountId":"123456789012", "vpcEndpointId": "vpce-1234a5678b9012c" }

133

Page 140: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRegistro de llamadas a la API de AWSSecrets Manager con AWS CloudTrail

Monitoreo del uso de los secretos deAWS Secrets Manager

Es recomendable que monitoree los secretos para garantizar que tanto su uso como los cambios queexperimenten queden registrados. Esto permite investigar cualquier uso o modificación inesperados yrevertir los cambios no deseados. AWS Secrets Manager actualmente admite dos servicios de AWS quepermiten monitorear la organización y su actividad.

Temas• Registro de llamadas a la API de AWS Secrets Manager con AWS CloudTrail (p. 134)• Amazon CloudWatch Events (p. 138)

Registro de llamadas a la API de AWS SecretsManager con AWS CloudTrail

AWS Secrets Manager está integrado con AWS CloudTrail, un servicio que proporciona un registro delas acciones de los usuarios, roles o servicios de AWS en Secrets Manager. CloudTrail captura todas lasllamadas a la API de Secrets Manager como eventos, incluidas las llamadas procedentes de la consolade Secrets Manager y las llamadas de código a las API de Secrets Manager. Si crea un registro deseguimiento, puede habilitar la entrega continua de eventos de CloudTrail a un bucket de Amazon S3,incluidos los eventos de Secrets Manager. Si no configura un registro de seguimiento, puede ver loseventos más recientes en la consola de CloudTrail en el Event history (Historial de eventos). Usandola información recopilada por CloudTrail, puede determinar la solicitud enviada a Secrets Manager, ladirección IP de la solicitud, quién envió la solicitud, a qué hora y otros detalles.

Para obtener más información sobre CloudTrail, consulte la AWS CloudTrail User Guide.

Registro de eventos AWS Secrets Manager que noson APIAdemás de registrar llamadas a la API de AWS, CloudTrail captura otros eventos relacionados que podríanafectar a la seguridad o conformidad de su cuenta de AWS o que pueden ayudarle a solucionar problemasoperativos. CloudTrail registra estos eventos como eventos de servicio externos a la API.

Secrets Manager tiene tres eventos de servicio que no son de la API:

• Evento RotationAbandoned: un mecanismo para informarle de que el servicio Secrets Managereliminó la etiqueta AWSPENDING de una versión existente de un secreto. Cuando crea manualmenteuna nueva versión de un secreto, envía un mensaje indicando el abandono de la rotación actual en favorde la nueva versión secreta. Como resultado, Secrets Manager elimina la etiqueta AWSPENDING parapermitir que las rotaciones futuras tengan éxito y publica un evento CloudTrail para dejar constancia delcambio.

• Evento RotationStarted: un mecanismo que le notifica del inicio de una rotación de secreto.• Evento RotationSucceeded: un mecanismo que le notifica del éxito de un evento de rotación.• Evento RotationFailed: un mecanismo para informarle de que la rotación secreta de una aplicación

ha fallado.

134

Page 141: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioInformación de Secrets Manager en CloudTrail

Información de Secrets Manager en CloudTrailCuando cree una cuenta de AWS, AWS habilitará CloudTrail. Cuando se produce una actividad en SecretsManager, CloudTrail la registra en un evento de CloudTrail junto con otros eventos de los servicios deAWS en Event history (Historial de eventos). Puede ver, buscar y descargar los últimos eventos de lacuenta de AWS. Para obtener más información, consulte Visualización de eventos con el historial deeventos de CloudTrail.

Para mantener un registro continuo de los eventos de la cuenta de AWS, incluidos los eventos de SecretsManager, cree un registro de seguimiento. Un registro de seguimiento permite a CloudTrail enviararchivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando se crea un registrode seguimiento en la consola, el registro de seguimiento se aplica a todas las regiones. El registro deseguimiento registra los eventos de todas las regiones de la partición de AWS y envía los archivos deregistro al bucket de Amazon S3 especificado. También puede configurar otros servicios de AWS paraanalizar y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Paraobtener más información, consulte:

• Introducción a la creación de registros de seguimiento• Servicios e integraciones compatibles con CloudTrail• Configuración de notificaciones de Amazon SNS para CloudTrail• Recibir archivos de registro de CloudTrail de varias regiones y Recepción de archivos de registro de

CloudTrail de varias cuentas

CloudTrail registra todas las acciones de Secrets Manager y las documenta en la Referencia de la API deAWS Secrets Manager. Por ejemplo, las llamadas a las secciones CreateSecret, GetSecretValue yRotateSecret generan entradas en los archivos de registro de CloudTrail.

Cada entrada de registro o evento contiene información acerca de quién generó la solicitud. La informaciónde identidad del usuario le ayuda a determinar lo siguiente:

• Si la solicitud la generaron las credenciales del usuario de IAM o del usuario raíz.• Si la solicitud la generaron las credenciales de seguridad temporales de un rol o usuario federado.• Si la solicitud la generó otro servicio de AWS.

Para recibir notificaciones de la entrega de archivos de registro, puede configurar CloudTrail para quepublique notificaciones de Amazon SNS. Para obtener más información, consulte Configuring AmazonSNS Notifications for CloudTrail.

También puede agregar AWS Secrets Manager archivos de registro de varias regiones de AWS y variascuentas de AWS en un solo bucket de Amazon S3.

Para obtener más información, consulte Recibir archivos de registro de CloudTrail de varias regiones yRecibir archivos de registro de CloudTrail de varias cuentas.

Recuperación de entradas de archivos de registro deSecrets ManagerPuede recuperar eventos individuales de CloudTrail mediante cualquiera de las siguientes técnicas:

Para recuperar eventos de Secrets Manager desde registros de CloudTrail

Uso de la consola de administración de AWS

La consola de CloudTrail le permite ver los eventos que se produjeron en los últimos 90 días.

135

Page 142: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioDescripción de las entradas de archivos

de registro de Secrets Manager

1. Abra la consola de CloudTrail en https://console.aws.amazon.com/cloudtrail/.2. Asegúrese de que la consola apunta a la región en la que se han producido los eventos. La

consola muestra únicamente aquellos eventos que se han producido en la región seleccionada.Elija la región en la lista desplegable en la esquina superior derecha de la consola.

3. En el panel de navegación de la izquierda, elija Event history (Historial de eventos).4. Elija los criterios de Filter (Filtro) o un Time range (Intervalo de tiempo) para contribuir a encontrar

el evento que está buscando. Por ejemplo, para ver todos los eventos Secrets Manager, paraSelect attribute (Seleccionar atributo), elija Event source (Origen del evento). A continuación, paraEnter event source (Escribir origen del evento), elija secretsmanager.amazonaws.com.

5. Para ver otros detalles, elija la flecha de expansión situada junto al evento. Para ver toda lainformación disponible, elija View event (Ver evento).

Uso de operaciones de la AWS CLI o de los SDK

1. Abra una ventana de comandos para ejecutar los comandos de AWS CLI.2. Ejecute un comando similar al ejemplo siguiente. Para facilitar la lectura, se han ajustado las

líneas, pero la salida real no es así.

$ aws cloudtrail lookup-events --region us-east-1 --lookup-attributes AttributeKey=EventSource,AttributeValue=secretsmanager.amazonaws.com{ "Events": [ { "EventId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "EventName": "CreateSecret", "EventTime": 1525106994.0, "Username": "Administrator", "Resources": [], "CloudTrailEvent": "{\"eventVersion\":\"1.05\",\"userIdentity\":{\"type\":\"IAMUser\",\"principalId\":\"AKIAIOSFODNN7EXAMPLE\", \"arn\":\"arn:aws:iam::123456789012:user/Administrator\",\"accountId\":\"123456789012\",\"accessKeyId\":\"AKIAIOSFODNN7EXAMPLE\", \"userName\":\"Administrator\"},\"eventTime\":\"2018-04-30T16:49:54Z\",\"eventSource\":\"secretsmanager.amazonaws.com\", \"eventName\":\"CreateSecret\",\"awsRegion\":\"us-east-1\",\"sourceIPAddress\":\"192.168.100.101\", \"userAgent\":\"<useragent string>\",\"requestParameters\":{\"name\":\"MyTestSecret\", \"clientRequestToken\":\"EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE\"},\"responseElements\":null, \"requestID\":\"EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE\",\"eventID\":\"EXAMPLE4-90ab-cdef-fedc-ba987EXAMPLE\", \"eventType\":\"AwsApiCall\",\"recipientAccountId\":\"123456789012\"}" } ]}

Descripción de las entradas de archivos de registro deSecrets ManagerLos registros de seguimiento permiten entregar eventos como archivos de registro en un bucket deAmazon S3 especificado. Los archivos de registro de CloudTrail contienen una o varias entradas deregistro. Un evento representa una única solicitud de un origen y contiene información sobre la acciónsolicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etcétera. Los archivos de registro

136

Page 143: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioDescripción de las entradas de archivos

de registro de Secrets Manager

de CloudTrail no recopilan un registro de seguimiento ordenado de la pila de llamadas realizadas a la APIpública, por lo que no aparecen en ningún orden específico.

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para una llamadaCreateSecret de ejemplo:

{ "eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "123456789012", "arn": "arn:aws:iam::123456789012:root", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "myusername", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2018-04-03T17:43:50Z" }} }, "eventTime": "2018-04-03T17:50:55Z", "eventSource": "secretsmanager.amazonaws.com", "eventName": "CreateSecret", "awsRegion": "us-west-2", "requestParameters": { "name": "MyDatabaseSecret", "clientRequestToken": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE" }, "responseElements": null, "requestID": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}

En el ejemplo siguiente se muestra una entrada de registro de CloudTrail para una llamadaDeleteSecret de ejemplo:

{ "eventVersion": "1.05", "userIdentity": { "type": "Root", "principalId": "123456789012", "arn": "arn:aws:iam::123456789012:root", "accountId": "123456789012", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "myusername", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2018-04-03T17:43:50Z" }} }, "eventTime": "2018-04-03T17:51:02Z", "eventSource": "secretsmanager.amazonaws.com", "eventName": "DeleteSecret", "awsRegion": "us-west-2", "requestParameters": { "recoveryWindowInDays": 30, "secretId": "MyDatabaseSecret" }, "responseElements": { "name": "MyDatabaseSecret", "deletionDate": "May 3, 2018 5:51:02 PM",

137

Page 144: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAmazon CloudWatch Events

"aRN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyDatabaseSecret-a1b2c3" }, "requestID": "EXAMPLE2-90ab-cdef-fedc-ba987EXAMPLE", "eventID": "EXAMPLE3-90ab-cdef-fedc-ba987EXAMPLE", "eventType": "AwsApiCall", "recipientAccountId": "123456789012"}

Amazon CloudWatch EventsSecrets Manager puede trabajar con Eventos de CloudWatchpara activar alertas cuando se producenoperaciones especificadas por el administrador en una organización. Por ejemplo, debido a la sensibilidadde estas operaciones, es posible que los administradores quieran recibir una notificación cuando seeliminen o se roten secretos. Es posible que desee recibir una alerta si alguien intenta utilizar una versióndel secreto que está pendiente de eliminarse. Puede configurar reglas de Eventos de CloudWatchque buscan estas operaciones y, cuando las detectan, envían los eventos generados a los "objetivos"definidos por el administrador. Un posible objetivo podría ser un tema de Amazon SNS que envíe uncorreo electrónico o un mensaje de texto a sus suscriptores. También puede crear una función de AWSLambda sencilla que se active con el evento y que registre los detalles de la operación, de modo quepueda revisarlos más adelante.

Para obtener más información sobre Eventos de CloudWatch, incluido cómo configurarlo y habilitarlo,consulte la Guía del usuario de Amazon CloudWatch Events.

Monitorización de versiones de secretos programadaspara su eliminaciónPuede utilizar una combinación de AWS CloudTrail, Amazon CloudWatch Logs y Amazon SimpleNotification Service (Amazon SNS) para crear una alarma que le avise de cualquier intento de acceso auna versión de un secreto que esté pendiente de eliminación. Si recibe una notificación de una alarma deeste tipo, es posible que prefiera cancelar la eliminación del secreto para disponer de más tiempo y poderdeterminar si realmente desea eliminarlo. Es posible que finalmente el secreto se restaure porque sigasiendo necesario. Por otro lado, también es posible que necesite actualizar el usuario con los detalles delnuevo secreto que desee usar.

Los siguientes procedimientos explican cómo puede recibir una notificación cuando una solicitud de laoperación GetSecretValue genera un mensaje de error específico que se escribe en los archivos deregistro de CloudTrail. Se pueden realizar otras operaciones de API en la versión del secreto sin activar laalarma. Esta alarma de CloudWatch detecta un uso que podría indicar que una persona o aplicación estáutilizando credenciales obsoletas.

Antes de empezar con estos procedimientos, debe activar CloudTrail en la región y la cuenta de AWSdonde tenga pensado monitorear las solicitudes de API de AWS Secrets Manager. Para obtenerinstrucciones, consulte Creación de un registro de seguimiento por primera vez en la Guía del usuario deAWS CloudTrail.

Pasos• Parte 1: Configuración de la entrega de archivos de registro de CloudTrail a registros de CloudWatch

(p. 139)• Parte 2: Crear la alarma de CloudWatch (p. 139)• Parte 3: supervisión de CloudWatch para los secretos eliminados (p. 140)

138

Page 145: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioMonitorización de versiones de secretos

programadas para su eliminación

Parte 1: Configuración de la entrega de archivos de registro deCloudTrail a registros de CloudWatchDebe configurar la entrega de sus archivos de registro de CloudTrail a CloudWatch Logs. Esto se hacepara que CloudWatch Logs pueda monitorearlos para que las solicitudes a la API de Secrets Managerrecuperen una versión de un secreto pendiente de eliminación.

Para configurar el envío de archivos de registro de CloudTrail a CloudWatch Logs

1. Abra la consola de CloudTrail en https://console.aws.amazon.com/cloudtrail/.2. En la barra de navegación superior, elija la región de AWS para monitorear los secretos.3. En el panel de navegación izquierdo, elija Trails (Registros de seguimiento) y, a continuación, elija el

nombre del registro de seguimiento que va a configurar para CloudWatch.4. En la página Trails Configuration (Configuración de registros de seguimiento), desplácese hacia abajo

hasta la sección CloudWatch Logs y, a continuación, elija el icono de edición ( ).5. Para New or existing log group, escriba un nombre del grupo de registros, como CloudTrail/

MyCloudWatchLogGroup.6. En IAM role (Rol de IAM), puede usar el rol predeterminado, llamado

CloudTrail_CloudWatchLogs_Role. Ese rol tiene una política de rol predeterminada con los permisosnecesarios para enviar eventos de CloudTrail al grupo de registros.

7. Elija Continue (Continuar) para guardar la configuración.8. En la página AWS CloudTrail will deliver CloudTrail events associated with API activity in your account

to your CloudWatch Logs log group, elija Allow (Permitir).

Parte 2: Crear la alarma de CloudWatchSi desea recibir una notificación cuando una operación de la API GetSecretValue de Secrets Managersolicite acceso a una versión de un secreto pendiente de eliminación, debe crear una alarma deCloudWatch y configurar la notificación.

Creación de una alarma de CloudWatch para monitorear el uso de una versión de un secretopendiente de eliminación

1. Inicie sesión en la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.2. En la barra de navegación superior, elija la región de AWS donde desee monitorear los secretos.3. En el panel de navegación izquierdo, elija Logs.4. En la lista Log Groups (Grupos de registros), seleccione la casilla situada junto al grupo que creó en el

procedimiento anterior; por ejemplo, CloudTrail/MyCloudWatchLogGroup. A continuación, elija CreateMetric Filter.

5. En Filter Pattern, escriba o pegue lo siguiente:

{ $.eventName = "GetSecretValue" && $.errorMessage = "*secret because it was marked for deletion*" }

Elija Assign Metric.6. En la página Create Metric Filter and Assign a Metric, haga lo siguiente:

a. En Metric Namespace (Espacio de nombres de métrica), escriba CloudTrailLogMetrics.b. En Nombre de métrica, escriba AttemptsToAccessDeletedSecrets.c. Elija Show advanced metric settings y, a continuación, si es necesario para Metric Value, escriba

1.

139

Page 146: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioMonitorización de versiones de secretos

programadas para su eliminación

d. Elija Create Filter.7. En el cuadro de filtro, elija Create Alarm.8. En la ventana Create Alarm, haga lo siguiente:

a. En Name, ingrese AttemptsToAccessDeletedSecretsAlarm.b. Whenever: (Donde:), para is: (es:), elija >= y, a continuación, escriba 1.c. Junto a Send notification to:, realice una de las siguientes acciones:

• Para crear y utilizar un nuevo tema de Amazon SNS, elija New list (Nueva lista) y, acontinuación, escriba un nuevo nombre de tema. En Email list:, escriba al menos una direcciónde correo electrónico. Puede escribir varias direcciones de correo electrónico separándolas concomas.

• Para utilizar un tema de Amazon SNS existente, elija el nombre del tema que desea usar. Si noexiste ninguna lista, elija Select list (Seleccionar lista).

d. Elija Create Alarm.

Parte 3: supervisión de CloudWatch para los secretos eliminadosHa creado su alarma. Para probarla, cree una versión de un secreto y, a continuación, prográmela para sueliminación. A continuación, intente recuperar el valor secreto. Recibirá en breve un correo electrónico enla dirección configurada en la alarma. Le avisa sobre el uso de una versión del secreto programada parasu eliminación.

140

Page 147: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAutomatización de la creación de

secretos con AWS CloudFormation

Servicios de AWS integrados conAWS Secrets Manager

AWS Secrets Manager funciona con otros servicios de AWS para proporcionar soluciones adicionalespara los desafíos de su negocio. En este tema se identifican los servicios que utiliza Secrets Manager paraagregar funcionalidad o servicios que Secrets Manager utiliza para realizar tareas.

Temas

• Automatización de la creación de secretos con AWS CloudFormation (p. 145)• Monitorear secretos de Secrets Manager mediante AWS Config (p. 152)• Protección de secretos con AWS Identity and Access Management (IAM) (p. 142)• Monitoreo de sus secretos con AWS CloudTrail y Amazon CloudWatch (p. 142)• Cifrado de los secretos con AWS KMS (p. 142)• Recuperación de los secretos con las API del Almacén de parámetros (p. 143)• Integración de Secrets Manager con Amazon Elastic Container Service (p. 143)• Integración de Secrets Manager con AWS Fargate (p. 143)• Integración de Secrets Manager con AWS IoT Greengrass (p. 144)• Administración de credenciales de repositorio de Amazon SageMaker con Secrets Manager (p. 144)• Almacenamiento de credenciales de registro de AWS CodeBuild con Secrets Manager (p. 145)• Almacenamiento de credenciales de registro de Amazon EMR con Secrets Manager (p. 145)

Automatización de la creación de secretos conAWS CloudFormation

Secrets Manager admite AWS CloudFormation y permite definir secretos y hacer referencia a ellosdesde la plantilla de la pila. Secrets Manager define varios tipos de recursos de AWS CloudFormationque le permiten crear un secreto y asociarlo con el servicio o la base de datos cuyas credenciales estánalmacenadas en él. Puede hacer referencia a elementos en el secreto de otras partes de la plantilla, comola recuperación del nombre de usuario y la contraseña del secreto cuando defina el usuario maestro yla contraseña en una nueva base de datos. Puede crear y asociar políticas basadas en recursos a unsecreto. También puede configurar la rotación definiendo una función Lambda en su plantilla y asociándolaa su nuevo secreto como función Lambda de rotación. Para obtener más información y un ejemplodetallado, consulte Automatización de la creación de secretos en AWS CloudFormation (p. 145).

Monitorización de sus secretos con AWS ConfigAWS Secrets Manager se integra con AWS Config y proporciona un seguimiento más fácil de los cambiosde secretos en Secrets Manager. Puede utilizar dos reglas administradas adicionales de AWS Config paradefinir las directrices internas de la organización sobre las prácticas recomendadas para la administraciónde secretos. Además, puede identificar rápidamente secretos que no se ajustan a sus reglas de seguridad,así como recibir notificaciones Amazon SNS de los cambios de configuración de los secretos. Por ejemplo,

141

Page 148: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioProtección de secretos con AWS

Identity and Access Management (IAM)

puede recibir notificaciones SNS sobre una lista de secretos no configurados para la rotación que lepermite controlar las prácticas recomendadas de seguridad para la rotación de secretos.

Al aprovechar la función Agregador de AWS Config, puede ver una lista de secretos y verificar laconformidad en todas las cuentas y regiones de toda la organización y, al hacerlo, crear prácticasrecomendadas de administración de secretos en toda la organización desde una sola ubicación.

Para obtener más información sobre esta característica, vea Monitorear secretos de Secrets Managermediante AWS Config (p. 152).

Protección de secretos con AWS Identity andAccess Management (IAM)

Secrets Manager utiliza IAM para proteger el acceso a los secretos. IAM proporciona lo siguiente:

• Autenticación: verifica la identidad de las solicitudes individuales. Secrets Manager utiliza un proceso deinicio de sesión con contraseñas, claves de acceso y tokens de Multi-Factor Authentication (MFA) parademostrar la identificación de los usuarios.

• Autorización: garantiza que solo las personas aprobadas puedan realizar operaciones en recursos deAWS, como, por ejemplo, secretos. De este modo, puede conceder acceso de escritura a secretosespecíficos a un usuario al mismo tiempo que concede permisos de solo lectura sobre secretosdiferentes a otro usuario.

Para obtener más información acerca de la protección del acceso a sus secretos utilizando IAM, consulteAutenticación y control de acceso de AWS Secrets Manager (p. 32) en esta guía. Para obtener informacióncompleta acerca de IAM, consulte la Guía del usuario de IAM.

Monitoreo de sus secretos con AWS CloudTrail yAmazon CloudWatch

Puede utilizar CloudTrail y CloudWatch para monitorear la actividad que está relacionada con sus secretos.CloudTrail captura la actividad de la API para sus recursos de AWS mediante cualquier servicio de AWS yescribe la actividad en los archivos de registro en sus buckets de Amazon S3. CloudWatch le permite crearreglas para monitorear los archivos de registro y desencadenar acciones cuando se producen actividadesde interés. Por ejemplo, un mensaje de texto puede alertarle cuando alguien cree un nuevo secreto ocuando se rota un secreto correctamente. También puede crear una alerta que se active si un clienteintenta utilizar una versión obsoleta de un secreto en lugar de la versión actual. Esto puede ayudar con lasolución de problemas.

Para obtener más información, consulte la sección Monitoreo del uso de los secretos de AWS SecretsManager (p. 134) de esta guía. Para obtener información completa acerca de CloudWatch, consulte laGuía del usuario de Amazon CloudWatch. Para obtener información completa acerca de Eventos deCloudWatch, consulte la Guía del usuario de Amazon CloudWatch Events.

Cifrado de los secretos con AWS KMSSecrets Manager utiliza el algoritmo de cifrado Advanced Encryption Standard (AES) (FIPS 197) deconfianza estándar de la industria para cifrar sus secretos. Secrets Manager también usa claves de cifrado

142

Page 149: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRecuperación de los secretos con

las API del Almacén de parámetros

proporcionadas por AWS Key Management Service (AWS KMS) para realizar el cifrado de sobre del valordel secreto. Al crear una nueva versión de un secreto, Secrets Manager utiliza la clave maestra del cliente(CMK) de AWS KMS especificada para generar una nueva clave de datos. La clave de datos consta deuna clave AES simétrica de 256 bits. Secrets Manager recibe tanto una copia de texto sin formato comocifrada de la clave de datos. Secrets Manager utiliza la clave de datos de texto sin formato para cifrar elvalor del secreto y, a continuación, almacena la clave de datos cifrada en los metadatos de la versión delsecreto. Cuando posteriormente envía una solicitud a Secrets Manager para recuperar el valor del secreto,Secrets Manager primero recupera la clave de datos cifrada de los metadatos y solicita, a continuación, aAWS KMS que descrifre la clave de datos mediante la CMK asociada. AWS KMS utiliza la clave de datosdescifrada para descifrar el valor del secreto y nunca almacena las claves en un estado sin cifrar, y eliminalas claves de la memoria inmediatamente cuando ya no son necesarias.

Para obtener más información, consulte Cómo utiliza AWS Secrets Manager AWS KMS en la AWS KeyManagement Service Developer Guide.

Recuperación de los secretos con las API delAlmacén de parámetros

El Almacén de parámetros de Administrador de sistemas de AWS proporciona un almacenamientoseguro y jerárquico para administrar los datos de configuración y los secretos. Puede almacenar datoscomo contraseñas, cadenas de base de datos y códigos de licencia como valores de parámetros. Noobstante, el Almacén de parámetros no proporciona servicios de rotación automática para los secretosalmacenados. En su lugar, el Almacén de parámetros le permite almacenar el secreto en Secrets Managery, a continuación, hacer referencia al secreto como parámetro de Parameter Store.

Cuando se configura Parameter Store con Secrets Manager, el almacén de parámetros secret-idnecesita que se incluya una barra diagonal (/) antes de la cadena de nombre.

Para obtener más información, consulte la sección sobre cómo hacer referencia a los secretos de AWSSecrets Manager desde los parámetros del Almacén de parámetros en la Guía del usuario de AWSAdministrador de sistemas.

Integración de Secrets Manager con AmazonElastic Container Service

Amazon ECS le permite introducir información confidencial en sus contenedores almacenándola ensecretos de Secrets Manager y, a continuación, hacer referencia a ellos en la definición de contenedor. Lainformación confidencial almacenada en secretos de Secrets Manager se puede exponer a un contenedorcomo variables de entorno o como parte de la configuración del registro.

Para obtener una descripción completa de la integración, consulte Especificación de secretos deinformación confidencial.

Tutorial: Especificación de información confidencial con secretos de Secrets Manager

Integración de Secrets Manager con AWS FargateAWS Fargate es una tecnología que puede utilizar con Amazon ECS para ejecutar contenedores sin tenerque administrar servidores ni clústeres de instancias Amazon ECS. Con AWS Fargate ya no tendrá que

143

Page 150: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioIntegración de Secrets Manager con AWS IoT Greengrass

aprovisionar, configurar ni escalar clústeres de máquinas virtuales para ejecutar los contenedores. Deesta manera, se elimina la necesidad de elegir tipos de servidores, decidir cuándo escalar los clústeres uoptimizar conjuntos de clústeres.

Al ejecutar las tareas y servicios de Amazon Amazon ECS con el tipo de lanzamiento Fargate o unproveedor de capacidad Fargate, se empaqueta la aplicación en contenedores, se especifican losrequisitos de CPU y de memoria, se definen las políticas de IAM y redes y se lanza la aplicación. Cadatarea de Fargate tiene su propio límite de aislamiento y no comparte el kernel subyacente, los recursos deCPU, los recursos de memoria ni la interfaz de red elástica con otra tarea.

Puede configurar interfaces de Fargate para permitir la recuperación de secretos de Secrets Manager.Para obtener más información, consulte Redes de tareas de Fargate.

Integración de Secrets Manager con AWS IoTGreengrass

AWS IoT Greengrass le permite autenticarse con servicios y aplicaciones desde dispositivos Greengrasssin contraseñas codificadas de forma rígida, tokens u otros secretos.

Puede utilizar AWS Secrets Manager para almacenar y gestionar de forma segura sus secretos en la nube.AWS IoT Greengrass amplía Secrets Manager a dispositivos del núcleo Greengrass, de modo que losconectores y las funciones de Lambda puedan utilizar secretos locales para interactuar con los serviciosy aplicaciones. Por ejemplo, el conector de notificaciones de Twilio utiliza un token de autenticaciónalmacenado localmente.

Para integrar un secreto en un grupo de Greengrass, cree un recurso de grupo que haga referencia alsecreto de Secrets Manager. Este recurso de secretos hace referencia al secreto en la nube medianteel ARN asociado. Para obtener más información sobre cómo crear, administrar y utilizar recursos desecretos, consulte Trabajar con recursos de secretos en la Guía para desarrolladores de AWS IoT.

Para implementar secretos en AWS IoT Greengrass Core, consulte Implementar secretos en el núcleo deAWS IoT Greengrass.

Administración de credenciales de repositorio deAmazon SageMaker con Secrets Manager

Amazon SageMaker es un servicio de aprendizaje automático completamente administrado. AmazonSageMaker permite a los desarrolladores y a los analistas de datos crear y perfeccionar modelos demachine learning de forma rápida y sencilla y, a continuación, implementarlos directamente un entornoalojado listo para su uso. Incluye una instancia de bloc de notas de creación de Jupyter integradapara obtener acceso de manera sencilla a sus orígenes de datos y poder realizar estudios y análisissin tener que administrar servidores. También ofrece algoritmos de aprendizaje automático comunesoptimizados para ejecutarse de manera eficiente en conjuntos de datos extremadamente grandes en unentorno distribuido. Con compatibilidad original para marcos y algoritmos propios, Amazon SageMakerofrece opciones de entrenamiento distribuido flexibles que se ajustan a sus flujos de trabajo específicos.Implemente un modelo en un entorno seguro y escalable mediante el lanzamiento con un solo clic desde laconsola de Amazon SageMaker.

Puede administrar sus credenciales de repositorio privado con Secrets Manager. Puede administrar suscredenciales de repositorio privado con Secrets Manager.

144

Page 151: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAlmacenamiento de credenciales de registro

de AWS CodeBuild con Secrets Manager

Para obtener más información, consulte Asociar repositorios de Git con instancias de bloc de notas deAmazon SageMaker.

Almacenamiento de credenciales de registro deAWS CodeBuild con Secrets Manager

AWS CodeBuild es un servicio de compilación completamente administrado en la nube. CodeBuild compilacódigo fuente, ejecuta pruebas unitarias y produce elementos listos para su implementación. CodeBuildelimina la necesidad de aprovisionar, administrar y escalar sus propios servidores de compilación.Este servicio proporciona entornos de compilación preconfigurados para lenguajes de programación yherramientas de compilación populares como Apache Maven, Gradle, etc. También puede personalizarentornos de compilación en CodeBuild para utilizar sus propias herramientas de compilación. CodeBuild seamplía automáticamente para satisfacer el aumento de solicitudes de compilación.

Puede almacenar sus credenciales de registro privado con Secrets Manager. Consulte Muestra de registroprivado con AWS Secrets Manager para CodeBuild.

Almacenamiento de credenciales de registro deAmazon EMR con Secrets Manager

Amazon EMR es una plataforma de clúster administrada que simplifica la ejecución de los marcos detrabajo de Big Data, tales como Apache Hadoop y Apache Spark en AWS para procesar y analizargrandes cantidades de datos. Mediante el uso de estos marcos de trabajo y proyectos de código abiertorelacionados, como Apache Hive y Apache Pig, puede procesar datos para fines de análisis y cargas detrabajo de inteligencia empresarial. Además, puede utilizar Amazon EMR para transformar y trasladargrandes cantidades de datos hacia y desde otros almacenes de datos y bases de datos de AWS, talescomo Amazon Simple Storage Service (Amazon S3) y Amazon DynamoDB.

Puede almacenar sus credenciales de registro privado basado en Git con Secrets Manager. ConsulteAñadir un repositorio basado en Git a Amazon EMR.

Automatización de la creación de secretos en AWSCloudFormation

Note

Actualmente, AWS Secrets Manager no admite la rotación de secretos nativa para Amazon RS,DocumentDB y Redshift desde CloudFormation en las regiones eu-south-1 y af-south-1.

Con una plantilla de AWS CloudFormation, puede automatizar la creación de secretos para los recursos debase de datos o de servicios en su infraestructura en la nube de AWS.

Puede utilizar AWS CloudFormation para automatizar la creación de la infraestructura en la nube. Cree unaplantilla en JSON o YAML para definir los recursos que necesita para su proyecto. A continuación, AWSCloudFormation la plantilla y crea los recursos definidos. Esto le permite recrear fácilmente una nuevacopia de su infraestructura cuando la necesite. Por ejemplo, puede duplicar su infraestructura de pruebapara crear la versión pública. También puede compartir fácilmente la infraestructura como un archivo detexto simple, lo que permite a otros replicar los recursos sin intervención manual.

145

Page 152: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjemplos

Puede utilizar CloudFormer para capturar todos los detalles de un conjunto de recursos existente en unaplantilla de AWS CloudFormation.

Secrets Manager proporciona los siguientes tipos de recursos para que pueda crear secretos como partede una plantilla de AWS CloudFormation. Para obtener más información sobre cómo configurar cadauno en su plantilla de AWS CloudFormation, elija el nombre de tipo de recurso para un enlace a Guía delusuario de AWS CloudFormation.

• AWS::SecretsManager::Secret – Crea un secreto y lo almacena en Secrets Manager. Puede especificaruna contraseña o hacer que Secrets Manager genere una automáticamente. También puede crear unsecreto vacío y actualizarlo más tarde usando el parámetro SecretString.

• AWS::SecretsManager::ResourcePolicy – Crea una política basada en recursos y la asocia al secretoespecificado. Una política basada en recursos controla quién puede realizar acciones en el secreto.

• AWS::SecretsManager::RotationSchedule – Configura un secreto para realizar la rotación periódicaautomática mediante la función de rotación de Lambda especificada.

• AWS::SecretsManager::SecretTargetAttachment : después de crear un secreto y, a continuación, hacerreferencia a él para obtener acceso a sus credenciales al crear un servicio o base de datos, este tipode recurso regresa y finaliza la configuración del secreto. Secrets Manager configura el secreto con losdetalles sobre el servicio o la base de datos necesarios para que la rotación funcione. Por ejemplo, parauna instancia de base de datos de Amazon RDS, Secrets Manager agrega los detalles de conexión y eltipo de motor de base de datos como entradas en la propiedad SecureString del secreto.

EjemplosLas siguientes plantillas de ejemplo crean un secreto y una instancia de base de datos MySQL de AmazonRDS que utiliza las credenciales del secreto como el usuario maestro y la contraseña. El secreto tieneasociada una política basada en recursos que especifica el acceso al secreto. La plantilla también crea unafunción de rotación de Lambda y configura el secreto para que rote automáticamente cada 30 días.

Note

La especificación JSON no admite comentarios. Consulte la versión de YAML más adelante enesta página para ver los comentarios.

Note

Si implementa una base de datos Aurora PostgreSQL, debe crear un nombre de usuario distintode admin. admin” es una palabra clave reservada y no se puede crear la base de datos con esenombre de usuario.

JSON

{ "MyRDSInstanceRotationSecret": { "Type": "AWS::SecretsManager::Secret", "Properties": { "Description": "A Secrets Manager secret for my RDS DB instance", "GenerateSecretString": { "SecretStringTemplate": "{\"username\": \"admin\"}", "GenerateStringKey": "password", "PasswordLength": 16, "ExcludeCharacters": "\"@/\\" } } }, "SecretRDSInstanceAttachment": { "Type": "AWS::SecretsManager::SecretTargetAttachment",

146

Page 153: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjemplos

"Properties": { "SecretId": {"Ref": "MyRDSInstanceRotationSecret"}, "TargetId": {"Ref": "MyDBInstance"}, "TargetType": "AWS::RDS::DBInstance" } }, "MyDBInstance": { "Type": "AWS::RDS::DBInstance", "Properties": { "AllocatedStorage": 20, "DBInstanceClass": "db.t2.micro", "Engine": "mysql", "MasterUsername": {"Fn::Join": [ "", ["{{resolve:secretsmanager:", {"Ref": "MyRDSInstanceRotationSecret"}, "::username}}"] ]}, "MasterUserPassword": {"Fn::Join": [ "", ["{{resolve:secretsmanager:", {"Ref": "MyRDSInstanceRotationSecret"}, "::password}}"] ]}, "BackupRetentionPeriod": 0, "DBInstanceIdentifier": "rotation-instance" } }, "MySecretRotationSchedule": { "Type": "AWS::SecretsManager::RotationSchedule", "DependsOn": "SecretRDSInstanceAttachment", "Properties": { "SecretId": {"Ref": "MyRDSInstanceRotationSecret"}, "RotationLambdaARN": {"Fn::GetAtt": ["MyRotationLambda","Arn"]}, "RotationRules": { "AutomaticallyAfterDays": 30 } } }, "MySecretResourcePolicy": { "Type": "AWS::SecretsManager::ResourcePolicy", "Properties": { "SecretId": {"Ref": "MyRDSInstanceRotationSecret"}, "ResourcePolicy": { "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": {"AWS": {"Fn::Sub": "arn:aws:iam::${AWS::AccountId}:root"}}, "Action": "secretsmanager:DeleteSecret", "Resource": "*" } ] } } }, "LambdaInvokePermission": { "Type": "AWS::Lambda::Permission", "DependsOn": "MyRotationLambda", "Properties": { "FunctionName": "cfn-rotation-lambda", "Action": "lambda:InvokeFunction", "Principal": "secretsmanager.amazonaws.com" } }, "MyLambdaExecutionRole": { "Type": "AWS::IAM::Role", "Properties": {

147

Page 154: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjemplos

"RoleName": "cfn-rotation-lambda-role", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"Service": ["lambda.amazonaws.com"]}, "Action": ["sts:AssumeRole"] } ] }, "Policies": [ { "PolicyName": "AWSSecretsManagerRotationPolicy", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage" ], "Resource": {"Fn::Sub": "arn:${AWS::Partition}:secretsmanager:${AWS::Region}:${AWS::AccountId}:secret:*"}, "Condition": { "StringEquals": { "secretsmanager:resource/AllowRotationLambdaArn": {"Fn::Sub": "arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:cfn-rotation-lambda"} } } }, { "Effect": "Allow", "Action": ["secretsmanager:GetRandomPassword"], "Resource": "*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:GenerateDataKey" ], "Resource": "*" } ] } } ] } }, "MyRotationLambda": { "Type": "AWS::Lambda::Function", "Properties": {

148

Page 155: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjemplos

"Runtime": "python2.7", "Role": {"Fn::GetAtt": ["MyLambdaExecutionRole","Arn"]}, "Handler": "lambda_function.lambda_handler", "Description": "This is a Secrets Manager rotation function for a MySQL RDS DB instance", "FunctionName": "cfn-rotation-lambda", "Environment": { "Variables": { "SECRETS_MANAGER_ENDPOINT": {"Fn::Sub": "https://secretsmanager.${AWS::Region}.amazonaws.com"} } }, "Code": { "S3Bucket": "<% replace-this-with-name-of-s3-bucket-that-contains-lambda-function-code %>", "S3Key": "<% replace-this-with-path-and-filename-of-zip-file-that-contains-lambda-function-code %>", "S3ObjectVersion": "<% replace-this-with-lambda-zip-file-version-if-s3-bucket-versioning-is-enabled %>" } } }}

YAML---Description: "This is an example template to demonstrate CloudFormation resources for Secrets Manager"Resources:

#This is a Secret resource with a randomly generated password in its SecretString JSON. MyRDSInstanceRotationSecret: Type: AWS::SecretsManager::Secret Properties: Description: 'This is my rds instance secret' GenerateSecretString: SecretStringTemplate: '{"username": "admin"}' GenerateStringKey: 'password' PasswordLength: 16 ExcludeCharacters: '"@/\' Tags: - Key: AppName Value: MyApp

#This is a RDS instance resource. Its master username and password use dynamic references to resolve values from #SecretsManager. The dynamic reference guarantees that CloudFormation will not log or persist the resolved value #We use a ref to the Secret resource logical id in order to construct the dynamic reference, since the Secret name is being #generated by CloudFormation MyDBInstance: Type: AWS::RDS::DBInstance Properties: AllocatedStorage: 20 DBInstanceClass: db.t2.micro Engine: mysql MasterUsername: !Join ['', ['{{resolve:secretsmanager:', !Ref MyRDSInstanceRotationSecret, ':SecretString:username}}' ]] MasterUserPassword: !Join ['', ['{{resolve:secretsmanager:', !Ref MyRDSInstanceRotationSecret, ':SecretString:password}}' ]] BackupRetentionPeriod: 0

149

Page 156: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjemplos

DBInstanceIdentifier: 'rotation-instance'

#This is a SecretTargetAttachment resource which updates the referenced Secret resource with properties about #the referenced RDS instance SecretRDSInstanceAttachment: Type: AWS::SecretsManager::SecretTargetAttachment Properties: SecretId: !Ref MyRDSInstanceRotationSecret TargetId: !Ref MyDBInstance TargetType: AWS::RDS::DBInstance

#This is a RotationSchedule resource. It configures rotation of password for the referenced secret using a rotation lambda #The first rotation happens at resource creation time, with subsequent rotations scheduled according to the rotation rules #We explicitly depend on the SecretTargetAttachment resource being created to ensure that the secret contains all the #information necessary for rotation to succeed MySecretRotationSchedule: Type: AWS::SecretsManager::RotationSchedule DependsOn: SecretRDSInstanceAttachment Properties: SecretId: !Ref MyRDSInstanceRotationSecret RotationLambdaARN: !GetAtt MyRotationLambda.Arn RotationRules: AutomaticallyAfterDays: 30

#This is ResourcePolicy resource which can be used to attach a resource policy to the referenced secret. #The resource policy in this example denies the DeleteSecret action to all principals within the current account MySecretResourcePolicy: Type: AWS::SecretsManager::ResourcePolicy Properties: SecretId: !Ref MyRDSInstanceRotationSecret ResourcePolicy: Version: '2012-10-17' Statement: - Effect: Deny Principal: AWS: !Sub 'arn:aws:iam::${AWS::AccountId}:root' Action: secretsmanager:DeleteSecret Resource: "*"

#This is a lambda Function resource. We will use this lambda to rotate secrets #For details about rotation lambdas, see https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html #The below example assumes that the lambda code has been uploaded to a S3 bucket, and that it will rotate a mysql database password MyRotationLambda: Type: AWS::Lambda::Function Properties: Runtime: python2.7 Role: !GetAtt MyLambdaExecutionRole.Arn Handler: lambda_function.lambda_handler Description: 'This is a lambda to rotate MySql user passwd' FunctionName: 'cfn-rotation-lambda' Environment: Variables: SECRETS_MANAGER_ENDPOINT: !Sub 'https://secretsmanager.${AWS::Region}.amazonaws.com' Code: S3Bucket: <% name-of-s3-bucket-that-contains-lambda-function-code %> S3Key: <% path-and-filename-of-zip-file-that-contains-lambda-function-code %> S3ObjectVersion: <% lambda-zip-file-version-if-s3-bucket-versioning-is-enabled %>

150

Page 157: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioEjemplos

#This is a lambda Permission resource which grants Secrets Manager permission to invoke the rotation lambda function LambdaInvokePermission: Type: AWS::Lambda::Permission DependsOn: MyRotationLambda Properties: FunctionName: 'cfn-rotation-lambda' Action: 'lambda:InvokeFunction' Principal: secretsmanager.amazonaws.com

#This is the IAM Role resource for the rotation lambda, it grants permissions to the lambda to get and update the secret as part of the #rotation process. This includes required KMS permissions. It also includes permissions needed for logging to CloudWatch. MyLambdaExecutionRole: Type: AWS::IAM::Role Properties: RoleName: 'cfn-rotation-lambda-role' AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: Service: - "lambda.amazonaws.com" Action: - "sts:AssumeRole" Policies: - PolicyName: "AWSSecretsManagerRotationPolicy" PolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Action: - "secretsmanager:DescribeSecret" - "secretsmanager:GetSecretValue" - "secretsmanager:PutSecretValue" - "secretsmanager:UpdateSecretVersionStage" Resource: !Sub 'arn:${AWS::Partition}:secretsmanager:${AWS::Region}:${AWS::AccountId}:secret:*' Condition: StringEquals: secretsmanager:resource/AllowRotationLambdaArn: !Sub 'arn:${AWS::Partition}:lambda:${AWS::Region}:${AWS::AccountId}:function:cfn-rotation-lambda' - Effect: "Allow" Action: - "secretsmanager:GetRandomPassword" Resource: "*" - Effect: "Allow" Action: - "logs:CreateLogGroup" - "logs:CreateLogStream" - "logs:PutLogEvents" Resource: "arn:aws:logs:*:*:*" - Effect: "Allow" Action: - "kms:Decrypt" - "kms:DescribeKey" - "kms:GenerateDataKey"

151

Page 158: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioMonitorear secretos de SecretsManager mediante AWS Config

Resource: "*"

Monitorear secretos de Secrets Manager medianteAWS Config

AWS Secrets Manager se integra con AWS Config y proporciona un seguimiento más fácil de los cambiosde secretos en Secrets Manager. Puede utilizar dos reglas administradas adicionales de AWS Config paradefinir las directrices internas de la organización sobre las prácticas recomendadas para la administraciónde secretos. Además, puede identificar rápidamente secretos que no se ajustan a sus reglas de seguridad,así como recibir notificaciones Amazon SNS de los cambios de configuración de los secretos. Por ejemplo,puede recibir notificaciones SNS sobre una lista de secretos no configurados para la rotación que lepermite controlar las prácticas recomendadas de seguridad para la rotación de secretos.

Al aprovechar el agregador de varias cuentas y regiones de AWS Config, puede ver una lista de secretos yverificar la conformidad en todas las cuentas y regiones de la organización al completo y, al hacerlo, crearprácticas recomendadas de administración de secretos en toda la organización desde una sola ubicación.

Temas

• Beneficios del seguimiento de secretos con AWS Config (p. 152)• Reglas de AWS Config admitidas en Secrets Manager (p. 153)• Implementación de prácticas recomendadas de administración de secretos mediante AWS

Config (p. 153)• Configuración del agregador de datos de varias cuentas y regiones de AWS Config para prácticas

recomendadas de Secrets Management (p. 154)

Beneficios del seguimiento de secretos con AWSConfigAWS Config le permite evaluar, auditar y evaluar configuraciones en sus recursos de AWS mediantela supervisión y el registro continuos de las configuraciones de recursos de AWS, y también le permiteautomatizar la evaluación de configuraciones grabadas en comparación con las configuraciones deseadas.Mediante AWS Config, puede llevar a cabo las tareas siguientes:

• Revise los cambios en las configuraciones y las relaciones entre los recursos de AWS.• Realice un seguimiento de los historiales detallados de la configuración de recursos.• Determine el cumplimiento general de las configuraciones especificadas en sus directrices internas.

Si tiene recursos de varias cuentas y regiones de AWS en AWS Config, puede ver los datos deconfiguración y conformidad de varias cuentas y regiones en una sola cuenta. Como resultado, puedeidentificar recursos no conformes en varias cuentas.

Al hacer un seguimiento de sus secretos con AWS Config, un secreto se convierte en un recurso admitidoen AWS Config y puede realizar un seguimiento de los cambios en los metadatos secretos, como ladescripción secreta y la configuración de rotación, la relación con otras fuentes de AWS, como la claveKMS utilizada para el cifrado secreto, la función Lambda utilizada para el secreto rotación, así comoatributos como etiquetas asociadas a los secretos.

También puede aprovechar las reglas de configuración administradas de AWS para evaluar si laconfiguración de secretos cumple con los requisitos de seguridad y conformidad de su organización eidentificar secretos que no se ajustan a estos estándares.

152

Page 159: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioReglas de AWS Config admitidas en Secrets Manager

Temas

• Reglas de AWS Config admitidas en Secrets Manager• Implementación de prácticas recomendadas de administración de secretos mediante AWS Config• Configuración de las prácticas recomendadas del agregador de AWS Config para la administración de

secretos

Reglas de AWS Config admitidas en Secrets ManagerCuando usa AWS Config para evaluar las configuraciones de los recursos, puede evaluar la conformidadde las configuraciones de los recursos con respecto a las prácticas internas, las directrices del sector y lasnormativas. AWS Config admite las siguientes reglas para Secrets Manager:

• secretsmanager-rotation-enabled-check: comprueba si ha configurado la rotación para lossecretos almacenados en Secrets Manager. AWS Config comprueba que ha configurado los secretospara la rotación. Esta regla también admite maximumAllowedRotationFrequency, que si seespecifica, compara la configuración de frecuencia del secreto con el valor establecido en el parámetro.

• secretsmanager-scheduled-rotation-success-check: Comprueba si Secrets Manager rotacorrectamente los secretos. AWS Config verifica la regla y comprueba si la última fecha de rotación seencuentra dentro de la frecuencia de rotación configurada.

Para obtener más información acerca de las reglas y AWS Config, consulte la documentación delproducto de AWS Config.

Recursos admitidos en AWS Config para Secrets ManagerLos recursos de AWS son entidades que se crean y administran mediante la consola de administración deAWS, la interfaz de línea de comandos (CLI) de AWS, los SDK de AWS o las herramientas de socios deAWS. AWS Config se refiere a cada recurso utilizando un identificador único, como el ID de recurso o unNombre de recurso de Amazon (ARN).

AWS Config admite el recurso de Secrets Manager AWS::SecretsManager::Secret. Para obtener másinformación, consulte AWS Config Developer Guide.

Implementación de prácticas recomendadas deadministración de secretos mediante AWS ConfigSecrets Manager rota secretos como parte de un plan de seguridad de prácticas recomendadas. Con laregla administrada secretsmanager-rotation-enabled-check, AWS Config verifica la rotación desecretos en Secrets Manager.

Para obtener más información acerca de la configuración de reglas en AWS Config, consulte Reglas deAWS Config en la AWS Config Developer Guide.

Configuración de reglas Secrets Manager de AWSConfig

Important

Si utiliza la consola de AWS Config por primera vez, consulte la Configuración de AWS Config(consola).

153

Page 160: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConfiguración del agregador de datos de

varias cuentas y regiones de AWS Config paraprácticas recomendadas de Secrets Management

La página Rules ofrece reglas administradas iniciales de AWS que puede añadir a su cuenta. Despuésde la configuración, AWS Config evalúa sus recursos Secrets Manager de AWS en función de las reglasseleccionadas. Puede actualizar las reglas y crear reglas administradas adicionales después de laconfiguración.

1. Inicie sesión en la consola de AWS Config en https://console.aws.amazon.com/config/.2. Elija Settings. Asegúrese de habilitar el parámetro Recording is on (La grabación está activada).3. Elija Rules (Reglas).4. En la sección Rules (Reglas ), elija Add rule (Añadir regla).5. Escriba secretsmanager-rotation-enabled-check en el campo de filtro.6. Para configurar la regla secretsmanager-rotation-enabled-check, elija Rules (Reglas) en el

panel de la consola y a continuación, elija Add rule (Agregar regla).7. Localice la regla secretsmanager-rotation-enabled-check mediante la función de búsqueda.8. Cree un nombre único para la regla, como MySecretsRotationRule.9. Especifique una Remedial action (Acción correctiva) para recibir notificaciones sobre secretos no

conformes utilizando un tema Amazon SNS.10.Especifique un tema para la notificación de Amazon SNS.11.Elija Save (Guardar) para almacenar la regla en AWS Config

Una vez guardada la regla, AWS Config evalúa los secretos cada vez que cambian los metadatos de unsecreto. Si se producen cambios, recibirá una notificación de SNS sobre secretos no conformes. Tambiénpuede ver los resultados desde Rules (Reglas) o desde el panel de AWS Config.

Si elige la regla secretsmanager-rotation-check-mySecretsRotationRule de la lista de reglas, AWS Configmostrará una lista de secretos en su cuenta que no están configurados para la rotación. Debido a queidentificó los secretos, puede comenzar la implementación de las prácticas recomendadas para la rotaciónsecreta.

• Consulte la documentación de AWS Config en secretsmanager-rotation-enabled-check.• Consulte la documentación de AWS Config en secretsmanager-scheduled-rotation-enabled-success-check.

Visualización de las reglas de Secrets Manager en AWS ConfigPara ver las reglas de Secrets Manager en AWS Config Developer Guide, inicie sesión en la consola deAWS Config y elija Rules (Reglas). Elija la regla deseada y realice cualquiera de las siguientes opciones:

• View details (Ver detalles).• Edit rule (Editar regla)• Acciones

Para obtener más información acerca de cómo visualizar sus reglas, consulte la AWS Config DeveloperGuide.

Configuración del agregador de datos de variascuentas y regiones de AWS Config para prácticasrecomendadas de Secrets ManagementPuede configurar el agregador de varias cuentas y regiones de AWS Config para que revise lasconfiguraciones de sus secretos en todas las cuentas y regiones de su organización y, a continuación,

154

Page 161: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioConfiguración del agregador de datos de

varias cuentas y regiones de AWS Config paraprácticas recomendadas de Secrets Management

revisar las configuraciones secretas y compararlas con las prácticas recomendadas de administración desecretos.

Note

Debe habilitar AWS Config y las reglas administradas de AWS Config específicas de los secretosen todas las cuentas y regiones antes de crear un agregador. Puede utilizar CloudFormationStackSets para habilitar AWS Config y aprovisionar reglas en todas las cuentas y regiones aquí.Para obtener más información acerca del agregador de AWS Config consulte Acumulación dedatos de varias cuentas y regiones en la Guía del desarrollador de AWS Config.

Se crea un agregador a partir de la cuenta maestra de la organización o de cualquier cuenta de miembrode la organización. Utilice los siguientes pasos para crear un agregador de AWS Config.

1. Inicie sesión en la consola de AWS Config en https://console.aws.amazon.com/config/.2. Elija Aggregators (Agregadores) y, a continuación, Add Aggregator (Añadir agregador).3. En la sección Allow data replication (Permitir replicación de datos) marque la casilla Allow AWS Config

to replicate data (Permitir que AWS Config replique datos). Debe habilitar esta opción para proporcionara la cuenta maestra el acceso a la configuración de recursos y a los detalles de cumplimiento de todaslas cuentas y regiones de la organización.

4. Escriba un nombre único, que tenga hasta 64 caracteres alfanuméricos, para el agregador en el campoAggregator name (Nombre del agregador) .

5. En la sección Select source accounts (Seleccionar cuentas de origen) elija Add my organization(Agregar mi organización), y, a continuación, haga clic en Choose IAM role (Elegir rol de IAM).

6. En Regions (Regiones), seleccione todas las regiones aplicables a su organización y, a continuación,elija Save (Guardar).

Para ver un panel de todos los secretos de su organización, elija el nombre del agregador. Ahora puedever todos los secretos en todas las cuentas y regiones.

Para obtener más información sobre la configuración de agregadores de AWS Config, consulteConfiguración de un agregador mediante la consola.

Revise los datos para identificar todos los secretos no conformes de su organización. Trabaje con lospropietarios de cuentas individuales y secretos para aplicar las mejores prácticas de gestión de secretos,como garantizar la rotación de todos los secretos. Asegúrese de que todos los secretos cumplan suspolíticas de prácticas recomendadas para la frecuencia de rotación e identifique de forma proactiva lossecretos no utilizados y programe su eliminación.

Tip

Puede encontrar más información sobre Secrets Manager y AWS Config en la siguientedocumentación de AWS Config:

• Lista de reglas administradas de AWS Config• Tipos de recursos de AWS admitidos por AWS Config y relaciones de recursos• Notificaciones que AWS Config envía a un tema de Amazon SNS

155

Page 162: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioProtección de datos en AWS Secrets Manager

Seguridad en AWS Secrets ManagerLa seguridad de AWS es nuestra mayor prioridad. Como cliente de AWS, se beneficiará de unaarquitectura de red y un centro de datos diseñados para satisfacer los requisitos de seguridad de lasorganizaciones más exigentes.

Usted y AWS comparten la responsabilidad de la seguridad. El modelo de responsabilidad compartida ladescribe como seguridad de la nube y seguridad en la nube:

• Seguridad en la nube: AWS es responsable de proteger la infraestructura que ejecuta los servicios deAWS en la nube de AWS. AWS también le proporciona servicios que puede utilizar de forma segura.Auditores externos prueban y verifican periódicamente la eficacia de nuestra seguridad en el marcode los programas de conformidad de AWS. Para obtener más información acerca de los programasde conformidad que se aplican a AWS Secrets Manager, consulte Servicios de AWS en el ámbito delprograma de conformidad.

• Seguridad en la nube: su servicio de AWS determina su responsabilidad. También es responsable deotros factores, incluida la confidencialidad de los datos, los requisitos de la empresa y la legislación y losreglamentos aplicables.

Temas• Protección de datos en AWS Secrets Manager (p. 156)• Seguridad de la infraestructura en AWS Secrets Manager (p. 157)• Resiliencia en AWS Secrets Manager (p. 158)• Validación de la conformidad para AWS Secrets Manager (p. 158)

Protección de datos en AWS Secrets ManagerAWS Secrets Manager cumple los requisitos del modelo de responsabilidad compartida de AWS, queincluye reglamentos y directrices para la protección de los datos. AWS es responsable de proteger lainfraestructura global que ejecuta todos los servicios de AWS. AWS mantiene el control de los datosalojados en esta infraestructura, incluidos los controles de configuración de la seguridad para el tratamientodel contenido y los datos personales de los clientes. Los clientes de AWS y los socios de APN, que actúancomo controladores o procesadores de datos, son responsables de todos los datos personales quecolocan en la nube de AWS.

Para fines de protección de datos, le recomendamos que proteja las credenciales de la cuenta de AWS yconfigure cuentas de usuario individuales con AWS Identity and Access Management (IAM), de modo quea cada usuario reciba únicamente los permisos necesarios para llevar a cabo su trabajo.

Cifrado en reposoSecrets Manager utiliza el cifrado a través de AWS Key Management Service (KMS) para proteger laconfidencialidad de los datos en reposo. AWS KMS es un servicio de cifrado y almacenamiento de clavesque se utiliza en muchos servicios de AWS. AWS Secrets Manager asocia cada secreto con una clavemaestra del cliente (CMK) de AWS KMS. La CMK asociada puede ser la CMK de Secrets Managerpredeterminada para la cuenta o puede crear su propia CMK. Para obtener más información sobre lacreación de CMK, consulte Cómo AWS Secrets Manager usa AWS KMS.

156

Page 163: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCifrado en tránsito

Cifrado en tránsitoSecrets Manager proporciona puntos de enlace seguros y privados para cifrar datos en tránsito. Los puntosde enlace seguros y privados permiten a AWS proteger la integridad de las solicitudes de API a SecretsManager. AWS requiere que las llamadas a la API sean firmadas por el intermediario usando certificadosX.509 o una clave de acceso secreta de AWS Secrets Manager. Este requisito se indica en Proceso defirma de Signature Versión 4 (Sigv4).

Si utiliza la interfaz de línea de comandos (CLI) de AWS o cualquiera de los SDK de AWS para realizarllamadas a AWS, esas herramientas utilizan automáticamente la clave de acceso especificada para firmarlas solicitudes por usted. Al configurar la CLI o cualquiera de los SDK de AWS, se especifica la clave deacceso que se va a utilizar.

Administración de claves de cifradoCada vez que Secrets Manager tiene que cifrar una nueva versión de los datos secretos protegidos,Secrets Manager envía una solicitud a AWS KMS para generar una nueva clave de datos desde la CMKespecificada. Secrets Manager utiliza esta clave de datos para el cifrado de sobres. Secrets Manageralmacena la clave de datos cifrada con el secreto cifrado. Cuando haya que descifrar el secreto, SecretsManager pide a AWS KMS que descifre la clave de datos. Secrets Manager luego usa la clave de datosdescifrada para descifrar el secreto cifrado. Secrets Manager nunca almacena la clave de datos en formano cifrada, y elimina la clave de la memoria tan pronto como sea posible.

Para obtener más información sobre el proceso de cifrado y descifrado, así como una explicación completade cómo Secrets Manager utiliza AWS KMS, consulte Cómo AWS Secrets Manager utiliza AWS KMS.

Privacidad del tráfico entre redesAWS ofrece opciones para mantener la privacidad al enrutar el tráfico a través de rutas de red conocidas yprivadas.

Tráfico entre el servicio y aplicaciones y clientes localesTiene dos opciones de conectividad entre su red privada y AWS Secrets Manager:

• Una conexión de Site-to-Site VPN de AWS. Para obtener más información, consulte ¿Qué es AWS Site-to-Site VPN?

• Una conexión AWS Direct Connect. Para obtener más información, consulte ¿Qué es AWS DirectConnect?

Tráfico entre recursos de AWS en la misma regiónSi quiere proteger el tráfico entre Secrets Manager y los clientes de API en AWS, configure un AWSPrivateLink para acceder de forma privada a los puntos de enlace de la API de Secrets Manager.

Seguridad de la infraestructura en AWS SecretsManager

Al tratarse de un servicio administrado, AWS Secrets Manager está protegido por los procedimientos deseguridad de red globales de AWS que se describen en el documento técnico Amazon Web Services:Información general sobre procesos de seguridad.

157

Page 164: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioResiliencia

Puede utilizar las llamadas a la API publicadas en AWS para obtener acceso a Secrets Manager a travésde la red. Los clientes deben ser compatibles con Transport Layer Security (TLS) 1.1 o una versiónposterior. Le recomendamos TLS 1.2 o una versión posterior. Los clientes también deben ser compatiblescon conjuntos de cifrado con confidencialidad directa total (PFS) tales como Ephemeral Diffie-Hellman(DHE) o Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La mayoría de los sistemas modernos comoJava 7 y posteriores son compatibles con estos modos.

Además, las solicitudes deben estar firmadas mediante un ID de clave de acceso y una clave de accesosecreta que esté asociada a una entidad principal de IAM. También puede utilizar AWS Security TokenService (AWS STS) para generar credenciales de seguridad temporales para firmar solicitudes.

Resiliencia en AWS Secrets ManagerAWS conforma la infraestructura global en torno a regiones y zonas de disponibilidad de AWS. Lasregiones de AWS proporcionan varias zonas de disponibilidad físicamente independientes y aisladas quese conectan mediante redes con un alto nivel de rendimiento y redundancia, además de baja latencia.Con las zonas de disponibilidad, puede diseñar y utilizar aplicaciones y bases de datos que realizanuna conmutación por error automática entre las zonas sin interrupciones. Las zonas de disponibilidadle permiten tener una mayor disponibilidad, tolerancia a errores y escalabilidad que las infraestructurastradicionales de centros de datos únicos o múltiples.

Para obtener más información sobre zonas de disponibilidad y las regiones de AWS, consulteInfraestructura global de AWS.

Validación de la conformidad para AWS SecretsManager

Los auditores externos evalúan la seguridad y la conformidad de AWS Secrets Manager en distintosprogramas de conformidad de AWS. Esto incluye SOC, PCI, HIPAA y otros.

Para obtener una lista de servicios de AWS en el ámbito de programas de conformidad específicos,consulte Servicios de AWS en el ámbito del programa de conformidad. Para obtener información general,consulte Programas de conformidad de AWS.

Puede descargar los informes de auditoría de terceros utilizando AWS Artifact. Para obtener másinformación, consulte Descarga de informes en AWS Artifact.

La responsabilidad respecto a la conformidad que recae en usted al utilizar Secrets Manager vienedeterminada por la confidencialidad de los datos, los objetivos de conformidad de su empresa y lalegislación y normativas aplicables. AWS proporciona los siguientes recursos para ayudarle con losrequisitos de conformidad:

• Guías de inicio rápido de seguridad y conformidad– estas guías de implementación tratanconsideraciones sobre arquitectura y ofrecen pasos para implementar los entornos de referenciacentrados en la seguridad y la conformidad en AWS.

• Documento técnico sobre arquitectura para seguridad y conformidad de HIPAA– este documento técnicodescribe cómo las empresas pueden utilizar AWS para crear aplicaciones conformes con HIPAA.

• Recursos de conformidad de AWS – este conjunto de manuales y guías podría aplicarse a su sector yubicación.

• Evaluación de recursos con reglas en la Guía para desarrolladores de AWS Config – el servicio AWSConfig evalúa en qué medida las configuraciones de los recursos cumplen con las prácticas internas, lasdirectrices del sector y las normativas.

158

Page 165: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioValidación de la conformidad

• AWS Security Hub: este servicio de AWS ofrece una vista integral de su estado de seguridad en AWSque le ayuda a comprobar la conformidad con las normas del sector de seguridad y las prácticasrecomendadas.

159

Page 166: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCuotas para AWS Secrets Manager

Referencia de AWS Secrets ManagerConsulte los temas de esta sección para encontrar información de referencia detallada de distintosaspectos de AWS Secrets Manager.

Temas• Cuotas para AWS Secrets Manager (p. 160)• Plantillas de AWS Plantillas de que puede utilizar para crear funciones de rotación de Lambda

(p. 161)• Políticas administradas de AWS disponibles para su uso con AWS Secrets Manager (p. 169)• Acciones, recursos y claves de contexto que puede utilizar en una política de IAM o política de

secretos para AWS Secrets Manager (p. 170)

Cuotas para AWS Secrets ManagerEn esta sección se especifican las cuotas para AWS Secrets Manager.

Restricciones a los nombresAWS Secrets Manager tiene las siguientes restricciones en los nombres que cree, incluidos los nombresde secretos:

• Los nombres de los secretos deben usar caracteres Unicode.• Los nombres de los secretos no deben superar los 512 caracteres de longitud.

Cuotas máximasLas siguientes son las cuotas máximas predeterminadas para las entidades de AWS Secrets Manager:

Entidad Valor

Secretos en una cuentade AWS

40,000

Versiones de un secreto ~100

Etiquetas asociadas entodas las versiones deun secreto

20

Versiones asociadas auna etiqueta al mismotiempo

1

Longitud de un secreto 65.536 bytes

Longitud máxima deuna política basada enrecursos - Texto JSON

20.480 caracteres

160

Page 167: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCuotas de tarifas

Cuotas de tarifasEstos parámetros tienen las siguientes cuotas de tasas para AWS Secrets Manager:

Tipo de solicitud Número de operaciones permitidas por segundo

Cuota global de APIpara la cuenta

2,000

DescribeSecret

GetSecretValue

2,000

PutResourcePolicy

GetResourcePolicy

DeleteResourcePolicy

CreateSecret

UpdateSecret

UpdateSecretVersionStage

PutSecretValue

DeleteSecret

RestoreSecret

RotateSecret

CancelRotateSecret

AssociateSecretLabels

DisassociateSecretLabels

GetRandomPassword

40

TagResource

UntagResource

ListSecrets

ListSecretVersionIds

20

Plantillas de AWS Plantillas de que puede utilizarpara crear funciones de rotación de Lambda

En esta sección se identifican las plantillas administradas por AWS que puede utilizar para crear unafunción de rotación de Lambda para su secreto de AWS Secrets Manager. Estas plantillas se asocian conla AWS Serverless Application Repository, que utiliza AWS CloudFormation para crear "pilas" de recursos

161

Page 168: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para bases de datos de Amazon RDS

preconfigurados. En este caso, las plantillas crean una pila que se compone de la función de Lambda y unrol de IAM que Secrets Manager puede asumir para invocar la función cuando se produce la rotación.

Para crear una función de rotación Lambda con cualquiera de las siguientes plantillas, puede copiar ypegar el ARN de la plantilla especificada en los comandos de la CLI que se describen en el tema Rotaciónde secretos de AWS Secrets Manager para otras bases de datos o servicios (p. 103).

Cada una de las plantillas siguientes crea una función de rotación Lambda para una combinación distintade base de datos y estrategia de rotación. El primer punto en cada una muestra la base de datos o elservicio compatible con la función. El segundo punto describe la estrategia de rotación implementada porla función. El tercer punto especifica la estructura JSON que la función de rotación espera encontrar en elvalor SecretString del secreto que se rota.

Bases de datos de RDS

• Usuario único de MariaDB en RDS (p. 162)• Usuario maestro de MariaDB en RDS (p. 163)• Usuario único de MySQL en RDS (p. 163)• Usuarios múltiples MySQL de RDS (p. 164)• Usuario único de Oracle en RDS (p. 164)• Usuario maestro de Oracle en RDS (p. 165)• Usuario único de PostgreSQL en RDS (p. 165)• Usuario maestro de PostgreSQL en RDS (p. 166)• Usuario único de Microsoft SQL Server en RDS (p. 166)• Usuario maestro de Microsoft SQL Server en RDS (p. 167)

Otras bases de datos o servicios

• Usuario único de MongoDB (p. 167)• Usuario maestro de MongoDB (p. 168)• Usuario único de Amazon Redshift (p. 168)• Usuario maestro de Amazon Redshift (p. 169)• Plantilla de función de rotación genérica (p. 169)

Plantillas para bases de datos de Amazon RDSUsuario único de MariaDB en RDS

arn:aws:serverlessrepo:us-east-1:1234456789012:applications/SecretsManagerRDSMariaDBRotationSingleUser

• Nombre: SecretsManagerRDSMariaDBRotationSingleUser• Base de datos/servicio admitido: base de datos de MariaDB alojada en una instancia de base de datos

de Amazon Relational Database Service (Amazon RDS).• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

162

Page 169: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para bases de datos de Amazon RDS

{ "engine": "mariadb", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>"}

• Código fuente

Usuario maestro de MariaDB en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSMariaDBRotationMultiUser

• Nombre: SecretsManagerRDSMariaDBRotationMultiUser• Base de datos/servicio admitido: base de datos de MariaDB alojada en una instancia de base de datos

de Amazon RDS.• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente, almacenado en un secreto separado. Secrets Manager cambia lacontraseña del usuario inactivo antes de que el usuario se convierta en el usuario activo. Para obtenermás información acerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "mariadb", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Usuario único de MySQL en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSMySQLRotationSingleUser

• Nombre: SecretsManagerRDSMySQLRotationSingleUser• Base de datos/servicio admitido: base de datos MySQL alojada en una instancia de base de datos de

Amazon Relational Database Service (Amazon RDS).• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

{

163

Page 170: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para bases de datos de Amazon RDS

"engine": "mysql", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>"}

• Código fuente

Usuarios múltiples MySQL de RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSMySQLRotationMultiUser

• Nombre: SecretsManagerRDSMySQLRotationMultiUser• Base de datos/servicio admitido: base de datos MySQL alojada en una instancia de base de datos de

Amazon RDS.• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente, almacenado en un secreto separado. Secrets Manager cambia lacontraseña del usuario inactivo antes de que el usuario se convierta en el usuario activo. Para obtenermás información acerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "mysql", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Usuario único de Oracle en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSOracleRotationSingleUser

• Nombre: SecretsManagerRDSOracleRotationSingleUser• Base de datos/servicio admitido: base de datos de Oracle alojada en una instancia de base de datos de

Amazon Relational Database Service (Amazon RDS).• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

{ "engine": "oracle", "host": "<required: instance host name/resolvable DNS name>",

164

Page 171: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para bases de datos de Amazon RDS

"username": "<required: username>", "password": "<required: password>", "dbname": "<required: database name>", "port": "<optional: TCP port number. If not specified, defaults to 1521>"}

• Código fuente

Usuario maestro de Oracle en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSOracleRotationMultiUser

• Nombre: SecretsManagerRDSOracleRotationMultiUser• Base de datos/servicio admitido: base de datos de Oracle alojada en una instancia de base de datos de

Amazon RDS.• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente, almacenado en un secreto separado. Secrets Manager cambia lacontraseña del usuario inactivo antes de que el usuario se convierta en el usuario activo. Para obtenermás información acerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "oracle", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<required: database name>", "port": "<optional: TCP port number. If not specified, defaults to 1521>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Usuario único de PostgreSQL en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSPostgreSQLRotationSingleUser

• Nombre: SecretsManagerRDSPostgreSQLRotationSingleUser• Base de datos/servicio admitido: base de datos de PostgreSQL alojada en una instancia de base de

datos de Amazon RDS.• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

{ "engine": "postgres", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>",

165

Page 172: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para bases de datos de Amazon RDS

"dbname": "<optional: database name. If not specified, defaults to 'postgres'>", "port": "<optional: TCP port number. If not specified, defaults to 5432>"}

• Código fuente

Usuario maestro de PostgreSQL en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSPostgreSQLRotationMultiUser

• Nombre: SecretsManagerRDSPostgreSQLRotationMultiUser• Base de datos/servicio admitido: base de datos de PostgreSQL alojada en una instancia de base de

datos de Amazon RDS.• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente, almacenado en un secreto separado. Secrets Manager cambia lacontraseña del usuario inactivo antes de que el usuario se convierta en el usuario activo. Para obtenermás información acerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "postgres", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'postgres'>", "port": "<optional: TCP port number. If not specified, defaults to 5432>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Usuario único de Microsoft SQL Server en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSSQLServerRotationSingleUser

• Nombre: SecretsManagerRDSSQLServerRotationSingleUser• Base de datos/servicio admitido: base de datos de Microsoft SQL Server alojada en una instancia de

base de datos de Amazon RDS.• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

{ "engine": "sqlserver", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'master'>", "port": "<optional: TCP port number. If not specified, defaults to 1433>"

166

Page 173: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para otras bases de datos

}

• Código fuente

Usuario maestro de Microsoft SQL Server en RDS

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRDSSQLServerRotationMultiUser

• Nombre: SecretsManagerRDSSQLServerRotationMultiUser• Base de datos/servicio admitido: base de datos de Microsoft SQL Server alojada en una instancia de

base de datos de Amazon RDS.• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente, almacenado en un secreto separado. Secrets Manager cambia lacontraseña del usuario inactivo antes de que el usuario se convierta en el usuario activo. Para obtenermás información acerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "sqlserver", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to 'master'>", "port": "<optional: TCP port number. If not specified, defaults to 1433>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Plantillas para otras bases de datosUsuario único de MongoDB

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerMongoDBRotationSingleUser

• Nombre: SecretsManagerMongoDBRotationSingleUser• Base de datos/servicio admitido: base de datos MongoDB versión 3.2 o 3.4.• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

{ "engine": "mongo", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>",

167

Page 174: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para otras bases de datos

"port": "<optional: TCP port number. If not specified, defaults to 27017>"}

• Código fuente: código fuente

Usuario maestro de MongoDB

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerMongoDBRotationMultiUser

• Nombre: SecretsManagerMongoDBRotationMultiUser• Base de datos o servicio admitido: base de datos MongoDB versión 3.2 o 3.4.• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente y se almacenan en un secreto separado.Secrets Manager cambia lacontraseña del usuario inactivo antes de que el usuario se convierta en el usuario activo. Para obtenermás información acerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manageralternando entre dos usuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "mongo", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 27017>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Usuario único de Amazon Redshift

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRedShiftRotationSingleUser

• Nombre: SecretsManagerRedShiftRotationSingleUser• Base de datos/servicio admitido: Amazon Redshift• Estrategia de rotación: esto cambia la contraseña de un usuario con credenciales almacenadas en el

secreto que se ha rotado. Para obtener más información acerca de esta estrategia, consulte Rotación desecretos de AWS Secrets Manager para un usuario con una sola contraseña (p. 112).

• Estructura de SecretString esperada:

{ "engine": "redshift", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 5439>"}

• Código fuente

168

Page 175: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPlantillas para otros servicios

Usuario maestro de Amazon Redshift

arn:aws:serverlessrepo:us-east-1:123456789012:applications/SecretsManagerRedShiftRotationMultiUser

• Nombre: SecretsManagerRedShiftRotationMultiUser• Base de datos/servicio admitido: Amazon Redshift• Estrategia de rotación: dos usuarios se alternan durante la rotación utilizando las credenciales de un

usuario maestro independiente, almacenado en un secreto separado. Secrets Manager cambia lacontraseña del usuario inactivo antes de convertirse en el usuario activo. Para obtener más informaciónacerca de esta estrategia, consulte Rotación de secretos de AWS Secrets Manager alternando entre dosusuarios existentes (p. 116).

• Estructura de SecretString esperada:

{ "engine": "redshift", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>", "password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to ?????>", "masterarn": "<required: the ARN of the master secret used to create 2nd user and change passwords>"}

• Código fuente

Plantillas para otros serviciosPlantilla de función de rotación genérica

arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRotationTemplate

• Nombre: SecretsManagerRotationTemplate• Base de datos/servicio admitido: Ninguno. Proporcione el código para interactuar con el servicio que

desee.• Estrategia de rotación: Ninguna. Proporcione el código para implementar la estrategia de rotación que

desee. Para obtener más información acerca del modo de personalizar su propia función, consulteDescripción y personalización de la función de rotación de Lambda (p. 108).

• Estructura de SecretString esperada: La define como parte del código que haya escrito.• Código fuente: Código fuente

Políticas administradas de AWS disponibles para suuso con AWS Secrets Manager

En esta sección, se identifican las políticas administradas por AWS que puede utilizar para ayudar aadministrar el acceso a los secretos. No puede modificar ni eliminar una política administrada de AWS,pero puede asociarla o separarla de las entidades de su cuenta según sea necesario.

169

Page 176: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAcciones, recursos y claves de contexto

Nombre dela política

Descripción ARN

SecretsManagerReadWriteProporciona acceso a la mayoría de lasoperaciones de Secrets Manager. Lapolítica no permite configurar la rotaciónporque la rotación requiere permisos deIAM para crear roles. Para alguien quedebe configurar funciones de rotaciónLambda y habilitar la rotación, tambiéndebe asignar la política administradaIAMFullAccess.

arn:aws:iam::aws:policy/SecretsManagerReadWrite

Acciones, recursos y claves de contexto que puedeutilizar en una política de IAM o política de secretospara AWS Secrets Manager

Acciones a las que se puede hacer referencia en unapolítica de IAM o política de secretoEn la siguiente tabla se enumeran los permisos que puede especificar en una política de IAM o política desecretos para controlar el acceso a sus secretos. Cada permiso de un elemento "Action" puede asociarsecon un elemento "Resource", que especifica lo que puede hacer la acción.

Puede restringir el uso de algunas acciones únicamente a secretos con nombres de recurso de Amazon(ARN) que coinciden con el elemento Resource en la política. Consulte la sección Recursos a los que sepuede hacer referencia en una política de IAM o política de secreto (p. 173) más adelante en este tema.

Además de las claves de contexto específicas de AWS Secrets Manager que se muestran en la últimacolumna, utilice también las Claves de contexto de condición globales de AWS.

Si ve una flecha hacia arriba (↗) en la esquina superior derecha de la tabla, puede abrir la tabla en unanueva ventana. Para cerrar la ventana, elija el botón de cierre (X) en la esquina inferior derecha.

Permiso para el elemento"Action"

Operación de la APIhabilitada por estaacción

ARN de recursosutilizados como"recurso" con estaacción

Claves de contextode Secrets Managerutilizadas con estaacción

secretsmanager:CancelRotateSecretCancelRotateSecret Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/tag-key (p. 174)

secretsmanager:CreateSecret CreateSecret   secretsmanager:Name (p. 174)

secretsmanager:Description (p. 174)

secretsmanager:KmsKeyId (p. 174)

170

Page 177: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioActions

Permiso para el elemento"Action"

Operación de la APIhabilitada por estaacción

ARN de recursosutilizados como"recurso" con estaacción

Claves de contextode Secrets Managerutilizadas con estaacciónsecretsmanager:ResourceTag/tag-key (p. 174)

secretsmanager:DeleteResourcePolicyDeleteResourcePolicy Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/tag-key (p. 174)

secretsmanager:DeleteSecret DeleteSecret Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:DescribeSecretDescribeSecret Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:RecoveryWindowInDays (p. 174)

secretsmanager:ForceDeleteWithoutRecovery (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:GetRandomPasswordGetRandomPassword    

secretsmanager:GetResourcePolicyGetResourcePolicy Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:GetSecretValueGetSecretValue Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:VersionId (p. 175)

secretsmanager:VersionStage (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:ListSecrets ListSecrets    

secretsmanager:ListSecretVersionIdsListSecretVersionIds Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

171

Page 178: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioActions

Permiso para el elemento"Action"

Operación de la APIhabilitada por estaacción

ARN de recursosutilizados como"recurso" con estaacción

Claves de contextode Secrets Managerutilizadas con estaacción

secretsmanager:PutResourcePolicyPutResourcePolicy Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:PutSecretValuePutSecretValue Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:RestoreSecretRestoreSecret Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:RotateSecret RotateSecret Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:RotationLambdaArn (p. 174)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:TagResource TagResource Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:UntagResourceUntagResource Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

secretsmanager:UpdateSecretUpdateSecret Secret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:Description (p. 174)

secretsmanager:KmsKeyId (p. 174)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

172

Page 179: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioRecursos

Permiso para el elemento"Action"

Operación de la APIhabilitada por estaacción

ARN de recursosutilizados como"recurso" con estaacción

Claves de contextode Secrets Managerutilizadas con estaacción

secretsmanager:UpdateSecretVersionStageUpdateSecretVersionStageSecret (p. 173) secretsmanager:SecretId (p. 175)

secretsmanager:VersionStage (p. 175)

secretsmanager:AllowRotationLambdaArn (p. 174)

secretsmanager:ResourceTag/<tag-key> (p. 174)

Recursos a los que se puede hacer referencia en unapolítica de IAM o política de secretoEn la siguiente tabla se muestran los formatos de ARN compatibles en las políticas de IAM para AWSSecrets Manager. Puede ver los ID de cada entidad en la página Secret details (Detalles del secreto) decada secreto en la consola de Secrets Manager.

Si ve una flecha hacia arriba (↗) en la esquina superior derecha de la tabla, puede abrir la tabla en unanueva ventana. Para cerrar la ventana, elija el botón de cierre (X) en la esquina inferior derecha.

Tipo de recurso Formato de ARN

secreta arn:aws:secretsmanager:<Region>:<AccountId>:secret:OptionalPath/SecretName-6RandomCharacters

Secrets Manager crea la última parte del ARN anexando un guion y seis caracteres alfanuméricosaleatorios al final del nombre del secreto. Si elimina un secreto y después crea otro con el mismo nombre,este formato ayuda a garantizar que las personas con permisos para el secreto original no obtenganautomáticamente acceso al nuevo secreto porque Secrets Manager genera seis caracteres aleatoriosdiferentes.

Claves de contexto a las que se puede hacerreferencia en una política de IAM o política de secretoLas claves de contexto en AWS Secrets Manager, por lo general, corresponden a los parámetros desolicitud de una llamada a la API. De este modo, puede permitir o bloquear cualquier solicitud en funcióndel valor del parámetro.

Cada clave de contexto se puede comparar utilizando un operador de condición con un valor especificado.Las claves de contexto que usted utilice dependen de la acción seleccionada. Consulte la columna "Clavesde contexto" en la sección Acciones (p. 170) al principio de este tema.

Por ejemplo, podría permitir que alguien recuperara solo la versión AWSCURRENT del valor del secretoutilizando un elemento Condition similar al siguiente:

"Condition": {"ForAnyValue:StringEquals" : {"secretsmanager:VersionStage" : "AWSCURRENT"}}

173

Page 180: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioClaves de contexto

En la siguiente tabla se muestran las claves de contexto específicas de Secrets Manager que puedeespecificar en el elemento Condition de una política de permisos de IAM para un acceso de control másdetallado a una acción. Además de las claves siguientes, también puede utilizar las Claves de contexto decondición globales de AWS.

Claves de contexto para el elemento"Condition" (Condición)

Descripción

secretsmanager:Resource/AllowRotationLambdaArn

Filtra la solicitud según el ARN de lafunción de rotación de Lambda asociadaal recurso al que se dirige la solicitud.Esto le permite restringir el accesosolo a aquellos secretos con un ARNLambda de rotación que coincide coneste valor. Los secretos sin una rotaciónhabilitada o con un ARN de Lambda derotación diferente no coinciden.

secretsmanager:Description

Filtra la solicitud según el parámetroDescription de la solicitud.

secretsmanager:ForceDeleteWithoutRecovery

Filtra la solicitud en función de si laeliminación no especifica ningunaventana de recuperación. Esto lepermite desactivar esta funcionalidad deforma eficaz.

secretsmanager:KmsKeyId

Filtra la solicitud según el parámetroKmsKeyId de la solicitud. Esto le permitelimitar las claves que se pueden usar enuna solicitud.

secretsmanager:Name

Filtra la solicitud según el valor delparámetro Name de la solicitud. Estole permite restringir el nombre de unsecreto solo al que coincida con estevalor.

secretsmanager:RecoveryWindowInDays

Filtra la solicitud en función de laventana de recuperación especificada.Permite hacer que sea obligatorioque las ventanas de recuperación seproduzcan siempre en un número dedías aprobado.

secretsmanager:ResourceTag/<tag-key>

Filtra la solicitud según una etiquetaadjuntada al secreto. Sustituya <tag-key> por el nombre de etiquetareal. A continuación puede utilizaroperadores de condición para garantizarla presencia de la etiqueta y contiene elvalor solicitado.

secretsmanager:RotationLambdaArn

Filtra la solicitud en función delparámetro RotationLambdaARN.Esto le permite restringir qué funcionesde rotación de Lambda se pueden

174

Page 181: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioClaves de contexto

Claves de contexto para el elemento"Condition" (Condición)

Descripción

utilizar con un secreto. La clave sepuede utilizar con CreateSecret y lasoperaciones que modifican los secretosexistentes.

secretsmanager:SecretId

Filtra la solicitud en función delidentificador único del secreto que seproporciona en el parámetro SecretId.El valor puede ser el nombre fácil derecordar o el ARN del secreto. Esto lepermite limitar los secretos a los que sepuede obtener acceso mediante unasolicitud.

secretsmanager:VersionId

Filtra la solicitud según el parámetroVersionId de la solicitud. Esto le permiterestringir las versiones de un secreto alas que se puede obtener acceso.

secretsmanager:VersionStage

Filtra la solicitud según las etiquetas deensayo identificadas en el parámetroVersionStage de una solicitud. Esto lepermite restringir el acceso solo a lasversiones de secreto que tengan unaetiqueta de ensayo que coincida conuno de los valores de este parámetrode matriz de cadenas. Debido a que laclave utiliza una matriz de cadenas devarios valores, debe utilizar uno de losoperadores de conjunto para compararlas cadenas con este valor.

Claves de condición globales de AWSAWS proporciona claves de condición globales, un conjunto de claves de condición predefinidas paratodos los servicios de AWS que utilizan IAM para el control de acceso. Por ejemplo, puede utilizar la clavede condición aws:PrincipalType para permitir únicamente el acceso cuando la entidad principal de lasolicitud contiene el tipo especificado.

Secrets Manager admite todas las claves de condición globales, incluidas las claves de condiciónaws:TagKeys y aws:RequestTag que controlan el acceso en función de la etiqueta de recurso de lasolicitud. Algunos, no todos los servicios de AWS son compatibles con estas claves de condición.

Temas• Uso de la condición de dirección IP en políticas con permisos de Secrets Manager (p. 175)• Uso de condiciones de punto de enlace de la VPC en políticas con permisos de Secrets

Manager (p. 176)

Uso de la condición de dirección IP en políticas con permisos de Secrets ManagerPuede utilizar Secrets Manager para proteger sus credenciales para una base de datos o servicio. Noobstante, tenga cuidado al especificar los operadores de condición de dirección IP o la clave de condiciónaws:SourceIp en la misma instrucción de política que permite o deniega el acceso a Secrets Manager.

175

Page 182: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioClaves de contexto

Por ejemplo, la política de AWS: deniega acceso a AWS en función de la dirección IP de origen restringelas acciones de AWS a las solicitudes del intervalo de direcciones IP especificado.

Si asocia una política similar a un secreto de forma que se pueda acceder a este secreto desde el intervalode direcciones IP de la red corporativa, las solicitudes que realice como un usuario de IAM que invoca lasolicitud desde la red corporativa funcionarán de la manera prevista. Sin embargo, si habilita otros serviciospara obtener acceso al secreto en su nombre, como, por ejemplo, cuando se habilita la rotación con unafunción de Lambda, dicha función llama a las operaciones de Secrets Manager desde un espacio dedirecciones internas de AWS. Las solicitudes afectadas por la política con el filtro de dirección IP generaránun error.

Además, la clave de condición aws:sourceIP es menos efectiva si la solicitud procede de un puntode enlace de la VPC de Amazon. Para restringir las solicitudes a un punto de enlace de la VPCespecífica, incluido un punto de enlace de la VPC de Secrets Manager, utilice las claves de condiciónaws:sourceVpce o aws:sourceVpc. Para obtener más información, consulte Puntos de enlace de VPC:controlar el uso de los puntos de enlace en la Guía del usuario de Amazon VPC.

Uso de condiciones de punto de enlace de la VPC en políticas con permisos deSecrets Manager

Secrets Manager admite puntos de enlace de Amazon VPC (p. 126) proporcionados por AWS PrivateLink.Puede utilizar las siguientes claves de condición globales en las políticas de IAM o políticas basadas enrecursos (p. 47) para permitir o denegar el acceso a solicitudes desde una VPC o punto de enlace de laVPC particular.

• aws:SourceVpc limita el acceso a las solicitudes procedentes de la VPC especificada.• aws:SourceVpce limita el acceso a las solicitudes procedentes del punto de conexión de la VPC

especificado.

Si utiliza estas claves de condición en una declaración de política de secreto que permite o deniega elacceso a los secretos de Secrets Manager, puede denegar el acceso de forma accidental a los serviciosque Secrets Manager utiliza para obtener acceso a los secretos en su nombre. Solo algunos serviciosde AWS pueden ejecutarse con un punto de enlace dentro de la VPC. Si restringe las solicitudes de unsecreto a una VPC o un punto de enlace de la VPC, pueden producirse errores si las llamadas a SecretsManager se realizan desde un servicio que no esté configurado.

176

Page 183: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioSolución de problemas generales

Solución de problemas de AWSSecrets Manager

Si surgen problemas a la hora de trabajar con AWS Secrets Manager, consulte los temas de esta sección.

Temas• Solución de problemas generales (p. 177)• Solución de problemas de rotación de secretos en AWS Secrets Manager (p. 179)

Solución de problemas generalesUtilice la información aquí ofrecida para diagnosticar y solucionar los problemas de acceso denegado uotros problemas comunes que puedan surgir al trabajar con AWS Secrets Manager.

Temas• Aparece un mensaje de "acceso denegado" al enviar una solicitud a AWS Secrets Manager (p. 177)• Recibo un mensaje de "acceso denegado" cuando envío una solicitud con credenciales de seguridad

temporales. (p. 177)• Los cambios que realizo no están siempre visibles inmediatamente. (p. 178)• Recibo un mensaje “no se puede generar una clave de datos con una CMK asimétrica” al crear un

secreto. (p. 178)

Aparece un mensaje de "acceso denegado" al enviaruna solicitud a AWS Secrets Manager• Compruebe que tiene permisos para llamar a la operación y a los recursos que ha solicitado. Un

administrador debe conceder permisos asociando una política de IAM a su usuario de IAM o a un grupodel que sea miembro. Si las instrucciones de la política que conceden esos permisos incluyen algunacondición, como la hora del día o restricciones de direcciones IP, también debe cumplir esos requisitoscuando envíe la solicitud. Para obtener más información acerca del modo de consultar o modificarpolíticas para un usuario, grupo o rol de IAM, consulte Administración de políticas de IAM en la Guía delusuario de IAM.

• Si va a firmar las solicitudes API manualmente, sin usar los SDK de AWS, compruebe que haya firmadola solicitud correctamente.

Recibo un mensaje de "acceso denegado" cuandoenvío una solicitud con credenciales de seguridadtemporales.• Compruebe que el usuario o rol de IAM que está utilizando para realizar la solicitud tiene los permisos

adecuados. Los permisos de credenciales de seguridad temporales se obtienen de un usuario o un rol

177

Page 184: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioLos cambios que realizo no estánsiempre visibles inmediatamente.

de IAM. Esto significa que los permisos están limitados a los que se conceden al usuario o al rol de IAM.Para obtener más información acerca del modo en que se determinan los permisos de las credencialesde seguridad temporales, consulte Solicitud de credenciales de seguridad temporales en la Guía delusuario de IAM.

• Compruebe que las solicitudes se han firmado correctamente y que la solicitud tiene el formato correcto.Para obtener más información, consulte la documentación del conjunto de herramientas del SDKseleccionado o Uso de credenciales de seguridad temporales para solicitar acceso a los recursos deAWS en la Guía del usuario de IAM.

• Compruebe que sus credenciales de seguridad temporales no hayan caducado. Para obtener másinformación, consulte Solicitud de credenciales de seguridad temporales en la Guía del usuario de IAM.

Los cambios que realizo no están siempre visiblesinmediatamente.Al ser un servicio al que se obtiene acceso a través de equipos de centros de datos en todo el mundo,AWS Secrets Manager utiliza un modelo de computación distribuida llamado consistencia final. Cualquiercambio que realice en Secrets Manager (o en otros servicios de AWS) tardará en aparecer en todos lospuntos de enlace posibles. Este retraso se debe en parte al tiempo que se tarda en enviar los datos deun servidor a otro, de una zona de replicación a otra y entre regiones de todo el mundo. Secrets Managertambién usa almacenamiento en caché para mejorar el rendimiento, pero en algunos casos eso puedegenerar retrasos. Es posible que el cambio no sea visible hasta que se agoten los datos previamentealmacenados.

Diseñe sus aplicaciones globales teniendo en cuenta estos posibles retrasos. Además, asegúrese deque funcionan según lo previsto, incluso cuando un cambio realizado en una ubicación no sea visibleinmediatamente en otra.

Para obtener más información acerca del modo en que esto afecta a otros servicios de AWS, consulte lossiguientes recursos:

• Administración de la coherencia de los datos en la Amazon Redshift Database Developer Guide• Modelo de coherencia de datos de Amazon S3 en la Guía para desarrolladores de Amazon Simple

Storage Service• Ensuring Consistency When Using Amazon S3 and Amazon Elastic MapReduce for ETL Workflows en el

blog de big data de AWS• Coherencia eventual de EC2 en la Amazon EC2 API Reference•

Recibo un mensaje “no se puede generar una clavede datos con una CMK asimétrica” al crear un secreto.Compruebe que está utilizando una clave maestra de cliente (CMK) simétrica en lugar de una CMKasimétrica. Secrets Manager utiliza una clave maestra de cliente (CMK) simétrica asociada a un secretopara generar una clave de datos para cada valor secreto. Secrets Manager también usa la CMKpara descifrar la clave de datos cuando necesita descifrar el valor secreto cifrado. Puede realizar unseguimiento de las solicitudes y respuestas en eventos de AWS CloudTrail, Amazon CloudWatch Logs ypistas de auditoría. No se puede utilizar una CMK asimétrica en este momento.

178

Page 185: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioSolución de problemas de rotación

Solución de problemas de rotación de secretos enAWS Secrets Manager

Utilice la información que se indica aquí para diagnosticar y solucionar los errores comunes que puedansurgir al rotar secretos en Secrets Manager.

La rotación de secretos en AWS Secrets Manager requiere el uso de una función Lambda que defina cómointeractuar con la base de datos o el servicio al que pertenece el secreto.

Errores de rotación comunes• Deseo encontrar los registros de diagnóstico para mi función de rotación Lambda. (p. 179)• No puedo predecir cuándo comenzará la rotación (p. 179)• Aparece un mensaje de "acceso denegado" al intentar configurar la rotación para mi secreto (p. 180)• Se produce un error en la rotación después de habilitarla (p. 180)• Se ha producido un error en la rotación porque el valor del secreto no tiene el formato que espera la

función de rotación. (p. 180)• Secrets Manager indica que he configurado correctamente la rotación, pero la contraseña no

rota (p. 181)• Se produce un error en la rotación y se muestra el mensaje "Error interno" (p. 181)• CloudTrail muestra errores de acceso denegado durante la rotación (p. 181)

Deseo encontrar los registros de diagnóstico para mifunción de rotación Lambda.Si la función de rotación no se comporta del modo esperado, lo primero que debe comprobar son losregistros de CloudWatch. Secrets Manager proporciona el código de la plantilla de la función Lambda derotación que escribe mensajes de error en el registro de CloudWatch.

Para ver los registros de CloudWatch para la función Lambda

1. Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.2. En la lista de funciones, elija el nombre de la función Lambda asociada al secreto.3. Elija la pestaña Monitoring.4. En la sección Invocation errors (Errores de invocación), elija Jump to Logs (Ir a los logs).

Se abre la consola de CloudWatch con los registros correspondientes a la función.

No puedo predecir cuándo comenzará la rotaciónSolo puede predecir la fecha de la próxima rotación, no la hora.

Secrets Manager programa la siguiente rotación una vez que la anterior finalice. Secrets Managerprograma la fecha mediante la adición del intervalo de rotación (número de días) a la fecha real de laúltima rotación. El servicio elige la hora en dicho espacio de fecha de 24 horas de forma aleatoria. Elminuto también se elige de forma algo aleatoria, pero se orienta hacia la hora en punto y es influido pordiversos factores que ayudan a distribuir la carga.

179

Page 186: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioAparece un mensaje de "acceso denegado" alintentar configurar la rotación para mi secreto

Aparece un mensaje de "acceso denegado" al intentarconfigurar la rotación para mi secretoCuando agregue un nombre de recurso de Amazon (ARN) de una función Lambda de rotación al secreto,Secrets Manager comprobará los permisos de la función. La política de la función debe conceder a laentidad principal del servicio Secrets Manager el permiso secretsmanager.amazonaws.com parainvocar la función (lambda:InvokeFunction).

Puede añadir este permiso ejecutando el siguiente comando de la AWS CLI:

aws lambda add-permission --function-name ARN_of_lambda_function --principal secretsmanager.amazonaws.com --action lambda:InvokeFunction --statement-id SecretsManagerAccess

Se produce un error en la rotación después dehabilitarlaSi habilita la rotación de un secreto que utiliza un secreto "maestro" para cambiar las credenciales delservicio protegido, Secrets Manager configurará automáticamente la mayoría de los elementos necesariospara la rotación. Sin embargo, Secrets Manager no puede conceder automáticamente permiso para leer elsecreto a la función Lambda. Debe conceder explícitamente este permiso. En concreto, debe conceder elpermiso agregándolo a la política asociada al rol de IAM vinculado a la función Lambda de rotación. Esapolítica debe incluir la siguiente instrucción (solo es una instrucción, no una política completa). Para verla política completa, consulte la segunda política de muestra en la sección CloudTrail muestra errores deacceso denegado durante la rotación (p. 181).

{ "Sid": "AllowAccessToMasterSecret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "ARN_of_master_secret"}

De este modo, la función de rotación podrá recuperar las credenciales del secreto maestro y utilizardespués las credenciales del secreto maestro para cambiar las credenciales del secreto que se va a rotar.

Se ha producido un error en la rotación porque el valordel secreto no tiene el formato que espera la funciónde rotación.También pueden producirse errores en la rotación si el valor del secreto no tiene el formato de estructuraJSON que esperaba la función de rotación. La función de rotación que utilice determinará el formatoempleado. Para ver los detalles de lo que cada función de rotación requiere para el valor del secreto,consulte la entrada Valor previsto de cadena del secreto en la función de rotación relevante en Plantillas deAWS Plantillas de que puede utilizar para crear funciones de rotación de Lambda (p. 161).

Por ejemplo, si utiliza la función de rotación de usuario único de MySQL, la estructura de texto deSecretString debe tener el siguiente aspecto:

{ "engine": "mysql", "host": "<required: instance host name/resolvable DNS name>", "username": "<required: username>",

180

Page 187: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioSecrets Manager indica que he configurado

correctamente la rotación, pero la contraseña no rota

"password": "<required: password>", "dbname": "<optional: database name. If not specified, defaults to None>", "port": "<optional: TCP port number. If not specified, defaults to 3306>"}

Secrets Manager indica que he configuradocorrectamente la rotación, pero la contraseña no rotaEsto puede ocurrir si hay problemas de configuración de red que impiden que la función Lambda secomunique con la base de datos protegida, el servicio protegido o el punto de enlace de servicio deSecrets Manager, que está en la red pública de Internet. Si ejecuta la base de datos o el servicio en unaVPC, tendrá que utilizar una de las dos opciones de configuración:

• Haga que la base de datos de la VPC sea de acceso público con una dirección IP elástica de AmazonEC2.

• Configure la función de rotación Lambda para que opere en la misma VPC que la base de datos/servicio.• Si la VPC no tiene acceso a la red pública de Internet (por ejemplo, si no configura la VPC con

un gateway NAT), debe configurar la VPC con un punto de enlace de servicio privado de SecretsManager (p. 77) que sea accesible desde la VPC.

Para determinar si este tipo de problema de configuración es la causa del error de rotación, siga estospasos.

Para diagnosticar problemas de conectividad entre la función de rotación y la base de datos oSecrets Manager

1. Abra los registros siguiendo el procedimiento Deseo encontrar los registros de diagnóstico para mifunción de rotación Lambda. (p. 179).

2. Examine los archivos de registro para buscar indicios de que se ha agotado el tiempo de espera entrela función Lambda y el servicio de AWS Secrets Manager o entre la función Lambda y la base dedatos o el servicio protegidos.

3. Para obtener información sobre el modo de configurar servicios y funciones Lambda a fin deinteractuar en el entorno de VPC, consulte la documentación de Amazon Virtual Private Cloud y laAWS Lambda Developer Guide.

Se produce un error en la rotación y se muestra elmensaje "Error interno"Cuando la función de rotación genera una nueva contraseña e intenta almacenarla en la base de datoscomo un nuevo conjunto de credenciales, debe asegurarse de que incluya solo caracteres que seanválidos en la base de datos especificada. Se produce un error en el intento de establecer la contraseña deun usuario si la contraseña incluye caracteres que no acepta el motor de base de datos. Este error aparececomo un "error interno". Consulte en la documentación de la base de datos la lista de los caracterespermitidos. A continuación, excluya todos los demás mediante el parámetro ExcludeCharacters de lallamada a la API GetRandomPassword.

CloudTrail muestra errores de acceso denegadodurante la rotaciónAl configurar la rotación, si deja que Secrets Manager cree automáticamente la función de rotación,Secrets Manager proporcionará de manera automática una política asociada al rol de IAM de la función

181

Page 188: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioCloudTrail muestra errores de

acceso denegado durante la rotación

que concede los permisos adecuados. Si crea una función personalizada, debe conceder los siguientespermisos al rol asociado a la función.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetRandomPassword", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage", ], "Resource": "*" } ]}

Además, si la rotación usa credenciales de un secreto maestro independiente para rotar este secreto,también debe conceder permiso para obtener el valor del secreto maestro. Para obtener más información,consulte Se produce un error en la rotación después de habilitarla (p. 180). La política combinada podríaser así:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToSecretsManagerAPIs", "Effect": "Allow", "Action": [ "secretsmanager:DescribeSecret", "secretsmanager:GetRandomPassword", "secretsmanager:GetSecretValue", "secretsmanager:PutSecretValue", "secretsmanager:UpdateSecretVersionStage", ], "Resource": "*" }, { "Sid": "AllowAccessToMasterSecret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "<arn_of_master_secret>" } ]}

182

Page 189: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioPuntos de enlace

Llamar a la API mediante el envío desolicitudes de consulta HTTP

Esta sección contiene información general acerca del modo de utilizar la API de consulta de AWS SecretsManager. Para obtener más información acerca de las operaciones y los errores de la API, consulte laReferencia de la API de AWS Secrets Manager.

Note

En lugar de enviar llamadas directas a la API de consultas de AWS Secrets Manager, puedeutilizar uno de los SDK de AWS. Los SDK de AWS constan de bibliotecas y código de muestrapara diversos lenguajes de programación y plataformas como Java, Ruby, .NET, iOS, Android,etc. Los SDK son una forma cómoda de crear acceso mediante programación a Secrets Managery AWS. Por ejemplo, los SDK realizan tareas como firmar solicitudes criptográficamente,administrar errores y reintentar las solicitudes automáticamente. Para obtener información sobrelos SDK de AWS, incluido cómo descargar e instalar los paquetes, consulte Herramientas paraAmazon Web Services.

La API de consultas de AWS Secrets Manager le permite llamar a operaciones del servicio. Las solicitudesde la API de consulta son solicitudes HTTPS que deben contener un parámetro Action que indique laoperación que se va a realizar. AWS Secrets Manager admite solicitudes GET y POST para todas lasoperaciones. La API no requiere que use GET para algunas operaciones y POST para otras. Sin embargo,las solicitudes GET están sujetas a las limitaciones de tamaño de una URL. Aunque este límite dependedel navegador, un límite típico es de 2048 bytes. Por lo tanto, para las solicitudes de la API de consultasque requieran tamaños más grandes, debe utilizar una solicitud POST.

La API devuelve la respuesta en un documento XML. Para obtener más información acerca de larespuesta, consulte las páginas de descripción de cada API en la Referencia de la API de AWSOrganizations.

Temas• Puntos de enlace (p. 183)• HTTPS obligatorio (p. 183)• Firma de solicitudes de la API para Secrets Manager (p. 184)

Puntos de enlaceAWS Secrets Manager tiene puntos de enlace en la mayoría de las regiones de AWS. Para ver la listacompleta, consulte la lista de puntos de enlace para AWS Secrets Manager en la AWS General Reference.

Para obtener más información acerca de las regiones de AWS y los puntos de enlace de todos losservicios, consulte Regiones y puntos de enlace de AWS, también en la AWS General Reference.

HTTPS obligatorioDado que la API de consultas devuelve información confidencial como, por ejemplo, credenciales deseguridad, debe usar HTTPS para cifrar todas las solicitudes de la API.

183

Page 190: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuarioFirma de solicitudes de la API para Secrets Manager

Vea la Referencia general de AWS.

Firma de solicitudes de la API para SecretsManager

Debe firmar solicitudes a la API utilizando un ID de clave de acceso y una clave de acceso secreta. Esabsolutamente recomendable que no utilice las credenciales de usuario raíz de la cuenta de AWS para sutrabajo diario con Secrets Manager. En su lugar, puede utilizar las credenciales de un usuario de IAM ocredenciales temporales como las que usa con un rol de IAM.

Para firmar las solicitudes de la API, debe utilizar Signature Version 4 de AWS. Para obtener másinformación cómo usar Signature Version 4, consulte Proceso de firma Signature Version 4 en laReferencia general de AWS.

Para obtener más información, consulte los siguientes temas:

• Credenciales de seguridad de AWS. Ofrece información general sobre los tipos de credenciales quepuede utilizar para tener acceso a AWS.

• Prácticas recomendadas de IAM. Ofrece sugerencias para utilizar el servicio de IAM para ayudar aproteger sus recursos de AWS, incluidos los de Secrets Manager.

• Credenciales temporales. Describe cómo crear y utilizar credenciales de seguridad temporales.

184

Page 191: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Historial de revisión de AWS SecretsManager

En la siguiente tabla se describen las actualizaciones principales de la documentación de AWS SecretsManager.

• Versión de API: 2017-10-17

update-history-change update-history-description update-history-date

Se ha cambiado el tutorial derotación de secretos para incluirun vínculo a Amazon RDS. (p. 185)

Para mantener actualizados lospasos del tutorial en la guía, sehan reemplazado los pasos paraconfigurar una base de datosde prueba con un enlace a ladocumentación de Amazon RDS.

May 12, 2020

Se ha añadido la conformidad deFedRAMP con Secrets Manager. (p. 185)

Se ha añadido el logotipo deFedRAMP e información sobrela conformidad de SecretsManager.

May 12, 2020

Se ha añadido AWS Configa Secrets Manager y se haagregado más información sobreCloudFormation. (p. 185)

Se añadió documentación parausar AWS Config con SecretsManager.

April 16, 2020

Se han reemplazado las plantillasde CloudFormation por otrasmás cortas y fáciles de usar. (p. 185)

Las plantillas ahora soloutilizan 60 líneas de códigopara crear configuraciones deCloudFormation.

November 20, 2019

Se ha añadido documentaciónpara las políticas de punto deenlace

Ahora puede utilizar una políticade punto de enlace para controlarla actividad relacionada con lossecretos en el punto de enlacede la VPC de Secrets Manager.Se ha añadido una sección paracrear una política de punto deenlace para el puntos de enlacede la VPC de Secrets Manager.También se ha creado un artículode referencia distinto para todoel contenido de los puntos deenlace de la VPC.

July 25, 2019

Se han añadido los clientes dealmacenamiento en caché dePython, Go y .NET

Se han añadido enlaces a GitHuben los que se adquieren losclientes de almacenamiento encaché de Python, Go y .NET.

May 9, 2019

185

Page 192: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Se ha añadido tipos de secretospara Redshift y DocumentDB

Se han añadido las bases dedatos de Redshift y DocumentDBa los tipos de secretos.

March 7, 2019

Se han actualizado las bases dedatos compatibles

Se ha añadido la lista completade bases de datos compatiblesen Amazon RDS que admiten larotación, incluidas Microsoft SQLServer y Oracle, entre otras.

December 2, 2018

Conformidad con PCI e ISO Se han incluido los estándaresPCI e ISO en la sección deestándares de conformidad.

December 1, 2018

Usar las funciones de rotaciónde Lambda existentes con sussecretos

Al habilitar la rotación de unsecreto en la consola de SecretsManager, ahora puede elegiruna función Lambda existenteademás de poder crear nuevasfunciones.

November 15, 2018

Etiquetar los secretos con laconsola de Secrets Manager

Ahora puede incluir etiquetascuando cree y modifique sussecretos usando la consola deSecrets Manager.

November 15, 2018

Crear secretos medianteprogramación conCloudFormation

Ahora puede crear secretosdefiniéndolos en una plantilla deCloudFormation. Si el secretoestá asociado a una de las basesde datos totalmente compatibles,también puede generar lascredenciales dinámicamentedurante el procesamiento dela plantilla, configurar la basede datos para que utilice esascredenciales y almacenarlas enun secreto configurado para querote automáticamente.

November 12, 2018

Eliminar un secreto sin unaventana de recuperación

A partir de ahora, puede eliminarsecretos sin especificar unaventana de recuperación. Deeste modo, puede "limpiar"secretos innecesarios sin tenerque esperar un mínimo de sietedías.

August 9, 2018

Puntos de enlace de servicio deVPC privados

Ahora puede configurar puntosde enlace de servicio privadospara Secrets Manager dentro desus VPC. Esto le permite llamara las operaciones de la API deSecrets Manager desde una VPCsin necesidad de conexión a laInternet pública.

July 11, 2018

186

Page 193: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

Políticas basadas en recursos A partir de ahora, puede asociarlas políticas de permisos de IAMdirectamente a un secreto paradeterminar quién puede accedera dicho secreto. Esto tambiénpermite el acceso entre cuentas,ya que puede especificar otrascuentas de AWS en el elementoPrincipal de una políticabasada en recursos.

June 26, 2018

Conformidad con HIPAA Secrets Manager ahora estádisponible como serviciocompatible con HIPAA.

June 4, 2018

Versión inicial del servicio Documentación proporcionadapara la versión inicial de AWSSecrets Manager.

April 4, 2018

187

Page 194: AWS Secrets Manager...AWS Secrets Manager Guía del usuario Características de Secrets Manager 1.El administrador de la base de datos crea un conjunto de credenciales en la base de

AWS Secrets Manager Guía del usuario

AWS glossaryFor the latest AWS terminology, see the AWS glossary in the AWS General Reference.

188