Recuperación de secretos de Almacén de parámetros de Systems Manager mediante programación en Amazon ECS - Amazon Elastic Container Service

Recuperación de secretos de Almacén de parámetros de Systems Manager mediante programación en Amazon ECS

El almacén de parámetros de Systems Manager proporciona almacenamiento y administración seguros de secretos. Puede almacenar datos como contraseñas, cadenas de base de datos, ID de instancias de EC2 e ID de AMI y códigos de licencia como valores de parámetros. Puede almacenar valores como texto sin formato o como datos cifrados.

En lugar de codificar la información confidencial en texto sin formato en la aplicación, puede utilizar Secrets Manager para almacenar los datos confidenciales.

Recomendamos este método para recuperar datos confidenciales porque si el parámetro del Almacén de parámetros de Systems Manager se actualiza posteriormente, la aplicación recuperará automáticamente la versión más reciente.

Cree un secreto en Secrets Manager. Después de crear un secreto de Secrets Manager, actualice el código de la aplicación para recuperar el secreto.

Revise las siguientes consideraciones antes de proteger datos confidenciales en el almacén de parámetros de Systems Manager.

  • Solo se admiten secretos que almacenan datos de texto. No se admiten los secretos que almacenan datos binarios.

  • Utilice los puntos de conexión de VPC de interfaz para mejorar los controles de seguridad.

  • La VPC que utiliza la tarea debe usar la resolución de DNS.

Permisos de IAM necesarios

Para utilizar esta característica, debe tener el rol de tareas de Amazon ECS y hacer referencia a él en la definición de tarea. Esto permite que el agente de contenedores extraiga los recursos necesarios de Systems Manager. Para obtener más información, consulte Rol de IAM de tarea de Amazon ECS.

importante

En el caso de las tareas que utilizan el tipo de lanzamiento de EC2, debe utilizar la variable de configuración del agente de ECS ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE=true para utilizar esta característica. Puede añadirla al archivo ./etc/ecs/ecs.config durante la creación de la instancia de contenedor o puede añadirla a una instancia existente y, a continuación, reiniciar el agente de ECS. Para obtener más información, consulte Configuración del agente de contenedor de Amazon ECS.

Para proporcionar acceso a los parámetros del almacén de parámetros de Systems Manager que cree, agregue manualmente los siguientes permisos como política al rol de ejecución de tareas. Para obtener información sobre cómo administrar los permisos, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.

  • ssm:GetParameters: obligatorio si se hace referencia a un parámetro del almacén de parámetros de Systems Manager en una definición de tareas. Agrega el permiso para recuperar los parámetros de Systems Manager.

  • secretsmanager:GetSecretValue: obligatorio si se hace referencia a un secreto de Secrets Manager directamente o si el parámetro del almacén de parámetros de Systems Manager hace referencia a un secreto de Secrets Manager en una definición de tareas. Agrega el permiso para recuperar el secreto de Secrets Manager.

  • kms:Decrypt: obligatorio solo si el secreto utiliza una clave administrada por el cliente y no la clave predeterminada. El ARN de su clave personalizada debe añadirse como un recurso. Agrega el permiso para descifrar la clave administrada por el cliente.

La siguiente política de ejemplo agrega los permisos necesarios:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameters", "secretsmanager:GetSecretValue", "kms:Decrypt" ], "Resource": [ "arn:aws:ssm:region:aws_account_id:parameter/parameter_name", "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name", "arn:aws:kms:region:aws_account_id:key/key_id" ] } ] }

Cree el parámetro de

Puede utilizar la consola de Systems Manager para crear un parámetro del almacén de parámetros de Systems Manager para la información confidencial. Para obtener más información, consulte Creación de un parámetro de Systems Manager (consola) o Creación de un parámetro de Systems Manager (AWS CLI) en la Guía del usuario de AWS Systems Manager.

Actualice la aplicación para que recupere secretos del almacén de parámetros de Systems Manager mediante programación

Para recuperar los datos confidenciales almacenados en el parámetro de Parameter Store de Systems Manager, consulte Ejemplos de código de Systems Manager mediante SDK de AWS en la Biblioteca de ejemplos de código del SDK de AWS.