Autenticación de registro privado para trabajos - AWS Batch

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.

Autenticación de registro privado para trabajos

La autenticación del registro privado para los trabajos AWS Secrets Manager le permite almacenar sus credenciales de forma segura y luego hacer referencia a ellas en la definición de su trabajo. Esto proporciona una forma de hacer referencia a las imágenes de contenedores que existen en registros privados y AWS que no requieren autenticación en las definiciones de trabajo. Esta función es compatible con los trabajos alojados en las instancias de Amazon EC2 y en Fargate.

importante

Si la definición de su puesto hace referencia a una imagen almacenada en Amazon ECR, este tema no se aplica. Para obtener más información, consulte Utilización de imágenes de Amazon ECR con Amazon ECS en la Guía del usuario de Amazon Elastic Container Registry.

Para los trabajos alojados en instancias de Amazon EC2, esta función requiere una versión 1.19.0 o posterior del agente contenedor. No obstante, recomendamos utilizar la versión del agente de contenedor más reciente. Para obtener información sobre cómo comprobar la versión del agente y actualizarla a la última versión, consulte Actualización del agente contenedor de Amazon ECS en la Guía para desarrolladores de Amazon Elastic Container Service.

Para los trabajos alojados en Fargate, esta función requiere una versión de plataforma 1.2.0 o posterior. Para obtener más información, consulte las versiones de la plataforma AWS Fargate Linux en la Guía para desarrolladores de Amazon Elastic Container Service.

En la definición de contenedor, especifique el objeto repositoryCredentials con los detalles del secreto que ha creado. El secreto al que haga referencia puede provenir de una cuenta distinta Región de AWS o distinta de la del trabajo que lo utiliza.

nota

Al usar la AWS Batch API o el AWS SDK, si el secreto existe en el Región de AWS mismo lugar que el trabajo que está lanzando, puede usar el ARN completo o el nombre del secreto. AWS CLI Si el secreto existe en otra cuenta, debe especificarse el ARN completo del secreto. Al utilizar el AWS Management Console, se debe especificar siempre el ARN completo del secreto.

A continuación se muestra un fragmento de una definición de trabajo que muestra los parámetros necesarios:

"containerProperties": [ { "image": "private-repo/private-image", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:123456789012:secret:secret_name" } } ]

Permisos de IAM requeridos para la autenticación de registros privados

El rol de ejecución es obligatorio para usar esta función. Esto permite que el agente de contenedor extraiga la imagen del contenedor. Para obtener más información, consulte AWS Batch función de IAM de ejecución.

Para proporcionar acceso a los secretos que cree, añada 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.

  • secretsmanager:GetSecretValue

  • kms:Decrypt: solo se requiere si la clave utiliza una clave de KMS personalizada y no la clave de KMS predeterminada. Se debe agregar el nombre de recurso de Amazon (ARN) de la clave de personalizada como un recurso.

Es siguiente es un ejemplo de política insertada que agrega los permisos.

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

Uso de autenticación de registros privados

Para crear un secreto básico

Úselo AWS Secrets Manager para crear un secreto para sus credenciales de registro privado.

  1. Abra la AWS Secrets Manager consola en https://console.aws.amazon.com/secretsmanager/.

  2. Elija Almacenar un secreto nuevo.

  3. En Select secret type (Seleccionar tipo de secreto), elija Other type of secrets (Otro tipo de secretos).

  4. Seleccione Plaintext (Texto no cifrado) y especifique sus credenciales de registros privados con el siguiente formato:

    { "username" : "privateRegistryUsername", "password" : "privateRegistryPassword" }
  5. Seleccione Siguiente.

  6. En Secret name (Nombre del secreto), ingrese una ruta y un nombre opcionales, como production/MyAwesomeAppSecret o development/TestSecret, y elija Next (Siguiente). Opcionalmente, puede añadir una descripción para ayudarle a recordar el objetivo de este secreto más adelante.

    El nombre del secreto debe estar formado por letras ASCII, dígitos o alguno de los siguientes caracteres: /_+=.@-.

  7. (Opcional) En este punto puede configurar la rotación para su secreto. Para este procedimiento, deje seleccionado Disable automatic rotation (Deshabilitar la rotación automática) y, a continuación, elija Next (Siguiente).

    Para obtener instrucciones sobre cómo configurar la rotación de datos secretos nuevos o existentes, consulte Cómo cambiar tus datos AWS Secrets Manager secretos.

  8. Revise la configuración y, a continuación, elija Store secret (Almacenar secreto) para guardar todo lo que ingresó como secreto nuevo en Secrets Manager.

Registre una definición de trabajo y, en Registro privado, active la autenticación del registro privado. A continuación, en nombre o ARN de Secrets Manager, introduzca el nombre de recurso de Amazon (ARN) del secreto. Para obtener más información, consulte Permisos de IAM requeridos para la autenticación de registros privados.