Este producto no es compatible con el sitio Datadog seleccionado. ().

Utilice las siguientes instrucciones para habilitar IaC Security para Code Security. La IaC Security admite múltiples configuraciones de IaC almacenadas en repositorios de GitHub, GitLab, Azure DevOps o Bitbucket Cloud Premium.

Instale la integración de GitHub

Para conectar sus repositorios de GitHub y habilitar los comentarios de PR, consulte las instrucciones de configuración en Comentarios de solicitudes de extracción.

Habilite IaC Security para sus repositorios

Después de configurar la integración de GitHub, habilite IaC Security para sus repositorios.

  1. En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
  2. En Select your source code management provider, seleccione GitHub.
  3. En Select where your scans should run, seleccione Datadog.
  4. En Connect your GitHub repositories, realice una de las siguientes acciones:
    • Para conectar una nueva cuenta de GitHub, haga clic en Add GitHub Account.
    • Para habilitar IaC Security para una cuenta existente, haga clic en Select repositories, o en Edit si Code Security ya está habilitado.
  5. Para habilitar IaC Security, realice una de las siguientes acciones:
    • Para habilitar IaC Security para todos los repositorios, cambie Enable Infrastructure as Code Scanning (IaC) a la posición ON.
    • Para habilitar IaC Security para un solo repositorio, cambie el interruptor IaC a ON para ese repositorio.

Instale la integración de GitLab

Para conectar sus repositorios de GitLab y habilitar comentarios en PR, consulte las instrucciones de configuración en GitLab Source Code.

Habilite IaC Security para sus repositorios

Después de configurar la integración de GitLab, habilite IaC Security para sus repositorios.

  1. En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
  2. En Select your source code management provider, seleccione GitLab.
  3. En Select where your scans should run, seleccione Datadog.
  4. En Connect your GitLab repositories, realice una de las siguientes acciones:
    • Para conectar una nueva instancia de GitLab, haga clic en Connect GitLab Instance.
    • Para habilitar IaC Security para una cuenta existente, haga clic en Select repositories, o en Edit si Code Security ya está habilitado.
  5. Para habilitar IaC Security, realice una de las siguientes acciones:
    • Para habilitar IaC Security para todos los repositorios, cambie Enable Infrastructure as Code Scanning (IaC) a la posición ON.
    • Para habilitar IaC Security para un solo repositorio, cambie el interruptor IaC a ON para ese repositorio.

Instale la integración de Azure DevOps

Para conectar sus repositorios de Azure DevOps y habilitar comentarios en PR, consulte las instrucciones de configuración en Azure DevOps Source Code.

Habilite IaC Security para sus repositorios

Después de configurar la integración de Azure DevOps, habilite IaC Security para sus repositorios.

  1. En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
  2. En Select your source code management provider, seleccione Azure DevOps.
  3. En Select where your scans should run, seleccione Datadog.
  4. En Connect your Azure DevOps repositories, realice una de las siguientes acciones:
    • Para conectar una nueva organización de Azure DevOps, haga clic en Connect Microsoft Entra App.
    • Para habilitar IaC Security para una cuenta existente, haga clic en Select repositories, o en Edit si Code Security ya está habilitado.
  5. Para habilitar IaC Security, realice una de las siguientes acciones:
    • Para habilitar IaC Security para todos los repositorios, cambie Enable Infrastructure as Code Scanning (IaC) a la posición ON.
    • Para habilitar IaC Security para un solo repositorio, cambie el interruptor IaC a ON para ese repositorio.

Instale la integración de Bitbucket

Para conectar su espacio de trabajo de Bitbucket Cloud y habilitar comentarios en PR, consulte las instrucciones de configuración en Bitbucket Source Code.

Habilite IaC Security para sus repositorios

Después de configurar la integración de Bitbucket, habilite IaC Security para sus repositorios.

  1. En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
  2. En Select your source code management provider, seleccione Bitbucket.
  3. En Select where your scans should run, seleccione Datadog.
  4. En Connect your Bitbucket repositories, realice una de las siguientes acciones:
    • Para conectar un nuevo espacio de trabajo de Bitbucket Cloud, haga clic en Connect Bitbucket Account.
    • Para habilitar IaC Security para un espacio de trabajo existente, haga clic en Select repositories, o en Edit si Code Security ya está habilitado.
  5. Para habilitar IaC Security, realice una de las siguientes acciones:
    • Para habilitar IaC Security para todos los repositorios, cambie Enable Infrastructure as Code Scanning (IaC) a la posición ON.
    • Para habilitar IaC Security para un solo repositorio, cambie el interruptor IaC a ON para ese repositorio.

Configure IaC con un proveedor de CI genérico

Descripción general

Si no utiliza GitHub Actions, GitLab CI/CD o Azure DevOps, puede ejecutar el Datadog IaC Scanner directamente en su pipeline de CI. Cargue los resultados del escaneo de IaC a Datadog utilizando la datadog-ci CLI.

