Configurer l’action GitHub Microsoft Security DevOps
Microsoft Security DevOps est une application en ligne de commande qui intègre des outils d’analyse statique dans le cycle de vie du développement. Security DevOps installe, configure et exécute les dernières versions des outils d’analyse statique tels que les outils SDL, de sécurité et de conformité. Security DevOps est piloté par les données avec des configurations portables qui permettent une exécution déterministe dans plusieurs environnements.
Microsoft Security DevOps utilise les outils open source suivants :
Nom | Langage | Licence |
---|---|---|
AntiMalware | La protection contre les logiciels anti-programme malveillant, dans Windows de Microsoft Defender for Endpoint, analyse à la recherche de programmes malveillants et interrompt la génération si un programme malveillant a été détecté. Cet outil analyse par défaut le plus récent agent Windows. | Non open source |
Bandit | Python | Licence Apache 2.0 |
BinSkim | Binary--Windows, ELF | Licence MIT |
Checkov | Terraform, plan Terraform, CloudFormation, AWS SAM, Kubernetes, Helm charts, Kustomize, Dockerfile, Serverless, Bicep, OpenAPI, ARM | Licence Apache 2.0 |
ESlint | JavaScript | Licence MIT |
Template Analyzer | Modèle ARM, Bicep | Licence MIT |
Terrascan | Terraform (HCL2), Kubernetes (JSON/YAML), Helm v3, Kustomize, Dockerfiles, CloudFormation | Licence Apache 2.0 |
Trivy | images conteneur, Infrastructure en tant que code (Infrastructure as Code, ou IaC) | Licence Apache 2.0 |
Prérequis
Un abonnement Azure : Si vous ne disposez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Ouvrez l’action GitHub Microsoft Security DevOps dans une nouvelle fenêtre.
Vérifiez que les autorisations du Workflow sont définies sur Lecture et écriture sur le dépôt GitHub. Il s’agit notamment de définir les autorisations « id-token : write » dans le GitHub Workflow pour la fédération avec Defender pour le cloud.
Configurer l’action GitHub Microsoft Security DevOps
Pour configurer l’action GitHub :
Connectez-vous à GitHub.
Sélectionnez un dépôt sur lequel configurer l’action GitHub.
Sélectionnez Actions.
Sélectionnez Nouveau workflow.
Dans la page Prise en main de GitHub Actions, sélectionnez Configurer un flux de travail vous-même
Dans la zone de texte, entrez un nom pour votre fichier de flux de travail. Par exemple :
msdevopssec.yml
.Copiez et collez l’exemple de flux de travail d’action suivant sous l’onglet Modifier le nouveau fichier.
name: MSDO on: push: branches: - main jobs: sample: name: Microsoft Security DevOps # Windows and Linux agents are supported runs-on: windows-latest permissions: contents: read id-token: write actions: read # Write access for security-events is only required for customers looking for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) security-events: write steps: # Checkout your code repository to scan - uses: actions/checkout@v3 # Run analyzers - name: Run Microsoft Security DevOps uses: microsoft/security-devops-action@latest id: msdo # with: # config: string. Optional. A file path to an MSDO configuration file ('*.gdnconfig'). # policy: 'GitHub' | 'microsoft' | 'none'. Optional. The name of a well-known Microsoft policy. If no configuration file or list of tools is provided, the policy may instruct MSDO which tools to run. Default: GitHub. # categories: string. Optional. A comma-separated list of analyzer categories to run. Values: 'code', 'artifacts', 'IaC', 'containers'. Example: 'IaC, containers'. Defaults to all. # languages: string. Optional. A comma-separated list of languages to analyze. Example: 'javascript,typescript'. Defaults to all. # tools: string. Optional. A comma-separated list of analyzer tools to run. Values: 'bandit', 'binskim', 'checkov', 'eslint', 'templateanalyzer', 'terrascan', 'trivy'. # Upload alerts to the Security tab - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) # - name: Upload alerts to Security tab # uses: github/codeql-action/upload-sarif@v3 # with: # sarif_file: ${{ steps.msdo.outputs.sarifFile }} # Upload alerts file as a workflow artifact - required for MSDO results to appear in the codeQL security alerts tab on GitHub (Requires GHAS) # - name: Upload alerts file as a workflow artifact # uses: actions/upload-artifact@v3 # with: # name: alerts # path: ${{ steps.msdo.outputs.sarifFile }}
Remarque
Pour obtenir d’autres options de configuration de l’outil, voir le Wiki Microsoft Security DevOps
Sélectionnez Démarrer la validation.
Sélectionnez Commit new file (Valider le nouveau fichier). Remarque : le processus peut prendre jusqu’à une minute.
Sélectionnez Actions et vérifiez que la nouvelle action est en cours d’exécution.
Afficher les résultats de l’analyse
Pour afficher les résultats de votre analyse :
Connectez-vous à Azure.
Accédez à Defender pour le cloud > Sécurité DevOps.
Dans le panneau sécurité DevOps, vous devez commencer à voir les mêmes résultats de sécurité MSDO que ceux que les développeurs voient en quelques minutes dans leurs journaux d’activité d’intégration continue pour le référentiel associé. Les clients disposant de GitHub Advanced Security verront également les résultats ingérés à partir de ces outils.
En savoir plus
Découvrez les Actions GitHub pour Azure.
Découvrez comment Déployer des applications de GitHub sur Azure.
Étapes suivantes
Découvrez plus d’informations sur la sécurité DevOps dans Defender pour le cloud.
Découvrez comment connecter vos organisations GitHub à Defender pour le cloud.