Secret Manager
📘 ¿Qué es AWS Secrets Manager?
AWS Secrets Manager es un servicio completamente administrado que te permite almacenar, proteger, rotar y acceder de forma segura a secretos como contraseñas, tokens de API, claves de base de datos, y más.
Automatiza la gestión de secretos, reduciendo el riesgo de exposición y facilitando la seguridad en aplicaciones distribuidas y en la nube.
🧠 ¿Para qué sirve?
-
Guardar secretos de forma segura (cifrados con AWS KMS)
-
Acceder programáticamente a secretos desde apps y servicios
-
Rotar secretos automáticamente (p. ej. para bases de datos)
-
Eliminar secretos antiguos con control de versiones
-
Integrarse con IAM para acceso granular
-
Auditar accesos a secretos mediante CloudTrail
🔑 Tipos de secretos que puedes almacenar
-
Contraseñas de bases de datos (MySQL, PostgreSQL, RDS, etc.)
-
Claves de API (por ejemplo, Stripe, Twilio, etc.)
-
Tokens OAuth y JWT
-
Claves SSH o de cifrado
-
Credenciales de servicios externos (GitHub, DockerHub)
🧩 Componentes clave
| Componente | Descripción |
|---|---|
| Secret | El valor que quieres proteger (ej. contraseña) |
| Versión del secreto | Cada vez que actualizas el secreto, se crea una nueva versión |
| Rotación automática | Actualiza el secreto con una Lambda configurada |
| Cifrado KMS | Todos los secretos se cifran en reposo con AWS KMS |
| Políticas de acceso | Control de acceso mediante IAM o políticas del recurso |
⚙️ Cómo funciona
-
Guardas un secreto en Secrets Manager (ej.
prod/db/password) -
Se cifra automáticamente con una clave KMS
-
Aplicaciones acceden al secreto mediante SDK, CLI o consola
-
Puedes configurar rotación automática con un Lambda (opcional)
-
Todos los accesos y cambios quedan registrados en AWS CloudTrail
🔄 Rotación automática
Secrets Manager permite automatizar la rotación de secretos mediante un Lambda que siga una estructura esperada.
| Componente | Función |
|---|---|
| Lambda de rotación | Script que conecta con el servicio (ej. DB), genera nueva credencial, valida y actualiza |
| Intervalo configurable | Diariamente, semanalmente, etc. |
| Soporta RDS y otros secretos personalizados | Rotación integrada con RDS, Aurora, Redshift y más |
🔒 Seguridad
-
Cifrado con AWS KMS (clave por defecto o personalizada)
-
Control de acceso fino con IAM y políticas por secreto
-
Integración con AWS CloudTrail para auditorías
-
Compatible con redes privadas mediante VPC endpoints
💰 Precios
| Concepto | Precio aproximado |
|---|---|
| Almacenamiento de secretos | $0.40 por secreto/mes |
| Rotación automática | $0.05 por cada 10,000 llamadas de API |
| Acceso a secretos vía SDK/API | Sin costo adicional relevante (dentro de cuotas estándar) |
Precios exactos: https://aws.amazon.com/secrets-manager/pricing/
🧠 Preguntas tipo certificación
-
¿Qué servicio de AWS permite almacenar y rotar secretos de forma segura?
- ✅ AWS Secrets Manager
-
¿Qué servicio se utiliza para cifrar los secretos?
- ✅ AWS KMS
-
¿Secrets Manager puede rotar automáticamente contraseñas de bases de datos?
- ✅ Sí
-
¿Cómo se accede a un secreto desde una app?
- ✅ Mediante AWS SDK o CLI usando permisos IAM
-
¿Secrets Manager guarda un historial de versiones?
- ✅ Sí, puedes restaurar versiones anteriores
📚 Recursos útiles
✅ Casos de uso
-
Guardar credenciales de bases de datos para aplicaciones Lambda o EC2
-
Reemplazar variables de entorno inseguras en contenedores
-
Rotar automáticamente contraseñas de usuarios de RDS
-
Gestionar claves API de servicios de terceros
📦 Comparativa rápida: Secrets Manager vs Parameter Store
| Característica | Secrets Manager | SSM Parameter Store (Advanced) |
|---|---|---|
| Rotación automática | ✅ Sí | ❌ No |
| Optimizado para secretos | ✅ Sí | ⚠️ General-purpose |
| Precio | $ | $ (más barato en estándar) |
| Cifrado con KMS | ✅ Sí | ✅ Sí |