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.
Registro privado conAWS Secrets Manager muestra para CodeBuild
En este ejemplo, se explica cómo se utiliza una imagen de Docker almacenada en un registro privado como entorno de ejecución de AWS CodeBuild. Las credenciales del registro privado están almacenadas en AWS Secrets Manager. Cualquier registro privado funciona con CodeBuild. En esta muestra se utiliza Docker Hub.
Los secretos son visibles para las acciones y no se ocultan cuando se escriben en un archivo.
Requisitos del ejemplo de un registro privado
Para poder utilizar un registro privado con AWS CodeBuild, debe tener lo siguiente:
-
Un secreto de Secrets Manager que almacena las credenciales del Docker Hub. Las credenciales se utilizan para obtener acceso al repositorio privado.
-
Un repositorio privado o una cuenta.
-
Una política de IAM de funciones de CodeBuild servicio que permite acceder a tu secreto de Secrets Manager.
Siga estos pasos para crear estos recursos y, a continuación, cree un proyecto de CodeBuild compilación con las imágenes de Docker almacenadas en su registro privado.
Crea un CodeBuild proyecto con un registro privado
-
Para obtener información sobre cómo crear un repositorio privado gratuito, consulte Repositorios en Docker Hub
. También puede ejecutar los siguientes comandos en un terminal para extraer una imagen, obtener su ID y enviarla a un nuevo repositorio. docker pull amazonlinux docker images amazonlinux --format {{.ID}} docker tag
image-id
your-username
/repository-name
:tag
docker login docker pushyour-username
/repository-name
-
Siga los pasos de Creación de un secreto básico en la Guía del usuario de AWS Secrets Manager. En el paso 3, en Select secret type (Seleccionar tipo de secreto), haga lo siguiente:
-
Elija Other type of secrets (Otro tipo de secretos).
-
En Secret key/value (Clave/valor de secreto), crear un par de clave-valor para el nombre de usuario de Docker Hub y otro par de clave-valor para la contraseña de Docker Hub.
-
En Secret Name (Nombre del secreto), escriba un nombre, por ejemplo,
dockerhub
. Puede escribir una descripción opcional que le ayude a recordar que es un secreto para Docker Hub. -
Deje seleccionada la opción Disable automatic rotation (Deshabilitar rotación automática) porque las claves corresponden a sus credenciales de Docker Hub.
-
Elija Store secret (Almacenar secreto).
-
Cuando revise la configuración, anote el ARN para utilizarlo más adelante en esta muestra.
Para obtener más información, consulte ¿Qué es AWS Secrets Manager?
-
-
Al crear unAWS CodeBuild proyecto en la consola, le CodeBuild adjunta el permiso requerido. Si utiliza una clave de AWS KMS distinta de
DefaultEncryptionKey
, debe añadirla al rol de servicio. Para obtener más información, consulte Modificación de un rol (consola) en la IAM User Guide (Guía del usuario de IAM).Para que su función de servicio funcione con Secrets Manager, debe tener, como mínimo, el
secretsmanager:GetSecretValue
permiso. -
Para usar la consola para crear un proyecto con un entorno almacenado en un registro privado, haga lo siguiente mientras crea un proyecto. Para obtener información, consulte Creación de un proyecto de compilación (consola).
nota Si tu registro privado está en tu VPC, debe tener acceso público a Internet. CodeBuild no puede extraer una imagen de una dirección IP privada de una VPC.
-
En Environment (Entorno), elija Custom image (Imagen personalizada).
-
En Environment type (Tipo de entorno), elija Linux o Windows.
-
En Custom image type (Tipo de imagen personalizada), elija Other location (Otra ubicación).
-
En Otra ubicación, introduce la ubicación de la imagen y el ARN o el nombre de tus credenciales de Secrets Manager.
nota Si las credenciales no existen en la región actual, debe usar el ARN. No puede utilizar el nombre de la credencial si las credenciales existen en otra región.
-