Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().

Utilisez les instructions suivantes pour activer Infrastructure as Code (IaC) Security pour Code Security. IaC Security prend en charge plusieurs configurations IaC stockées dans des dépôts GitHub, GitLab, Azure DevOps ou Bitbucket Cloud Premium.

Installez l’intégration GitHub

Pour connecter vos dépôts GitHub et activer les commentaires de PR, consultez les instructions de configuration dans Commentaires de pull request.

Activez IaC Security pour vos dépôts

Après avoir configuré l’intégration GitHub, activez IaC Security pour vos dépôts.

  1. Sur la Code Security Setup page, développez la section Activate scanning for your repositories
  2. Sous Select your source code management provider, sélectionnez GitHub.
  3. Sous Select where your scans should run, sélectionnez Datadog.
  4. Sous Connect your GitHub repositories, effectuez l’une des opérations suivantes :
    • Pour connecter un nouveau compte GitHub, cliquez sur Add GitHub Account.
    • Pour activer IaC Security pour un compte existant, cliquez sur Select repositories, ou sur Edit si Code Security est déjà activé.
  5. Pour activer IaC Security, effectuez l’une des opérations suivantes :
    • Pour l’activer pour tous les dépôts, basculez Enable Infrastructure as Code Scanning (IaC) sur la position ON.
    • Pour l’activer pour un seul dépôt, basculez l’interrupteur IaC sur ON pour ce dépôt.

Installez l’intégration GitLab

Pour connecter vos dépôts GitLab et activer les commentaires de PR, consultez les instructions de configuration dans GitLab Source Code.

Activez IaC Security pour vos dépôts

Après avoir configuré l’intégration GitLab, activez IaC Security pour vos dépôts.

  1. Sur la Code Security Setup page, développez la section Activate scanning for your repositories
  2. Sous Select your source code management provider, sélectionnez GitLab.
  3. Sous Select where your scans should run, sélectionnez Datadog.
  4. Sous Connect your GitLab repositories, effectuez l’une des opérations suivantes :
    • Pour connecter une nouvelle instance GitLab, cliquez sur Connect GitLab Instance.
    • Pour activer IaC Security pour un compte existant, cliquez sur Select repositories, ou sur Edit si Code Security est déjà activé.
  5. Pour activer IaC Security, effectuez l’une des opérations suivantes :
    • Pour l’activer pour tous les dépôts, basculez Enable Infrastructure as Code Scanning (IaC) sur la position ON.
    • Pour l’activer pour un seul dépôt, basculez l’interrupteur IaC sur ON pour ce dépôt.

Installez l’intégration Azure DevOps

Pour connecter vos dépôts Azure DevOps et activer les commentaires de PR, consultez les instructions de configuration dans Azure DevOps Source Code.

Activez IaC Security pour vos dépôts

Après avoir configuré l’intégration Azure DevOps, activez IaC Security pour vos dépôts.

  1. Sur la Code Security Setup page, développez la section Activate scanning for your repositories
  2. Sous Select your source code management provider, sélectionnez Azure DevOps.
  3. Sous Select where your scans should run, sélectionnez Datadog.
  4. Sous Connect your Azure DevOps repositories, effectuez l’une des opérations suivantes :
    • Pour connecter une nouvelle organisation Azure DevOps, cliquez sur Connect Microsoft Entra App.
    • Pour activer IaC Security pour un compte existant, cliquez sur Select repositories, ou sur Edit si Code Security est déjà activé.
  5. Pour activer IaC Security, effectuez l’une des opérations suivantes :
    • Pour l’activer pour tous les dépôts, basculez Enable Infrastructure as Code Scanning (IaC) sur la position ON.
    • Pour l’activer pour un seul dépôt, basculez l’interrupteur IaC sur ON pour ce dépôt.

Installez l’intégration Bitbucket

Pour connecter votre espace de travail Bitbucket Cloud et activer les commentaires de PR, consultez les instructions de configuration dans Bitbucket Source Code.

Activez IaC Security pour vos dépôts

Après avoir configuré l’intégration Bitbucket, activez IaC Security pour vos dépôts.

  1. Sur la Code Security Setup page, développez la section Activate scanning for your repositories
  2. Sous Select your source code management provider, sélectionnez Bitbucket.
  3. Sous Select where your scans should run, sélectionnez Datadog.
  4. Sous Connect your Bitbucket repositories, effectuez l’une des opérations suivantes :
    • Pour connecter un nouvel espace de travail Bitbucket Cloud, cliquez sur Connect Bitbucket Account.
    • Pour activer IaC Security pour un espace de travail existant, cliquez sur Select repositories, ou sur Edit si Code Security est déjà activé.
  5. Pour activer IaC Security, effectuez l’une des opérations suivantes :
    • Pour l’activer pour tous les dépôts, basculez Enable Infrastructure as Code Scanning (IaC) sur la position ON.
    • Pour l’activer pour un seul dépôt, basculez l’interrupteur IaC sur ON pour ce dépôt.

