AWS Secrets Manager
Servicio que almacena, recupera y rota automáticamente secretos como contraseñas de bases de datos y claves API de forma segura, eliminando credenciales hardcodeadas
Descripción general
AWS Secrets Manager es un servicio que ayuda a proteger el acceso a aplicaciones, servicios y recursos de TI sin el costo inicial ni la carga de mantenimiento de gestionar infraestructura de seguridad propia. Permite rotar, gestionar y recuperar credenciales de bases de datos, claves API y otros secretos a lo largo de su ciclo de vida.
Mecanismo de rotación automática
Secrets Manager puede rotar automáticamente secretos según un programa configurado. Para bases de datos RDS, Aurora y Redshift, proporciona funciones Lambda de rotación integradas que actualizan tanto el secreto en Secrets Manager como la credencial en la base de datos. La rotación utiliza una estrategia de usuario único (actualiza la contraseña del mismo usuario) o usuario alterno (alterna entre dos usuarios para evitar tiempo de inactividad). Durante la rotación, la versión anterior del secreto permanece disponible brevemente (etiqueta AWSPREVIOUS) para permitir que las conexiones existentes completen. Para secretos personalizados (claves API de terceros), se implementan funciones Lambda de rotación personalizadas que llaman a la API del proveedor para generar nuevas credenciales.
Diferenciación con Parameter Store
Secrets Manager y Systems Manager Parameter Store (SecureString) ambos almacenan datos sensibles cifrados con KMS, pero difieren en capacidades y costo. Secrets Manager ofrece rotación automática integrada, replicación entre regiones, y generación de contraseñas aleatorias, pero cobra por secreto almacenado y por llamada API. Parameter Store (tier estándar) es gratuito para hasta 10,000 parámetros sin rotación automática integrada. La elección depende del caso de uso: Secrets Manager para credenciales de base de datos que requieren rotación automática y secretos compartidos entre regiones; Parameter Store para configuración de aplicación, feature flags y secretos simples donde la rotación manual es aceptable.
Patrones de uso prácticos
El patrón más común es reemplazar credenciales hardcodeadas en código o variables de entorno con llamadas a Secrets Manager en tiempo de ejecución. Las funciones Lambda recuperan secretos al inicio usando el SDK de AWS, con caching en memoria para evitar llamadas repetidas durante la misma invocación. La extensión Lambda de Secrets Manager proporciona caching transparente como capa Lambda. Para ECS, los secretos se inyectan como variables de entorno en la definición de tarea referenciando el ARN del secreto. La integración con CloudFormation permite referenciar secretos dinámicos en templates sin exponer valores. Las políticas de recursos controlan qué principales IAM pueden acceder a cada secreto, y CloudTrail registra todos los accesos para auditoría.