Configuración y secretos gestionados con AWS Systems Manager Parameter Store - Estructura jerárquica y cifrado
Se explica la gestión de valores de configuración y secretos con Parameter Store, el diseño de la estructura jerárquica y cómo elegir entre Parameter Store y Secrets Manager.
Descripción general de Parameter Store
Parameter Store es un almacén de clave-valor que gestiona de forma jerárquica los datos de configuración y los secretos. Mientras que Secrets Manager ofrece funciones como la rotación automática de credenciales, Parameter Store gestiona tanto la configuración general de las aplicaciones (indicadores de funciones, URL de endpoints, umbrales) como los secretos. Los parámetros Standard son gratuitos y se pueden crear hasta 10,000.
Estructura jerárquica y elección entre Parameter Store y Secrets Manager
La estructura jerárquica se construye usando separadores de ruta (/) en los nombres de los parámetros. Los parámetros se organizan por entorno y componente, como en /myapp/prod/db/host y /myapp/prod/db/password, y con GetParametersByPath se obtienen en bloque los parámetros que hay bajo una ruta concreta. En cuanto a la elección entre ambos, elegir Secrets Manager es adecuado para las credenciales de base de datos que requieren rotación automática, y elegir Parameter Store es adecuado para los demás valores de configuración y secretos. Parameter Store también admite referencias a Secrets Manager (aws:secretsmanager:) y permite utilizar ambos servicios de forma integrada.
Integración con Lambda y ECS
Para obtener parámetros de Parameter Store desde una función de Lambda, se utiliza AWS Parameters and Secrets Lambda Extension. Como la extensión almacena en caché los parámetros de forma local, se reducen las llamadas a la API en cada ejecución de Lambda. En la sección secrets de la definición de tarea de ECS se hace referencia a los parámetros de Parameter Store y se inyectan como variables de entorno del contenedor. Los parámetros SecureString se cifran con KMS, y los permisos de descifrado se controlan con políticas de IAM. Con el control de versiones de los parámetros se sigue el historial de cambios, y se puede volver a una versión anterior cuando surge un problema. Con las políticas de parámetros se establecen fechas de caducidad y se envían notificaciones automáticas sobre los parámetros caducados.
Precios de Parameter Store
Los parámetros Standard son gratuitos, y se pueden almacenar hasta 10,000 parámetros por cuenta y región. Los parámetros Advanced cuestan unos 0.05 USD al mes por parámetro y admiten un tamaño de hasta 8KB, políticas de parámetros y un límite de 100,000 parámetros (a fecha de agosto de 2026). Las llamadas a la API cuestan unos 0.05 USD por cada 10,000 solicitudes con la configuración de alto rendimiento (una configuración distinta de los niveles de parámetros). En comparación con Secrets Manager (0.40 USD al mes por secreto), con Parameter Store resulta más fácil contener los costes de los valores de configuración que no requieren rotación automática.
IAM y control de acceso basado en rutas
Los permisos de Parameter Store se diseñan aprovechando la jerarquía de los nombres de los parámetros. Si en la especificación de recursos de una política de IAM se limita la ruta, como en /myapp/prod/*, se puede controlar el acceso para que solo los roles de producción puedan acceder a los parámetros del entorno de producción. Para descifrar un SecureString se necesita, además del permiso para obtener el parámetro, el permiso de descifrado de la clave de KMS usada para el cifrado. Usar una clave de KMS dedicada para cada aplicación y aplicar el mínimo privilegio tanto en las políticas de claves como en las políticas de IAM contribuye a reducir el riesgo de que los secretos se lean de forma no intencionada.
Operación segura de los cambios de configuración
Cada vez que se actualiza un parámetro, se le asigna automáticamente un número de versión, y se pueden consultar valores anteriores o volver a una versión previa. Si los cambios de la configuración de producción se aplican desde un pipeline de CI/CD tras una revisión de código, se pueden reducir los accidentes causados por el trabajo manual. Como los cambios de parámetros se pueden detectar como eventos de EventBridge, se puede montar un mecanismo que envíe notificaciones o inicie automáticamente el procesamiento relacionado cuando se reescribe una configuración concreta. También existe la opción de hacer referencia a las configuraciones importantes indicando de forma explícita el número de versión, para que los valores no cambien en momentos no previstos.
Patrones de obtención desde las aplicaciones y errores comunes
Cuando una aplicación obtiene parámetros con frecuencia, hay que prestar atención al throttling de la API. El número de llamadas a la API se contiene con medidas como leer los parámetros una sola vez al arrancar y almacenarlos en caché en memoria, u obtener varios parámetros juntos con GetParameters. En CloudFormation y CDK se puede hacer referencia a los parámetros de forma dinámica dentro de las plantillas e incrustar los valores de configuración más recientes en el momento del despliegue. No obstante, se tiene cuidado con el tratamiento de los lugares donde se hace referencia a ellos para no exponer un SecureString en las salidas de la plantilla o en los registros. Cuando la frecuencia de acceso es alta, se considera la configuración de alto rendimiento (una configuración distinta de los niveles de parámetros).
Uso compartido entre varias cuentas / varias regiones
Cuando se usa la misma configuración en varias cuentas o varias regiones, como Parameter Store es independiente en cada región, se diseña colocando los mismos parámetros en cada región o leyéndolos desde una cuenta compartida. Cuando se quiere distribuir una configuración común a toda la organización, preparar un mecanismo que la sincronice con cada entorno mediante CI/CD hace menos probable la deriva, en la que la configuración diverge entre entornos. Como los parámetros Advanced tienen un límite de tamaño grande por parámetro, también existe la opción de gestionar varias configuraciones JSON pequeñas juntas en un solo parámetro. Si los valores se vuelven demasiado grandes, se considera dividir la configuración o usar S3 de forma combinada.
Resumen
Parameter Store es un servicio que gestiona de forma jerárquica la configuración de las aplicaciones y los secretos. La caché de la extensión de Lambda acelera la obtención de la configuración, y con la sección secrets de la definición de tarea de ECS se puede pasar a los contenedores. Los parámetros Standard son gratuitos y se pueden almacenar hasta 10,000, y en comparación con Secrets Manager resulta más fácil contener los costes de los valores de configuración que no requieren rotación automática.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.