Si está ejecutando IaC Security en un repositorio que no es de GitHub, ejecute el primer análisis en su rama predeterminada. Si su rama predeterminada utiliza un nombre distinto a master, main, default, stable, source, prod o develop, cargue un primer análisis para su repositorio. Luego, sobrescriba manualmente la rama predeterminada en Repository Settings para que los futuros análisis de ramas que no sean la predeterminada se carguen y procesen correctamente.

Requisitos previos

  • Node.js 20 o posterior y npm
  • curl
  • tar
  • Permiso para instalar el escáner en /usr/local/bin

Configure las siguientes variables de entorno:

NombreDescripciónRequeridoPredeterminado
DD_API_KEYSu clave de API de Datadog. Cree esta clave en su organización de Datadog y almacénela como un secreto.Sí
DD_APP_KEYSu clave de aplicación. Cree esta clave en su organización de Datadog e incluya el contexto code_analysis_read. Almacene la clave como un secreto.Sí
DD_SITEEl sitio de Datadog al que se enviará la información. Su sitio de Datadog es datadoghq.com.Nodatadoghq.com

Agregue lo siguiente a su canalización de CI:

# Set the Datadog site to send information to
export DD_SITE="datadoghq.com"

# Install dependencies
npm install -g @datadog/datadog-ci

# Download the latest Datadog IaC Scanner (x86_64/amd64 Linux; see GitHub Releases for arm64 and other platforms)
export IAC_SCANNER_URL="https://github.com/DataDog/datadog-iac-scanner/releases/latest/download/datadog-iac-scanner_linux_amd64.tar.gz"
curl -L "${IAC_SCANNER_URL}" -o /tmp/datadog-iac-scanner.tar.gz
tar xfz /tmp/datadog-iac-scanner.tar.gz -C /tmp
mv /tmp/datadog-iac-scanner /usr/local/bin/datadog-iac-scanner

# Run the Datadog IaC scanner
exit_code=0
/usr/local/bin/datadog-iac-scanner scan -p . -o /tmp || exit_code=$?
if [ $exit_code -lt 20 -o $exit_code -gt 60 ]; then echo "IaC scan failed" ; exit $exit_code ; fi

# Upload results
datadog-ci sarif upload /tmp/datadog-iac-scanner-result.sarif
Este ejemplo utiliza la versión de Linux x86_64 (amd64) del Datadog IaC Scanner. El escáner también es compatible con Linux arm64, así como con macOS y Windows. Si está utilizando un sistema operativo o una arquitectura diferente, seleccione la versión adecuada de la página de GitHub Releases y actualice el IAC_SCANNER_URL Valor.

Cargue resultados de análisis estático de terceros a IaC Security

Puede importar resultados SARIF de escáneres de infraestructura como código (IaC) de terceros, incluido Checkov, a IaC Security. Consulte Cargue resultados de análisis estático de terceros para herramientas compatibles con SARIF admitidas para SAST. Se requiere Node.js versión 14 o posterior.

Para cargar un informe SARIF:

  1. Asegúrese de que las variables DD_API_KEY y DD_APP_KEY estén definidas.

  2. Opcionalmente, establezca una DD_SITE variable (esto tiene como valor predeterminado datadoghq.com).

  3. Instale la utilidad datadog-ci (versión 2.0 o posterior):

    npm install -g @datadog/datadog-ci
    
  4. Ejecute la herramienta de análisis de IaC de terceros (por ejemplo, Checkov, Trivy, KICS) en su código y genere los resultados en el formato SARIF v2.1.0.

  5. Cargue los resultados en Datadog:

    datadog-ci sarif upload $OUTPUT_LOCATION
    
    • Opciones de carga
      • --tags: Agregar etiquetas personalizadas (formato: key:value)
      • --max-concurrency: Establecer cargas simultáneas (predeterminado: 20)
      • --dry-run: Validar sin cargar

Atributos SARIF requeridos

Para garantizar la ingesta y visualización adecuadas en Datadog IaC Scanning para escáneres de terceros (excluyendo Checkov), su archivo SARIF DEBE incluir los siguientes atributos para ser reconocido como un hallazgo de seguridad de IaC:

  1. Runs[...].tool.driver.name: Datadog IaC Scanning
  2. Runs[...].tool.driver.version: "code_update" o "full_scan"
    • "full_scan” para escaneos completos del repositorio
    • "code_update" para pull request / incremental scans
  3. Runs[...].tool.driver.rules[...].properties.tags:
    • ["DATADOG_RULE_TYPE:IAC_SCANNING"]
    • [“DATADOG_SCANNED_FILE_COUNT: <number>”], donde "number" especifica el número de archivos escaneados
  4. Runs[...].results[...].locations[...].physicalLocation:
    • artifactLocation.uri: Ruta relativa al archivo desde la raíz del repositorio
    • region.startLine: Número de línea inicial
    • region.endLine: Número de línea final
    • region.startColumn: Número de columna inicial
    • region.endColumn: Número de columna final
Las supresiones descartan las infracciones silenciosamente. Si results[ ].suppressions existe, la infracción se ignora por completo.

Lecturas adicionales