Configurez IaC avec un fournisseur CI générique

Overview

Si vous n’utilisez pas GitHub Actions, GitLab CI/CD ou Azure DevOps, vous pouvez exécuter le Datadog IaC Scanner directement dans votre pipeline CI. Téléversez les résultats d’analyse IaC vers Datadog en utilisant le datadog-ci CLI.

Si vous exécutez IaC Security sur un dépôt non-GitHub, exécutez la première analyse sur votre branche par défaut. Si votre branche par défaut utilise un nom autre que master, main, default, stable, source, prod ou develop, téléversez une première analyse pour votre dépôt. Ensuite, remplacez manuellement la branche par défaut dans Repository Settings afin que les futures analyses provenant de branches non par défaut soient téléversées et traitées correctement.

Prérequis

  • Node.js 20 ou version ultérieure et npm
  • curl
  • tar
  • Autorisation d’installer le scanner dans /usr/local/bin

Configurez les variables d’environnement suivantes :

NomDescriptionRequisPar défaut
DD_API_KEYVotre clé d’API Datadog. Créez cette clé dans votre organisation Datadog et stockez-la en tant que secret.Oui
DD_APP_KEYVotre clé d’application. Créez cette clé dans votre organisation Datadog et incluez le périmètre code_analysis_read. Stockez la clé en tant que secret.Oui
DD_SITELe site Datadog vers lequel envoyer les informations. Votre site Datadog est datadoghq.com.Nondatadoghq.com

Ajoutez ce qui suit à votre pipeline 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
Cet exemple utilise la version Linux x86_64 (amd64) de Datadog IaC Scanner. Le scanner prend également en charge Linux arm64, ainsi que macOS et Windows. Si vous utilisez un système d'exploitation ou une architecture différent(e), sélectionnez la version appropriée sur la page GitHub Releases et mettez à jour la IAC_SCANNER_URL valeur.

Téléversez les résultats d’analyse statique tiers vers IaC Security

Vous pouvez importer des résultats SARIF provenant de scanners d'Infrastructure-as-Code (IaC) tiers, notamment Checkov, dans IaC Security. Voir Téléversez les résultats d'analyse statique tiers pour les outils compatibles SARIF pris en charge pour SAST. Node.js version 14 ou ultérieure est requis.

Pour importer un rapport SARIF, procédez comme suit :

  1. Assurez-vous que les variables DD_API_KEY et DD_APP_KEY sont définies.

  2. Optionnellement, définissez une DD_SITE variable (la valeur par défaut est datadoghq.com).

  3. Installez l’utilitaire datadog-ci (version 2.0 ou ultérieure) :

    npm install -g @datadog/datadog-ci
    
  4. Exécutez l’outil d’analyse IaC tiers (par ex. Checkov, Trivy, KICS) sur votre code et exportez les résultats au format SARIF v2.1.0.

  5. Téléversez les résultats vers Datadog :

    datadog-ci sarif upload $OUTPUT_LOCATION
    
    • Upload Options
      • --tags: Ajoutez des tags personnalisés (format : key:value)
      • --max-concurrency:Définissez les téléversements simultanés (par défaut : 20)
      • --dry-run:Validez sans téléverser

Attributs SARIF requis

Pour garantir une ingestion et un affichage corrects dans Datadog IaC Scanning pour les scanners tiers (à l’exclusion de Checkov), votre fichier SARIF DOIT inclure les attributs suivants pour être reconnu comme un constat de sécurité IaC :

  1. Runs[...].tool.driver.name: Datadog IaC Scanning
  2. Runs[...].tool.driver.version: "code_update" ou "full_scan"
    • "full_scan” pour les analyses complètes du dépôt
    • "code_update" pour les analyses de demandes de tirage / incrémentielles
  3. Runs[...].tool.driver.rules[...].properties.tags:
    • ["DATADOG_RULE_TYPE:IAC_SCANNING"]
    • [“DATADOG_SCANNED_FILE_COUNT: <number>”], où "number" spécifie le nombre de fichiers analysés
  4. Runs[...].results[...].locations[...].physicalLocation:
    • artifactLocation.uri : Chemin relatif vers le fichier depuis la racine du dépôt.
    • region.startLine : Numéro de ligne de début.
    • region.endLine : Numéro de ligne de fin.
    • region.startColumn : Numéro de colonne de début.
    • region.endColumn : Numéro de colonne de fin.
Les suppressions ignorent silencieusement les violations. Si results[ ].suppressions Si elle existe, la violation est complètement ignorée.

Pour aller plus loin