Compartir vía


Integración de la CLI de Defender for Cloud con canalizaciones de CI/CD

Defender for Cloud Command Line Interface (CLI) es una aplicación que puede usar en canalizaciones de integración continua e implementación continua (CI/CD). Ejecuta herramientas de análisis estáticos y conecta código a servicios en la nube. Puede usar la CLI de Defender for Cloud en cualquier proceso de compilación para examinar imágenes de vulnerabilidades de seguridad con escáneres de seguridad integrados. Envía los resultados del examen al portal de Defender for Cloud. Después, Cloud Security Explorer puede acceder a la imagen de contenedor y sus vulnerabilidades.

Requisitos previos

  • Una suscripción de Azure con Defender for Cloud incorporado. Si aún no tiene una cuenta de Azure, cree una de forma gratuita.

  • Una de las siguientes herramientas de canalización de CI/CD: Jenkins, BitBucket Pipelines, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services, AWS CodeBuild

  • En Azure DevOps, extensión de Microsoft Security DevOps (MSDO) instalada en la organización de Azure DevOps.

  • El Defender CSPMestá habilitado.

  • Permiso de administrador de seguridad para crear el identificador de cliente y el secreto.

Configurar

En las secciones siguientes, se explica cómo recuperar el identificador de cliente y los secretos, actualizar el script de canalización de CI/CD y agregar variables de entorno a la canalización de CI/CD.

Recuperación del token de API

Para permitir que los datos de seguridad de la CLI de Defender for Cloud se pasen al back-end de Defender for Cloud, el administrador de seguridad de Defender for Cloud debe generar primero una clave de API desde Defender for Cloud para la autenticación.

Cuando se generan tokens, el administrador de seguridad selecciona un ámbito de suscripción que se va a asociar al token. Los datos que se insertan en Defender for Cloud desde este token se limitan a la suscripción a la que está asociado el token. Estos tokens de API son inmutables y solo se pueden generar o eliminar.

Desde allí, el administrador de seguridad debe pasar de forma segura el token a los desarrolladores que se van a agregar a la canalización de CI/CD.

  1. Inicie sesión en Azure Portal.

  2. Vaya a Microsoft Defender for Cloud>Administración>Configuración del entorno >Integraciones.

    Recorte de pantalla de la configuración del entorno de integración en Defender for Cloud.

  3. Seleccione Agregar integración y, a continuación, seleccione Ingesta de DevOps.

    Recorte de pantalla de la nueva opción de ingesta de DevOps.

  4. Escriba un nombre descriptivo para el token; el inquilino seleccionado almacena la información del token. El secreto de cliente se genera al introducir una descripción para el secreto y la fecha de caducidad.

    Recorte de pantalla de la adición de la integración de ingesta de DevOps.

  5. Habilite el token en configuración y cree los tokens.

    Recorte de pantalla de la creación de la ingesta y creación de tokens de DevOps.

  6. Copie cada token. No se pueden editar ni recuperar después de seleccionar Aceptar/

    Recorte de pantalla de la ingesta correcta de DevOps creada.

  7. En la tabla Integraciones, se muestra la nueva ingesta.

    Recorte de pantalla de la tabla DevOps Integrations con la nueva ingesta.

Actualización del script de canalización de CI/CD

Cada herramienta de canalización de CI/CD tiene una sintaxis diferente. Este código es un ejemplo de una canalización de Bitbucket:

image: atlassian/default-image:3
 
pipelines:
  default:
    - parallel:
      - step:
          name: 'MSDO trivy test'
          script:
            - curl -L -o ./msdo_linux.zip https://www.nuget.org/api/v2/package/Microsoft.Security.DevOps.Cli.linux-x64/
            - unzip ./msdo_linux.zip
            - chmod +x tools/guardian
            - chmod +x tools/Microsoft.Guardian.Cli
            - ls -lah .
            - tools/guardian init --force
            - tools/guardian run -t trivy --export-file ./ubuntu-test.sarif --publish-file-folder-path ./ubuntu-test.sarif            

Variables de canalización

Después de recibir los tokens de forma segura, el desarrollador debe configurar una variable de entorno para la clave. La variable de entorno se pasa a la CLI a través del script de shell que el desarrollador puede recibir de curl o copiar manualmente el script de shell en su repositorio.

NOMBRE Valor
GDN_PUSH_TOKEN_CLIENT_ID <Id. de cliente>
GDN_PUSH_TOKEN_CLIENT_ID <Id. de cliente>
GDN_PUSH_TOKEN_CLIENT_SECRET <Secreto de cliente>
GDN_PIPELINENAME bitbucket, jenkins, gcp, bamboo, circle, travis, teamcity, oci, aws
GDN_PUSH_TOKEN_TENANT_ID <identificador del inquilino>

Revisión de los resultados en Cloud Security Explorer

  1. Después de ejecutar correctamente la canalización, vaya de nuevo a Microsoft Defender for Cloud.

  2. En el menú de Defender for Cloud, seleccione Cloud Security Explorer.

  3. Seleccione lista desplegable Seleccionar tipos de recursos, seleccione DevOpsy, a continuación, seleccione Listo.

    Recorte de pantalla de la canalización de CI/CD en Cloud Security Explorer.

  4. Seleccione el + icono para agregar un nuevo criterio de búsqueda.

    Recorte de pantalla de la nueva búsqueda en Cloud Security Explorer.

  5. Elija la lista desplegable Seleccionar condición. A continuación, seleccione Datos y, a continuación, seleccione Inserciones.

    Recorte de pantalla de la selección de condición Cloud Security Explorer.

  6. Elija la lista desplegable Seleccionar tipos de recursos. A continuación, seleccione Contenedores, luego Imágenes de contenedor y, a continuación, seleccione Listo .

    Recorte de pantalla de la selección de imágenes de contenedor en Cloud Security Explorer.

  7. Seleccione el ámbito seleccionado durante la creación de la integración en Configuración del entorno.

    Recorte de pantalla de la selección del ámbito Cloud Security Explorer.

  8. Selecciona Search.

    Recorte de pantalla de la búsqueda en Cloud Security Explorer.

  9. Consulte los resultados de la canalización a la asignación de imágenes.

Correlación con contenedores supervisados

  1. En Cloud Security Explorer, escriba la siguiente consulta: Canalización de CI/CD:>Canalización + Imágenes de contenedor:>Contenido en + Registros de contenedores (grupo).

  2. Revise los Nombres de recursos para ver la asignación de contenedores.