Contenido
- Configurar la integración a registros de imágenes externos
- Derechos mínimos para la integración a registros
- Trabajar con registros públicos sin autorización
- Añadir integraciones a registros de imágenes externos
- Visualizar información sobre integraciones a registros
- Eliminar la integración a registros externos
- Integración a Harbor
- Crear una integración a partir de una solicitud de Harbor
- Visualizar y editar la configuración de la integración Harbor External Integration
- Reanálisis
Configurar la integración a registros de imágenes externos
Kaspersky Container Security puede analizar imágenes desde los siguientes registros externos:
- Harbor
- GitLab Registry
- JFrog Artifactory
- Sonatype Nexus Repository OSS
- Yandex Registry
- Docker Hub
- Docker Registry
La integración a Docker Registry exige compatibilidad con la API de Docker Registry V2 del lado del servidor del registro externo.
- Red Hat Quay
- Amazon Elastic Container Registry
Debe configurar la integración a registros externos para que la solución pueda analizar las imágenes de esos registros. Las imágenes de registros integrados a Kaspersky Container Security pueden analizarse de forma automática o manual, según la configuración de la extracción y el análisis de imágenes de cada registro.
Derechos mínimos para la integración a registros
Para integrarse a registros de imágenes externos, la cuenta de Kaspersky Container Security debe tener determinados derechos, que variarán según el tipo de registro. A continuación podrá consultar la lista de los derechos mínimos que necesita la cuenta para la integración a cada tipo de registro.
GitLab
Para integrar la solución a un registro del usuario en GitLab, debe definir los parámetros con los siguientes valores:
- Rol de usuario en el proyecto o grupo: Reporter
- Nivel de acceso al proyecto: Reporter
- Derechos asignados al token del usuario: read_api, read_registry
JFrog Artifactory
Para integrar la solución a un registro del usuario en JFrog, debe definir los parámetros con los siguientes valores:
- Rol de usuario en el proyecto o grupo: Manage Reports
- Acceso al proyecto: Can Update Profile
- Derechos del usuario: derecho a leer cualquier repositorio (ANY)
Harbor
Para integrar la solución a un registro del usuario en Harbor, debe definir los parámetros con los siguientes valores:
- Tipo de miembro: user. Para ello, en la sección Projects → Members, debe especificar el valor User en la columna tipo de miembro de la tabla.
- Rol del usuario en el proyecto o el grupo: usuario con derechos limitados. Para ello, en la sección Projects → Members, debe especificar el valor Guest en la columna rol de la tabla.
- Derechos del usuario: usuario sin derechos de administrador. Para ello, en la sección Usuarios , debe elegir No en la columna Administrator de la tabla.
Nexus
Para integrar la solución a un registro del usuario en Nexus, debe definir los parámetros con los siguientes valores:
- Rol de usuario en el proyecto o grupo: user
- Derechos asignados al rol del usuario en el proyecto o grupo: nx-apikey-all, nx-repository-view-docker-*-browse, nx-repository-view-docker-*-read
Docker Hub
La solución se integra al registro del usuario en Docker Hub después de autorizarse con nombre de usuario y contraseña.
La opción de integración al registro de Docker Hub solo es posible en un espacio de nombres personal.
RedHat Quay
Para integrar la solución a un registro del usuario en RedHat Quay, debe tener los siguientes derechos y permisos:
- Permisos del usuario para el funcionamiento correcto de la función Probar conexión: usuario con permisos de administración de la organización
- Permisos para ver todos los repositorios visibles
- Permisos de lectura y escritura en cualquier repositorio accesible
Yandex
Para integrar la solución a un registro del usuario en Yandex, debe definir los parámetros con los siguientes valores:
- Rol de usuario en el proyecto o grupo:
container-registry.viewer
- Permisos otorgados al rol del usuario en un proyecto o grupo: visualización de registros en contenedores
Amazon Elastic Container Registry
Para integrar la solución a un registro del usuario en Amazon Elastic Container Registry, debe definir los parámetros con los siguientes valores:
- Directiva de AWS para acceder a un proyecto o grupo:
AmazonEC2ContainerRegistryReadOnly
- Permisos otorgados al rol del usuario en un proyecto o grupo: visualización y lectura
Trabajar con registros públicos sin autorización
Kaspersky Container Security 2.0 no funciona con registros públicos sin una autorización. Por ejemplo, no puede usar la solución para analizar imágenes si accede a Docker Hub de forma anónima.
Si no autoriza los registros públicos, puede usar dichos registros de imágenes en un clúster, añadirlos a Kaspersky Container Security y asignarlos manualmente a un alcance determinado. Si el alcance incluye uno o diversos registros públicos sobre los cuales no tenga autorización e intenta añadir una imagen desde la sección Resources → Registries, la solución mostrará un error que indica que es imposible añadir imágenes porque la solución no cuenta con la integración al registro.
Inicio de páginaAñadir integraciones a registros de imágenes externos
Los registros integrados admiten solo repositorios locales que contienen las imágenes directamente. En la versión 2.0, Kaspersky Container Security no admite el uso de repositorios remotos o virtuales.
Para añadir una integración a un registro externo:
- En la sección Administration → Integrations → Image registries, haga clic en el botón Add registry.
Se abre la ventana de configuración de la integración.
- En la pestaña Registry details, configure la conexión con el registro:
- Introduzca el nombre del registro.
- De ser necesario, introduzca una descripción del registro.
- Elija el tipo de registro en la lista desplegable. Kaspersky Container Security admite los siguientes tipos de registros:
- Harbor (integración mediante la API de Harbor V2)
- GitLab Registry (integración mediante la API de GitLab Container Registry)
- JFrog Artifactory (integración mediante la API de JFrog)
- Sonatype Nexus Repository OSS (integración mediante la API de Nexus)
- Yandex Registry (integración mediante la API de Yandex Container Registry)
- Docker Hub (integración mediante la API de Docker Hub)
- Docker Registry (integración mediante la API de Docker Registry V2)
- Red Hat Quay (integración mediante la API de Red Hat Quay)
- Amazon Elastic Container Registry (integración mediante la API de Amazon Elastic Container Registry)
Puede acceder a Docker Registry mediante la API de Docker Registry V2 si ha configurado la integración a Sonatype Nexus Repository OSS, Harbor, JFrog Artifactory (con un puerto o un subdominio) o Yandex Registry. Las integraciones a GitLab Registry, Docker Hub y JFrog Artifactory (con la ruta al repositorio) no son compatibles.
- Si configura la integración al registro de JFrog Artifactory, elija uno de los siguientes métodos en la lista desplegable Repository Path method para acceder a Docker:
- Repository path
- Subdomain
- Port
- Si configura la integración al registro de Sonatype Nexus Repository OSS, elija el modo de extracción Tagged images o All images. Si elige el modo All images, la solución extrae todas las imágenes del registro, tengan o no etiquetas. Las imágenes sin etiquetas se mostrarán con el hash de compilación.
- Si configura una integración a un registro de JFrog Artifactory, Harbor, GitLab Registry, Sonatype Nexus Repository OSS, Docker Registry o Red Hat Quay, introduzca la dirección URL completa del registro que dirige al registro del contenedor. Recomendamos que utilice una conexión HTTPS (la conexión HTTP también es compatible).
Si utiliza una conexión HTTP o HTTPS con un certificado autofirmado o no válido, debe elegir la casilla de registro no seguro para el motor de Docker en los nodos donde se instale el servidor y se realice el análisis.
- Si configura una integración a un registro de JFrog Artifactory, Harbor, GitLab Registry, Sonatype Nexus Repository OSS o Red Hat Quay, introduzca la dirección URL completa que dirige a la API del registro.
- Elija un método de autenticación y especifique los datos necesarios de la siguiente manera:
- Si configura una integración a un registro de GitLab Registry, elija la autenticación mediante una cuenta o un token de acceso.
- Si configura una integración a un registro de Yandex Registry, elija la autenticación mediante una clave de API (token OAuth de Yandex) o un nombre de usuario con contraseña. Al usar el token de OAuth de Yandex, debe especificar el nombre de usuario oauth o iam si usa el token de Yandex IAM.
- Para los registros de Sonatype Nexus Repository OSS y Docker Hub, la autenticación solo se realiza con una cuenta.
- Para un registro de Harbor, la autenticación solo está permitida con una cuenta de usuario o robot.
- Para un registro de Docker, la autenticación solo está permitida con un usuario con contraseña, que proporciona la API de Docker V2.
- Para los registros de Red Hat Quay, el único método de autenticación es mediante el nombre de la organización y el token de acceso. Especifique estos parámetros en los campos Organization name y OAuth token.
- En el caso de Amazon Elastic Container Registry, puede autenticar una cuenta especificando la región, el ID de la clave de acceso y la clave de acceso a los secretos.
En el campo Region, debe especificar una de las regiones de Amazon Web Services (por ejemplo, us-west-2 o us-east-2).
Para la configuración de Access key ID y Access key, debe especificar los valores que puede recibir con la consola de administración de AWS.
- Diríjase a la pestaña Repository caching y utilice los botones Disabled/Enabled para activar la copia en caché de repositorios si es necesario. Si la copia en caché está desactivada, los repositorios y las imágenes en la sección Registry solo se mostrarán si se usa el campo Search. Si la copia en caché está activada, la solución muestra la lista de los repositorios e imágenes disponibles. De forma predeterminada, la copia en caché de repositorios está desactivada.
Activar la copia en caché de repositorios podría afectar al rendimiento de Kaspersky Container Security.
- Diríjase a la pestaña Image scan details y configure los siguientes parámetros para el análisis de imágenes:
- Tiempo de espera del análisis, en minutos, para las imágenes de este registro. El tiempo de espera predeterminado de análisis es de 60 minutos.
Si el análisis de la imagen tiene una duración mayor del tiempo especificado, el análisis se detiene y la imagen se devuelve a la cola de análisis. La solución pondrá la imagen en cola un máximo de 3 veces. Esto significa que el tiempo necesario para analizar una imagen del registro podría triplicarse.
Configuración de extracción y análisis de imágenes del registro. De forma predeterminada, la opción Manual está seleccionada en Pull and scan images: las imágenes no se extraen automáticamente del registro, sino que el usuario puede añadir imágenes de forma manual a la lista de imágenes para su análisis. Las nuevas imágenes se ponen en cola para su análisis automáticamente.
Si desea que las imágenes se extraigan del registro y se coloquen en cola para su análisis de forma automática, elija Automatic en Pull and scan images y configure la extracción y el análisis de imágenes. Las siguientes opciones están disponibles:
- Scan interval (days): período, en días, para la extracción de imágenes del registro para su análisis. El valor predeterminado es 1 día.
- Scan time (GMT): tiempo durante el cual se analizan las imágenes del registro.
- De ser necesario, debe elegir la casilla de verificación para volver a hacer un análisis de las imágenes extraídas anteriormente siempre que se analicen nuevas imágenes.
- De ser necesario, en Advanced settings, elija la casilla de verificación Name / tag criteria para usar el nombre de la imagen o los patrones de etiquetas a fin de especificar las imágenes que desee extraer y analizar. Si elige la casilla de verificación, Kaspersky Container Security solo extraerá las imágenes que coincidan con los patrones especificados para análisis.
Puede utilizar los siguientes patrones:
- nombre de imagen y etiqueta: <nombre><:etiqueta>
- solo nombre de imagen: <nombre>
- solo etiqueta: <:etiqueta>
Por ejemplo:
- Para el patrón
alpine
, se extraen todas las imágenes con el nombre "alpine", no importa cuál sea su etiqueta. - Para el patrón
4
, se extraen todas las imágenes con la etiqueta "4", no importa cuáles sean los nombres de las imágenes. - Para el patrón
alpine:4
, se extraen todas las imágenes que tengan el nombre "alpine" y la etiqueta "4".
Al generar patrones, puede usar el carácter * para reemplazar cualquier cantidad de caracteres.
Puede añadir uno o más patrones.
- Elija una de las siguientes condiciones para extraer imágenes:
- Si no desea aplicar ninguna condición adicional, elija No additional conditions.
- Si solo desea extraer las imágenes creadas en un plazo específico, elija esta opción y, en los campos a la derecha, especifique la duración del plazo y la unidad de medida. De forma predeterminada, el período es de 60 días.
- Si desea extraer únicamente las imágenes que tengan las etiquetas más recientes (a partir de la fecha de creación de la imagen), elija esta opción y, en el campo a la derecha, especifique la cantidad de etiquetas recientes de cada repositorio que desee considerar.
- De ser necesario, en Exceptions, elija las casillas de verificación para especificar las excepciones de la extracción de imágenes:
- Never pull images with the name/tag pattern: con los patrones nombre de imagen y etiqueta puede especificar las imágenes que se excluyen de la extracción y el análisis.
- Always pull images with the name/tag pattern: con los patrones nombre de imagen y etiqueta puede especificar las imágenes que se extraen y analizan siempre, sin importan otras condiciones establecidas anteriormente.
- Tiempo de espera del análisis, en minutos, para las imágenes de este registro. El tiempo de espera predeterminado de análisis es de 60 minutos.
- Haga clic en Test connection para verificar si se puede establecer una conexión con el registro.
- Haga clic en el botón Save, en la parte superior de la ventana, para guardar la configuración de la integración al registro.
Ejemplo de la configuración de la integración al registro de Red Hat Quay
Inicio de páginaVisualizar información sobre integraciones a registros
Puede visualizar la tabla que contiene todos los registros integrados a Kaspersky Container Security en la sección Administration → Integrations → Image registries.
En la tabla, se observa la siguiente información sobre los registros integrados:
- Nombre de la integración al registro de imágenes.
- Descripción (si se ha especificado una al crear la integración al registro de imágenes).
- Tipo de registro conectado.
- Dirección URL del registro.
- Estado de la última conexión con el registro de imágenes: Success o Error. Si aparece el estado Error, la solución también muestra una descripción breve del error de conexión.
En la tabla, puede realizar las siguientes acciones:
- Añadir nuevas integraciones a registros. Haga clic en Add registry, que se encuentra encima de la tabla, para abrir la ventana de configuración de integraciones.
- Ver y modificar la configuración de integraciones a registros, incluso la configuración de extracción y análisis de imágenes. Haga clic en el enlace del nombre del registro para abrir la ventana de edición.
En esta ventana, también puede hacer clic en Test connection para verificar si se puede establecer una conexión al registro.
- Eliminar integraciones a registros.
Eliminar la integración a registros externos
Para eliminar la integración a un registro externo:
- En la sección Administration → Integrations → Image registries, elija la integración que desee eliminar; para ello haga clic en la casilla de verificación en la fila del nombre del registro. Puede elegir una o más integraciones.
- Haga clic en Delete por encima de la tabla.
Podrá hacer clic en el botón Delete después de elegir al menos una integración.
- En la ventana que se abre, confirme la eliminación.
Kaspersky Container Security no analiza imágenes de un registro con el cual ya no existe ninguna integración.
Inicio de páginaIntegración a Harbor
Puede integrar Kaspersky Container Security al registro externo de Harbor de una de las siguientes formas:
- De la misma manera que al integrar la solución a otros registros externos
- Después de una solicitud del registro externo de Harbor
Harbor considera que la solución es una herramienta de análisis externa que busca vulnerabilidades en objetos. Debe configurar la integración de Kaspersky Container Security con el complemento de análisis de Harbor. La solución identificará el registro de imágenes creado automáticamente como Harbor External Integration y marcará el repositorio donde se encuentre con el icono de Harbor ().
Esta integración sigue siendo la única integración a Harbor creada automáticamente y el nombre que recibe el registro no puede modificarse.
Para comenzar el análisis de Harbor, debe conocer el endpoint de la API de Kaspersky Container Security.
Para crear una integración a partir de una solicitud de Harbor, es necesario tener derechos para visualizar y configurar el análisis de CI/CD. Si no tiene estos derechos, Harbor no podrá conectarse con la solución para el análisis ni analizar objetos como parte del proceso de CI/CD.
Inicio de páginaCrear una integración a partir de una solicitud de Harbor
Para crear una integración al registro a partir de una solicitud de Harbor, debe tener una cuenta de Harbor y derechos de administrador y derechos para visualizar y configurar análisis en CI/CD en Kaspersky Container Security. Si no tiene estos derechos, Harbor no podrá conectarse con la solución para realizar análisis.
Para crear una integración a Harbor a partir de una solicitud de Harbor:
- En el menú principal, en el panel izquierdo de la interfaz web de Harbor, elija Administración (Administration) → Servicios de consultas (Interrogation Services).
- Haga clic en el botón Nuevo análisis (New Scanner).
- Introduzca la siguiente información:
- El nombre único de la integración a la solución que se mostrará en la interfaz de Harbor
- Una descripción, de ser necesaria, de la herramienta externa de análisis que se añadirá
- La dirección del endpoint de la API de Kaspersky Container Security que mostrará Harbor
- En la lista desplegable Autorización (Authorization), elija APIKey como método de autorización al conectar el registro con la solución.
- En el campo APIKey, introduzca el token de la API.
Si el token de la API cambiara, debería declarar su nuevo valor antes de iniciar un análisis con Harbor. Si no se añade el nuevo token de la API a la configuración de la herramienta externa de análisis en Harbor, el análisis finalizará con un error.
- Elija la casilla Omitir verificación del certificado (Skip certificate verification) para omitir esta verificación.
- De ser necesario, haga clic en Probar conexión (Test Connection) para verificar que Harbor pueda conectarse con la solución.
- Haga clic en Añadir (Add) para crear la integración.
En la lista de herramientas de análisis disponibles en Administración (Administration) → Servicios de consulta (Interrogation Services) → Análisis (Scanners), se mostrará el nombre que ha asignado a la solución en Harbor.
La nueva herramienta de análisis se utilizará para analizar objetos si se especifica como la herramienta predeterminada en Harbor o se asigna al proyecto. Ambas opciones requieren una configuración adicional en Harbor.
Después de iniciar el análisis, en el registro externo se crea una integración a la solución a partir de la solicitud de Harbor. Kaspersky Container Security mostrará el registro de Harbor External Integration en la lista de registros de imágenes en la sección Administration → Integrations → Image registries. El repositorio que contiene las imágenes del registro externo se marcará con el icono de Harbor (). Harbor External Integration se actualiza después de iniciar y ejecutar otro análisis en el registro externo.
No puede añadir una imagen a un registro de imágenes creado automáticamente desde Harbor con el botón Add images en la Consola de administración.
Los análisis de Harbor External Integration pueden iniciarse manualmente o ejecutarse automáticamente desde el registro externo. No puede iniciar el análisis o el reanálisis de imágenes desde el registro de imágenes de Harbor creado automáticamente en Kaspersky Container Security.
El registro de Harbor External Integration (y el registro creado como parte de la integración estándar a Harbor) se analiza según la directiva de análisis pertinente.
Al finalizar el análisis, la solución genera un informe de las vulnerabilidades halladas durante el análisis de los objetos elegidos y lo envía a Harbor. Si el envío del informe demora más de 5 segundos (por ejemplo, debido a la calidad de la conexión de red), verá un error en los resultados de recepción del análisis en la interfaz del registro externo.
Inicio de páginaVisualizar y editar la configuración de la integración Harbor External Integration
En la sección Administration → Integrations → Image registries, se muestra el registro de imágenes de Harbor External Integration en la lista de registros integrados a Kaspersky Container Security.
Para modificar la configuración de Harbor External Integration:
- Elija el registro de Harbor External Integration en la lista de registros de imágenes en la sección Administration → Integrations → Image registries.
- Especifique los valores de los siguientes parámetros de configuración:
- Description en la pestaña Registry details
- Scan timeout en la pestaña Image scan details
No puede modificar otros datos del registro de Harbor External Integration.
- Haga clic en Save.
Reanálisis
Después de recibir los resultados de los análisis, los objetos del registro de Harbor External Integration no pueden enviarse para un reanálisis desde Kaspersky Container Security. Solo puede solicitarlo desde Harbor.
Si crea una integración a Harbor desde Kaspersky Container Security y el registro de imágenes creado es similar a Harbor External Integration, se aplican las siguientes reglas en un reanálisis:
- Los objetos de análisis en el registro creado en la solución no ejecutan un reanálisis en Harbor External Integration.
- Los objetos de análisis en Harbor External Integration no ejecutan un reanálisis en el registro creado en la solución.