AWS Secrets Manager - Rotación automática e integración con aplicaciones
Rote automáticamente contraseñas de RDS y Aurora con funciones Lambda y recupere secretos de forma transparente desde aplicaciones usando la biblioteca de caché del SDK. También cubre cuándo usar Parameter Store en su lugar.
Secrets Manager vs Systems Manager Parameter Store
Secrets Manager es un servicio para almacenar y gestionar de forma segura información sensible como contraseñas de bases de datos, claves API y tokens OAuth. Parameter Store (parte de Systems Manager) también puede almacenar secretos como SecureString, pero carece de rotación automática integrada. Secrets Manager es la opción cuando se necesita rotación automática, auditoría detallada de acceso a secretos o replicación multi-región. Parameter Store es apropiado para configuraciones no sensibles, flags de características y parámetros que no requieren rotación.
Cómo funciona la rotación automática
La rotación automática es un mecanismo donde una función Lambda actualiza periódicamente el valor del secreto. Para bases de datos RDS y Aurora, Secrets Manager proporciona funciones Lambda de rotación predefinidas. La estrategia de usuario único actualiza la contraseña del mismo usuario, causando una breve ventana donde las conexiones existentes pueden fallar. La estrategia de usuarios alternos mantiene dos usuarios de base de datos y alterna entre ellos, asegurando que siempre haya un usuario con credenciales válidas. El intervalo de rotación es configurable (mínimo 4 horas, máximo 365 días). Para profundizar en la gestión de secretos y seguridad, los libros relacionados (Amazon) son una buena referencia.
Patrones de recuperación desde aplicaciones
El patrón básico para recuperar secretos desde aplicaciones es usar la API GetSecretValue del SDK de AWS. Para reducir la latencia y las llamadas API, use la biblioteca de caché de Secrets Manager que almacena secretos en memoria con un TTL configurable. En Lambda, inicialice el cliente de Secrets Manager fuera del handler para reutilizar la conexión entre invocaciones. En ECS, inyecte secretos como variables de entorno referenciando el ARN del secreto en la definición de tarea, con resolución automática en el inicio del contenedor.
Precios de Secrets Manager
Los precios de Secrets Manager consisten en aproximadamente 0,40 USD por secreto al mes y aproximadamente 0,05 USD por cada 10.000 llamadas API. La rotación automática no genera cargos adicionales de Secrets Manager, pero la función Lambda de rotación genera sus propios cargos (típicamente menos de 0,01 USD al mes por secreto). Comparado con el costo de una brecha de seguridad por credenciales no rotadas, el costo de Secrets Manager es insignificante.
Resumen
Secrets Manager es un servicio que automatiza la gestión del ciclo de vida de credenciales. Al imponer la rotación periódica, reduce el riesgo de credenciales comprometidas. La integración con RDS/Aurora simplifica la rotación de contraseñas de base de datos, y la biblioteca de caché del SDK minimiza el impacto en el rendimiento de la aplicación. Use Secrets Manager para credenciales que requieren rotación y Parameter Store para configuraciones estáticas.