

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Especificación de información confidencial con el almacén de parámetros de Systems Manager
<a name="specifying-sensitive-data-parameters"></a>

Con él AWS Batch, puede introducir datos confidenciales en sus contenedores almacenándolos en los parámetros del almacén de parámetros y, a continuación, haciendo referencia a ellos en la definición de su contenedor. AWS Systems Manager 

**Topics**
+ [Consideraciones para especificar información confidencial mediante el Parameter Store de Systems Manager](#secrets--parameterstore-considerations)
+ [Permisos de IAM necesarios para los secretos AWS Batch](#secrets-iam-parameters)
+ [Introducción de información confidencial como variable de entorno](#secrets-envvar-parameters)
+ [Introducción de información confidencial en una configuración de registro](#secrets-logconfig-parameters)
+ [Cree un AWS Systems Manager parámetro de almacén de parámetros](#secrets-create-parameter)

## Consideraciones para especificar información confidencial mediante el Parameter Store de Systems Manager
<a name="secrets--parameterstore-considerations"></a>

Cuando se especifica información confidencial para contenedores que utilizan parámetros del Parameter Store de Systems Manager, se debe tener en cuenta lo siguiente.
+ Esta característica requiere que la instancia de contenedor tenga una versión 1.23.0 o posterior del agente de contenedor. Sin embargo, le recomendamos que utilice la versión más reciente del agente de contenedores. Para obtener información sobre cómo comprobar la versión del agente y actualizarlo a la versión más reciente, consulte [Actualización del agente de contenedor de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html) en la *Guía para desarrolladores de Amazon Elastic Container Service*.
+ Los datos confidenciales se inyectan en el contenedor para su trabajo al iniciar el contenedor. Si el secreto o el parámetro de Parameter Store se actualizan posteriormente o se rotan, el contenedor no recibe automáticamente el valor actualizado. Debe lanzar un nuevo trabajo para obligar el lanzamiento de uno nuevo con los secretos actualizados.

## Permisos de IAM necesarios para los secretos AWS Batch
<a name="secrets-iam-parameters"></a>

Para utilizar esta característica, debe tener la función de ejecución y hacer referencia a ella en la definición del trabajo. Esto permite al agente de contenedores de Amazon ECS obtener los AWS Systems Manager recursos necesarios. Para obtener más información, consulte [AWS Batch Función de ejecución de IAM](execution-IAM-role.md).

Para proporcionar acceso a los AWS Systems Manager parámetros del almacén de parámetros que cree, añada manualmente los siguientes permisos como política integrada a la función de ejecución. Para obtener más información, consulte [Adición y eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la *Guía del usuario de IAM*.
+ `ssm:GetParameters`: obligatorio si se hace referencia a un parámetro del Parameter Store de Systems Manager en una definición de tareas.
+ `secretsmanager:GetSecretValue`: obligatorio si se hace referencia a un secreto de Secrets Manager directamente o si el parámetro del Parameter Store de Systems Manager hace referencia a un secreto de Secrets Manager en una definición de tareas.
+ `kms:Decrypt`: obligatorio solo si el secreto utiliza una clave de KMS personalizada y no la clave predeterminada. El ARN de su clave personalizada debe añadirse como un recurso.

A continuación, mostramos un ejemplo de política insertada que añade los permisos necesarios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters",
                "secretsmanager:GetSecretValue",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-2:999999999999:parameter/<parameter_name>",
                "arn:aws:secretsmanager:us-east-2:999999999999:secret:<secret_name>",
                "arn:aws:kms:us-east-2:999999999999:key/<key_id>"
            ]
        }
    ]
}
```

------

## Introducción de información confidencial como variable de entorno
<a name="secrets-envvar-parameters"></a>

En la definición de contenedor, especifique `secrets` con el nombre de la variable de entorno que se va a establecer en el contenedor y el ARN completo del parámetro del Parameter Store de Systems Manager que contiene la información confidencial que se va a presentar al contenedor.

A continuación, se incluye un fragmento de código de una definición de tarea que muestra el formato cuando se hace referencia a un parámetro del almacén de parámetros de Systems Manager. Si el parámetro del almacén de parámetros de Systems Manager está en la misma región que la tarea que se va a lanzar, se puede utilizar el ARN completo o el nombre del parámetro. Si el parámetro existe en una región distinta, el ARN completo debe especificarse.

```
{
  "containerProperties": [{
    "secrets": [{
      "name": "environment_variable_name",
      "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
    }]
  }]
}
```

## Introducción de información confidencial en una configuración de registro
<a name="secrets-logconfig-parameters"></a>

En la definición de contenedor, al especificar una `logConfiguration`, puede especificar `secretOptions` con el nombre de la opción del controlador de registros que va a definir en el contenedor y el ARN completo del parámetro del Parameter Store de Systems Manager que contiene la información confidencial que se va a presentar al contenedor.

**importante**  
Si el parámetro del almacén de parámetros de Systems Manager está en la misma región que la tarea que se va a lanzar, se puede utilizar el ARN completo o el nombre del parámetro. Si el parámetro existe en una región distinta, el ARN completo debe especificarse.

A continuación, se incluye un fragmento de código de una definición de tarea que muestra el formato cuando se hace referencia a un parámetro del almacén de parámetros de Systems Manager.

```
{
  "containerProperties": [{
    "logConfiguration": [{
      "logDriver": "fluentd",
      "options": {
        "tag": "fluentd demo"
      },
      "secretOptions": [{
        "name": "fluentd-address",
        "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
      }]
    }]
  }]
}
```

## Cree un AWS Systems Manager parámetro de almacén de parámetros
<a name="secrets-create-parameter"></a>

Puede utilizar la AWS Systems Manager consola para crear un parámetro del almacén de parámetros de Systems Manager para sus datos confidenciales. Para obtener más información, consulte [Explicación: Creación y utilización de un parámetro en un comando (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) en la *Guía del usuario de AWS Systems Manager *.

**Para crear un parámetro con Parameter Store**

1. Abra la AWS Systems Manager consola en [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. En el panel de navegación, elija **Parameter Store**, **Create parameter (Creación de parámetro)**.

1. En **Name (Nombre)**, escriba una jerarquía y un nombre de parámetro. Por ejemplo, escriba `test/database_password`.

1. En **Description (Descripción)**, escriba una descripción opcional.

1. En **Tipo**, elija **Cadena **StringList****, o **SecureString**.
**nota**  
Si lo elige **SecureString**, aparece el campo **ID de clave de KMS**. Si no proporciona un ID de clave de KMS, un ARN de clave de KMS, un nombre de alias o un ARN de alias, el sistema utiliza `alias/aws/ssm`. Esta es la clave de KMS predeterminada para Systems Manager. Para evitar utilizar esta clave, elija una clave personalizada. Para obtener más información, consulte [Utilización de parámetros de cadena segura](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-about.html) en la *Guía del usuario de AWS Systems Manager *.
Si crea un parámetro de cadena segura en la consola mediante el parámetro `key-id` con un nombre de alias de clave de KMS o un ARN de alias personalizado, debe especificar el prefijo `alias/` antes del alias. A continuación se muestra un ejemplo de ARN:  

     ```
     arn:aws:kms:us-east-2:123456789012:alias/MyAliasName
     ```
El siguiente es un ejemplo de un nombre de alias:  

     ```
     alias/MyAliasName
     ```

1. En **Value (Valor)**, escriba un valor. Por ejemplo, `MyFirstParameter`. Si lo elige **SecureString**, el valor se enmascara exactamente como lo ingresó.

1. Elija **Create parameter**.