Exemple CI/CD pour Defender CLI (préversion privée)

Cet exemple de workflow GitHub Actions télécharge Defender CLI lors de l’exécution, transmet les identifiants sous forme de variables d’environnement et exécute à la fois une analyse du système de fichiers et une soumission d’analyse par IA. Utilisez-le comme base de référence et adaptez le déclencheur, l’étendue du chemin et les noms de secrets pour qu’ils correspondent aux normes de votre référentiel.

Important

Ne validez pas les valeurs d’informations d’identification dans le contrôle de code source ou incluez-les dans les journaux de flux de travail. Renouvelez régulièrement les secrets et remplacez-les avant qu’ils n’expirent afin d’éviter les échecs de pipeline.

Pour obtenir des instructions sur l’obtention des informations d’identification requises et leur configuration en tant que secrets de pipeline, consultez Configurer les informations d’identification pour CI/CD.

name: Defender ASPM scan
on: [workflow_dispatch]

permissions:
  contents: read
  id-token: write
  security-events: write

jobs:
  scan:
    runs-on: ubuntu-latest
    env:
      DEFENDER_ASPM_TENANT_ID:     ${{ secrets.DEFENDER_ASPM_TENANT_ID }}
      DEFENDER_ASPM_CLIENT_ID:     ${{ secrets.DEFENDER_ASPM_CLIENT_ID }}
      DEFENDER_ASPM_CLIENT_SECRET: ${{ secrets.DEFENDER_ASPM_CLIENT_SECRET }}
    steps:
      - uses: actions/checkout@v4
      - name: Download Defender CLI
        run: |
          curl -fL -o defender \
            "https://cli.dfd.security.azure.net/public/v2/latest/Defender_linux-x64"
          chmod +x defender
      - run: ./defender scan fs .
      - run: ./defender scan ai-scan submit . --force