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.
- En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
- En Select your source code management provider, seleccione GitHub.
- En Select where your scans should run, seleccione Datadog.
- 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.
- 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.
- En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
- En Select your source code management provider, seleccione GitLab.
- En Select where your scans should run, seleccione Datadog.
- 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.
- 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.
- En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
- En Select your source code management provider, seleccione Azure DevOps.
- En Select where your scans should run, seleccione Datadog.
- 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.
- 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.
- En la página de configuración de Code Security, expanda la sección Activate scanning for your repositories.
- En Select your source code management provider, seleccione Bitbucket.
- En Select where your scans should run, seleccione Datadog.
- 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.
- 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
curltar- Permiso para instalar el escáner en
/usr/local/bin
Configure las siguientes variables de entorno:
| Nombre | Descripción | Requerido | Predeterminado |
|---|
DD_API_KEY | Su clave de API de Datadog. Cree esta clave en su organización de Datadog y almacénela como un secreto. | Sí | |
DD_APP_KEY | Su 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_SITE | El sitio de Datadog al que se enviará la información. Su sitio de Datadog es datadoghq.com. | No | datadoghq.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:
Asegúrese de que las variables DD_API_KEY y DD_APP_KEY estén definidas.
Opcionalmente, establezca una DD_SITE variable (esto tiene como valor predeterminado datadoghq.com).
Instale la utilidad datadog-ci (versión 2.0 o posterior):
npm install -g @datadog/datadog-ci
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.
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:
Runs[...].tool.driver.name: Datadog IaC ScanningRuns[...].tool.driver.version: "code_update" o "full_scan""full_scan” para escaneos completos del repositorio"code_update" para pull request / incremental scans
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
Runs[...].results[...].locations[...].physicalLocation:artifactLocation.uri: Ruta relativa al archivo desde la raíz del repositorioregion.startLine: Número de línea inicialregion.endLine: Número de línea finalregion.startColumn: Número de columna inicialregion.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
Documentación, enlaces y artículos útiles adicionales: