Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’interface de ligne de commande Microsoft Defender pour cloud (Defender pour Cloud CLI) vous permet d’incorporer l’analyse de sécurité directement dans vos flux de travail d’intégration continue et de déploiement continu (CI/CD). L’interface CLI orchestre les scanneurs de sécurité et peut s’exécuter localement pour les développeurs.
Fonctionnalités clés
- Évaluation des vulnérabilités d’image conteneur et ingestion automatique dans Cloud Security Explorer.
- Interface CLI multiplateforme unifiée qui fonctionne avec n’importe quel outil CI/CD.
- Sortie SARIF standard qui s'intègre aux annotations de demande de tirage (pull request) et aux portails de qualité.
- L’authentification basée sur les jetons est limitée à un seul abonnement Azure pour un contrôle granulaire ou l’authentification du connecteur Azure DevOps.
Prerequisites
Un abonnement Azure avec Defender for Cloud intégré. Si vous n’avez pas encore de compte Azure, créez-en un gratuitement.
Defender CSPM activé.
L’un des outils de pipeline CI/CD suivants : Azure Pipelines, GitHub Actions, Jenkins, BitBucket Pipelines, GitLab, Google Cloud Build, Bamboo, CircleCI, Travis CI, TeamCity, Oracle DevOps services ou AWS CodeBuild.
Terminal Windows ou Linux/WSL pour les analyses de bureau locales.
Autorisation Administrateur de sécurité pour créer l’ID client et les jetons secrets si vous utilisez l’authentification basée sur des jetons, ou un connecteur Azure DevOps ou GitHub établi si vous utilisez l’authentification basée sur le connecteur.
Configuration de l’authentification
Defender pour Cloud CLI prend en charge deux méthodes d’authentification pour s’aligner sur les pratiques de sécurité d’entreprise. L’authentification basée sur le connecteur est actuellement disponible et la méthode d’authentification préférée pour Azure DevOps et GitHub.
Configurer votre pipeline CI/CD
Choisissez l’exemple de configuration qui correspond à votre plateforme CI/CD et à votre méthode d’authentification.
Azure DevOps (authentification basée sur le connecteur)
- task: MicrosoftDefenderCLI@2
inputs:
command: 'run'
scanType: 'image'
imageName: $(ImageName)
break: false
GitHub (authentification basée sur un jeton)
- name: Download Defender for Cloud CLI
run: |
curl -L -o defender "https://aka.ms/defender-cli_linux-x64" && chmod +x defender
- name: Run Defender for Cloud CLI Scan (Built)
run: |
#replace image-name with the Container image built
./defender scan image '${{ image-name }}'
continue-on-error: true
env:
DEFENDER_TENANT_ID: ${{ secrets.DEFENDER_TENANT_ID }}
DEFENDER_CLIENT_ID: ${{ secrets.DEFENDER_CLIENT_ID }}
DEFENDER_CLIENT_SECRET: ${{ secrets.DEFENDER_CLIENT_SECRET }}
Jenkins (Authentification basée sur un jeton)
environment {
DEFENDER_TENANT_ID=credentials('defender-tenant-id')
DEFENDER_CLIENT_ID=credentials('defender-client-id')
DEFENDER_CLIENT_SECRET=credentials('defender-client-secret')
}
stage('Download & Run Defender for Cloud CLI') {
steps {
script {
node {
sh 'curl -L -o defender "https://aka.ms/defender-cli_linux-x64"'
sh 'chmod +x defender'
sh './defender scan image ${IMAGE_NAME}'
}
}
}
}