AWS Systems Manager Parameter Store - AWS Systems Manager

AWS Systems Manager Parameter Store

Parameter Store, una capacidad de AWS Systems Manager, proporciona un almacenamiento seguro y jerárquico para la administración de los datos de configuración y de los secretos. Puede almacenar datos como contraseñas, cadenas de base de datos, ID de Amazon Machine Image (AMI) y códigos de licencia como valores de parámetros. Puede almacenar valores como texto sin formato o como datos cifrados. Puede hacer referencia a parámetros de Systems Manager en los scripts, los comandos, los documentos de SSM y los flujos de trabajo de configuración y automatización utilizando el nombre único que especificó cuando creó el parámetro. Para comenzar a utilizar Parameter Store, abra la consola de Systems Manager. En el panel de navegación, elija Parameter Store.

Parameter Store también se integran con Secrets Manager. Puede recuperar secretos de Secrets Manager cuando utiliza otros Servicios de AWS que admiten las referencias a los parámetros de Parameter Store. Para obtener más información, consulte Referencia a los secretos de AWS Secrets Manager desde los parámetros de Parameter Store.

nota

Para implementar ciclos de vida de rotación de contraseñas, utilice AWS Secrets Manager. Puede rotar, administrar y recuperar credenciales de bases de datos, claves de API y otros datos confidenciales durante todo su ciclo de vida con Secrets Manager. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

¿Cómo puede Parameter Store beneficiar a mi organización?

Parameter Store ofrece las ventajas siguientes:

  • Utilice un servicio de administración de secretos alojado seguro y escalable, sin servidores que administrar.

  • Mejore el nivel de seguridad separando los datos del código.

  • Almacene datos de configuración y cadenas seguras en jerarquías y realice un seguimiento de las versiones.

  • Controle y audite el acceso granular de forma detallada.

  • Almacene los parámetros de forma fiable porque Parameter Store se aloja en varias zonas de disponibilidad en una Región de AWS.

¿Quién debe utilizar Parameter Store?

  • Cualquier cliente de AWS que desea tener una forma centralizada de administrar los datos de configuración.

  • Desarrolladores de software que desean almacenar diferentes inicios de sesión y flujos de referencia.

  • Administradores que desean recibir notificaciones cuando sus secretos y contraseñas se cambian o no.

¿Cuáles son las características de Parameter Store?

  • Notificación de cambio

    Puede configurar las notificaciones de cambios y active las acciones automatizadas tanto para los parámetros como para sus políticas correspondientes. Para obtener más información, consulte Configuración de notificaciones o activación de acciones en función de los eventos de Parameter Store.

  • Organización de parámetros

    Puede etiquetar los parámetros de manera individual para facilitar la identificación de uno o varios parámetros en función de las etiquetas que les haya asignado. Por ejemplo, puede etiquetar los parámetros de etiqueta para departamentos o entornos específicos.

  • Versiones de etiquetas

    Puede asociar un alias para las versiones del parámetro mediante la creación de etiquetas. Las etiquetas pueden ayudarlo a recordar el propósito de una versión de un parámetro cuando hay varias versiones.

  • Validación de datos

    Puede crear parámetros que apunten a una instancia de Amazon Elastic Compute Cloud (Amazon EC2) y Parameter Store valida estos parámetros para asegurarse de que hace referencia al tipo de recurso esperado, que el recurso existe y que el cliente tiene permiso para usar el recurso. Por ejemplo, puede crear un parámetro con el ID de una Amazon Machine Image (AMI) como un valor con tipo de datos aws:ec2:image, y Parameter Store realiza una operación de validación asíncrona para asegurarse de que el valor del parámetro cumple los requisitos de formato para un ID de AMI y que la AMI específica está disponible en su Cuenta de AWS.

  • Secretos de referencia

    Parameter Store está integrado con AWS Secrets Manager, lo que permite recuperar secretos de Secrets Manager cuando utiliza otros Servicios de AWS que admiten las referencias a los parámetros de Parameter Store.

  • Compartir parámetros con otras cuentas

    Si lo desea, puede centralizar los datos de configuración en una sola cuenta Cuenta de AWS y compartir los parámetros con otras cuentas que necesiten acceder a ellos.

  • Accesible desde otros Servicios de AWS

    Puede utilizar parámetros de Parameter Store con otras capacidades de Systems Manager y otros Servicios de AWS para recuperar secretos y datos de configuración del almacén central. Los parámetros funcionan con otras funciones de Systems Manager, como Run Command, Automation y State Manager, capacidades de AWS Systems Manager. También puede hacer referencia a parámetros en otros Servicios de AWS, incluidos los siguientes:

    • Amazon Elastic Compute Cloud (Amazon EC2)

    • Amazon Elastic Container Service (Amazon ECS)

    • AWS Secrets Manager

    • AWS Lambda

    • AWS CloudFormation

    • AWS CodeBuild

    • AWS CodePipeline

    • AWS CodeDeploy

  • Integración con otros Servicios de AWS

    Configure la integración con los siguientes Servicios de AWS para el cifrado, la notificación, la supervisión y la auditoría:

¿Qué es un parámetro?

Un parámetro de Parameter Store es cualquier dato guardado en Parameter Store, como un bloque de texto, una lista de nombres, una contraseña, un ID de AMI, una clave de licencia, etc. Puede hacer referencia a estos datos de forma centralizada y segura en sus scripts, comandos y documentos SSM.

