View a markdown version of this page

Descripción de los tipos de parámetros - AWS Systems Manager

Descripción de los tipos de parámetros

Un parámetro es cualquier dato guardado en Parameter Store, como un bloque de texto, una lista de nombres, 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 mediante 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, el valor de un parámetro String consta de cualquier bloque de texto especificado. Por ejemplo:

  • abc123

  • Example Corp

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

Tipo de parámetro: StringList

Los valores de 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

El valor de 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, secretos ligeros o claves de licencia), cree esos parámetros con el tipo de datos 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.

Puede utilizar el tipo de parámetro SecureString para datos textuales que desea cifrar, como secretos ligeros que no requieren rotación, datos de configuración confidenciales u otros tipos de datos que necesite proteger. Los datos de SecureString se cifran y descifran con una clave de 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).

importante

Tenga en cuenta la siguiente información importante.

  • Si administra credenciales que requieren rotación automática, acceso entre cuentas o registros de auditoría detallados, le recomendamos que utilice AWS Secrets Manager. Secrets Manager está diseñado específicamente para administrar secretos, como credenciales de bases de datos, claves de API y secretos proporcionados por software de terceros compatible. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

  • 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.

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

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.

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
AWS KMSCifrado y precios de

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 el cifrado de AWS KMS, consulte Cómo AWS Systems ManagerParameter Store utiliza 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