Envía imágenes a Harbor para mejorar la seguridad con el control de acceso basado en roles, el análisis de vulnerabilidades automatizado y la administración de imágenes simplificada para tus aplicaciones alojadas en contenedores. Para enviar una imagen local a una instancia de Harbor, etiquétala con el nombre del repositorio y, luego, envíala.
Antes de comenzar
Para enviar una imagen, debes configurar tu entorno con los recursos y permisos necesarios, incluido un proyecto de Harbor existente. Para obtener más información, consulta Crea proyectos de Harbor.
Roles de IAM obligatorios
Para enviar imágenes a instancias de registro de Harbor, comunícate con el administrador de proyectos de IAM y solicita el siguiente rol:
- Visualizador de instancias de Harbor (
harbor-instance-viewer): Obtén, enumera y supervisa las instancias de Harbor en el espacio de nombres del proyecto. Este rol incluye los permisos necesarios para ver los detalles de las instancias de Harbor existentes, de modo que puedas recuperar las URLs de registro necesarias para enviar imágenes.
Roles de RBAC de Harbor obligatorios
A diferencia de los roles de IAM de GDC, enviar imágenes requiere permisos específicos dentro del sistema de control de acceso basado en roles (RBAC) interno de Harbor. Solicita los permisos necesarios a tu administrador. Aplica el acceso con privilegio mínimo solicitando solo los roles necesarios para tus tareas específicas.
- Desarrollador: Es obligatorio para enviar imágenes a un repositorio de Harbor. Para obtener más información sobre todos los roles disponibles, consulta la documentación de Harbor sobre los permisos del usuario por rol: https://goharbor.io/docs/2.12.0/administration/managing-users/user-permissions-by-role/.
Etiqueta la imagen local
Sigue estos pasos para etiquetar una imagen local con el nombre del repositorio:
- Debes autenticarte en la instancia de Harbor. Para obtener más información, consulta Configura la autenticación de Docker en las instancias de registro de Harbor.
Establece el nombre de la imagen. El formato del nombre completo de una imagen es el siguiente:
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGEReemplaza lo siguiente:
INSTANCE_URL: Es la URL de la instancia de Harbor. Por ejemplo,harbor-1.org-1.zone1.google.gdc.test. Obtén la URL de la instancia de Harbor con la consola de GDC o la CLI de gdcloud.HARBOR_PROJECT_NAME: Es el nombre del proyecto de Harbor. Por ejemplo:my-project..IMAGE_NAME: Es el nombre de la imagen. Por ejemplo,nginx.
Un ejemplo del nombre completo de la imagen podría verse de la siguiente manera:
harbor-1.org-1.zone1.google.gdc.test/my-project/nginxEtiqueta la imagen local con el nombre del repositorio:
docker tag SOURCE-IMAGE INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
Reemplaza lo siguiente:
SOURCE-IMAGE: Es el nombre o el ID de la imagen local. Por ejemplo,nginxTAG: Es el nombre de la etiqueta. Por ejemplo,stagingSi no especificas una etiqueta, Docker aplica la etiqueta más reciente de forma predeterminada.
Envía la imagen etiquetada a una instancia de registro de Harbor
Una vez que se etiquete la imagen, envíala a la instancia de registro de Harbor:
- Asegúrate de estar autenticado en la instancia de Harbor.
- Envía la imagen con etiquetas mediante el siguiente comando:
docker push
INSTANCE_URL/HARBOR_PROJECT_NAME/IMAGE:TAG
Cuando envías una imagen, se almacena en la instancia y el proyecto de Harbor especificados.
Después de enviar tu imagen, ve a la IU de la instancia de Harbor para ver la imagen.
¿Qué sigue?
Después de enviar la imagen a tu registro de Harbor, puedes extraerla a tu entorno local para verificarla. También puedes configurar reglas de retención de etiquetas para mantener tus repositorios de forma automática y revisar los resultados de los análisis de seguridad para detectar vulnerabilidades:
- Extrae una imagen con Docker
- Configura las reglas de retención de etiquetas
- Analiza en busca de vulnerabilidades