Cuando se hace referencia a un parámetro, se debe especificar el nombre del parámetro utilizando la siguiente convención.

{{ssm:parameter-name}}

nota

Los parámetros no se pueden referenciar ni anidar en los valores de otros parámetros. No puede incluir {{}} o {{ssm:parameter-name}} en el valor de un parámetro.

Parameter Store permite usar tres tipos de parámetros: String, StringList y SecureString.

Con una excepción, cuando cree o actualice un parámetro, deberá ingresar el valor del parámetro como texto sin formato y Parameter Store no realiza ninguna validación en el texto especificado. Sin embargo, para los parámetros String puede especificar el tipo de datos como aws:ec2:image, y Parameter Store valida que el valor ingresado tenga el formato adecuado para una AMI de Amazon EC2; por ejemplo: ami-12345abcdeEXAMPLE.

Tipo de parámetro: String

De forma predeterminada, los parámetros String constan de cualquier bloque de texto especificado. Por ejemplo:

  • abc123

  • Example Corp

  • <img src="images/bannerImage1.png"/>

Tipo de parámetro: StringList

Los parámetros StringList contienen una lista de valores separados por comas, como se muestra en el siguiente ejemplo.

Monday,Wednesday,Friday

CSV,TSV,CLF,ELF,JSON

Tipo de parámetro: SecuRestring

Un parámetro SecureString es toda información confidencial que debe almacenarse o a la que se hace referencia de forma segura. Si tiene datos que no desea que los usuarios modifiquen o se remita a ellos como texto sin cifrar (por ejemplo, las contraseñas o las claves de licencia), cree esos parámetros utilizando el tipo de datos SecureString.

importante

No almacene información confidencial en un parámetro String ni StringList. Para toda la información confidencial que debe permanecer cifrada, utilice solo el tipo de parámetro SecureString.

Para obtener más información, consulte Utilizar la AWS CLI para crear un parámetro SecureString.

Recomendamos utilizar los parámetros SecureString en las siguientes situaciones:

  • Desea utilizar los datos/parámetros en los Servicios de AWS sin exponer los valores como texto sin cifrar en comandos, funciones, registros de agentes o registros de CloudTrail.

  • Desea controlar quién tiene acceso a la información confidencial.

  • Desea tener la posibilidad de auditar los accesos a la información confidencial (CloudTrail).

  • Desea disponer de un cifrado para la información confidencial y desea utilizar sus propias claves de cifrado para administrar el acceso.

importante

Solo se cifra el valor de un parámetro SecureString. Los nombres de parámetros, las descripciones y otras propiedades no se cifran.

Puede utilizar el tipo de parámetro de SecureString para datos textuales que desea cifrar, como contraseñas, secretos de aplicaciones, datos de configuración confidenciales u otros tipos de datos que necesite proteger. Los datos de SecureString se cifran y descifran con una clave AWS KMS. Puede utilizar una clave de KMS predeterminada proporcionada por AWS o crear y utilizar su propia AWS KMS key. (Utilice su propia AWS KMS key si desea restringir el acceso de los usuarios a los parámetros de SecureString. Para obtener más información, consulte Los permisos de IAM para utilizar claves predeterminadas de AWS y claves administradas por el cliente).

También puede usar parámetros SecureString con otros Servicios de AWS. En el siguiente ejemplo, la función de Lambda recupera un parámetro SecureString con la API GetParameters.

from __future__ import print_function import json import boto3 ssm = boto3.client('ssm', 'us-east-2') def get_parameters(): response = ssm.get_parameters( Names=['LambdaSecureString'],WithDecryption=True ) for parameter in response['Parameters']: return parameter['Value'] def lambda_handler(event, context): value = get_parameters() print("value1 = " + value) return value # Echo back the first key value
Cifrado y precios de AWS KMS

Si elige el tipo de parámetro SecureString cuando crea el parámetro, Systems Manager utiliza AWS KMS para cifrar el valor del parámetro.

importante

Parameter Store solo es compatible con claves de cifrado de KMS simétricas. No se puede utilizar una clave de cifrado de KMS asimétrica para cifrar los parámetros. Para obtener ayuda para determinar si una clave de KMS es simétrica o asimétrica, consulte Identificación de claves KMS simétricas y asimétricas en la Guía para desarrolladores de AWS Key Management Service.

No se aplican cargos en Parameter Store por crear un parámetro SecureString, pero sí por utilizar el cifrado de AWS KMS. Para obtener información, consulte Precios de AWS Key Management Service.

Para obtener más información acerca de las Claves administradas por AWS y de las claves administradas por el cliente, consulte los conceptos de AWS Key Management Service en la Guía para desarrolladores de AWS Key Management Service. Para obtener más información acerca de Parameter Store y cifrado de AWS KMS, consulte Cómo Parameter Store de AWS Systems Manager usa AWS KMS.

nota

Para ver una Clave administrada de AWS, utilice la operación AWS KMS DescribeKey. En este ejemplo de la AWS Command Line Interface (AWS CLI) se utiliza DescribeKey para ver una Clave administrada de AWS.

aws kms describe-key --key-id alias/aws/ssm
Más información