Activer les annotations de demande de tirage (pull request) dans GitHub et Azure DevOps

La sécurité DevOps expose les découvertes en matière de sécurité sous forme d’annotations dans des demandes de tirage (pull request). Les opérateurs de sécurité peuvent activer les annotations de demande de tirage dans Microsoft Defender pour le cloud. Tous les problèmes exposés peuvent ensuite être corrigés par les développeurs. Ce processus permet d’éviter et de corriger des vulnérabilités de sécurité et erreurs de configuration potentielles avant la phase de production. La sécurité DevOps annote les vulnérabilités dans les différences introduites lors de la demande de tirage au lieu d’indiquer toutes les vulnérabilités détectées dans l’ensemble du fichier. Les développeurs peuvent voir les annotations dans leurs systèmes de gestion du code source et les opérateurs de sécurité peuvent voir les résultats non résolus dans Microsoft Defender pour le cloud.

Microsoft Defender pour le cloud vous permet de configurer des annotations de demande de tirage dans Azure DevOps. Vous pouvez obtenir des annotations de demande de tirage dans GitHub si vous êtes un client de GitHub Advanced Security.

Que sont les annotations de demande de tirage

Les annotations de demande de tirage sont des commentaires qui sont ajoutés à une demande de tirage dans GitHub ou Azure DevOps. Ces annotations fournissent des commentaires sur les modifications apportées au code et identifient les problèmes de sécurité dans la demande de tirage et aident les réviseurs à comprendre les modifications apportées.

Les annotations peuvent être ajoutées par un utilisateur ayant accès au référentiel et peuvent être utilisées pour suggérer des modifications, poser des questions ou fournir des commentaires sur le code. Les annotations peuvent également être utilisées pour suivre les problèmes et les bogues qui doivent être corrigés avant la fusion du code dans la branche main. La sécurité DevOps dans Defender pour le cloud utilise des annotations pour exposer les découvertes en matière de sécurité.

Prérequis

Pour GitHub :

Pour Azure DevOps :

Activer les annotations de demande de tirage dans GitHub

En activant les annotations de demande de tirage dans GitHub, vos développeurs peuvent voir leurs problèmes de sécurité lorsqu’ils créent une demande de tirage directement dans la branche principale.

Pour activer les annotations de demande de tirage dans GitHub :

  1. Accédez à GitHub et connectez-vous.

  2. Sélectionnez un dépôt que vous avez intégré à Defender pour le cloud.

  3. Accédez à Your repository's home page>.github/workflows.

    Capture d’écran montrant où accéder pour sélectionner le dossier de flux de travail GitHub.

  4. Sélectionnez le fichier msdevopssec.yml, qui a été créé dans les prérequis.

    Capture d’écran montrant où sélectionner le fichier msdevopssec.yml sur l’écran.

  5. Sélectionnez Modifier.

    Capture d’écran montrant à quoi ressemble le bouton Modifier.

  6. Recherchez et mettez à jour la section du déclencheur pour inclure :

    # Triggers the workflow on push or pull request events but only for the main branch
    pull_request:
      branches: ["main"]
    

    Vous pouvez également afficher un exemple de référentiel.

    (Facultatif) Vous pouvez sélectionner les branches sur lesquelles l’exécuter en les entrant sous la section du déclencheur. Si vous souhaitez inclure toutes les branches, supprimez les lignes avec la liste des branches. 

  7. Sélectionnez Démarrer la validation.

  8. Sélectionnez Valider les modifications.

    Tous les problèmes détectés par l’analyseur seront visibles dans la section Fichiers modifiés de votre demande de tirage.

    • Utilisée dans les tests : l’alerte ne figure pas dans le code de production.

Activer les annotations de demande de tirage dans Azure DevOps

En activant les annotations de demande de tirage dans Azure DevOps, vos développeurs peuvent voir leurs problèmes de sécurité lorsqu’ils créent leurs demandes de tirage directement dans la branche principale.

Activer la stratégie de validation de build pour la build CI

Avant que vous puissiez activer les annotations de demande de tirage, votre branche principale doit avoir activé la stratégie de validation de build pour la build CI.

Pour activer la stratégie de validation de build pour la build CI :

  1. Connectez-vous à votre projet Azure DevOps.

  2. Accédez à Paramètres du projet>Référentiels.

    Capture d’écran montrant où naviguer pour sélectionner les dépôts.

  3. Sélectionnez le référentiel sur lequel activer les demandes de tirage.

  4. Sélectionnez Stratégies.

  5. Accédez à Stratégies de branche>Branche primaire.

    Capture d’écran montrant où localiser les stratégies de branche.

  6. Recherchez la section Validation de build.

  7. Vérifiez que la validation de build pour votre référentiel est basculée sur Activé.

    Capture d’écran montrant l’emplacement du bouton bascule Build CI.

  8. Sélectionnez Enregistrer.

    Capture d’écran montrant la validation de build.

Une fois ces étapes terminées, vous pouvez sélectionner le pipeline de build que vous avez créé précédemment et personnaliser ses paramètres en fonction de vos besoins.

Activer les annotations de demande de tirage

Pour activer les annotations de demande de tirage dans Azure DevOps :

  1. Connectez-vous au portail Azure.

  2. Accédez à Defender pour le cloud>Sécurité DevOps.

  3. Sélectionnez tous les référentiels appropriés pour activer les annotations de demande de tirage.

  4. Sélectionnez Gérer les ressources.

    Capture d’écran montrant comment gérer des ressources.

  5. Basculez les annotations de demande de tirage sur Activé.

    Capture d’écran montrant le bouton bascule activé.

  6. (Facultatif) Sélectionnez une catégorie dans le menu déroulant.

    Remarque

    Seuls les résultats de mauvaises configurations d'Infrastructure-as-Code (ARM, Bicep, Terraform, CloudFormation, Dockerfiles, Helm Charts, etc.) sont actuellement pris en charge.

  7. (Facultatif) Sélectionnez un niveau de gravité dans la liste déroulante.

  8. Sélectionnez Enregistrer.

Toutes les annotations sur vos demandes de tirage (pull request) seront désormais affichées en fonction de vos configurations.

Pour activer les annotations de demande de tirage pour Mes projets et mes organisations dans Azure DevOps :

Vous pouvez le faire par programme en appelant l’API Mise à jour de ressources Azure DevOps exposée à Microsoft. de ressources Microsoft.Security.

Informations de l'API :

Méthode HTTP : URL CORRECTIF :

  • Mise à jour des projets Azure DevOps : https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>/projects/<adoProjectName>?api-version=2023-09-01-preview
  • Mise à jour des organisations Azure DevOps] : https://management.azure.com/subscriptions/<subId>/resourcegroups/<resourceGroupName>/providers/Microsoft.Security/securityConnectors/<connectorName>/devops/default/azureDevOpsOrgs/<adoOrgName>?api-version=2023-09-01-preview

Corps de la demande :

{
   "properties": {
"actionableRemediation": {
              "state": <ActionableRemediationState>,
              "categoryConfigurations":[
                    {"category": <Category>,"minimumSeverityLevel": <Severity>}
               ]
           }
    }
}

Paramètres / Options disponibles

<ActionableRemediationState>Description : état de la configuration des annotations de demande de tirage Options : Enabled | Disabled

<Category>Description : catégorie des découvertes qui seront annotées sur les demandes de tirage. Options : IaC | Code | Artifacts | Dependencies | Containers Remarque : seul IaC est pris en charge actuellement

<Severity>Description : gravité minimale d’une découverte qui sera prise en compte lors de la création des annotations des demandes de tirage. Options : High | Medium | Low

Exemple d’activation des annotations de demande de tirage d’une organisation Azure DevOps pour la catégorie IaC avec une gravité minimale Medium en utilisant l’outil az cli.

Mettre à jour l’organisation :

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'Medium'}]}}}

Exemple d’activation des annotations de demande de tirage d’un projet Azure DevOps pour la catégorie IaC avec une gravité minimale High en utilisant l’outil az cli.

Mettre à jour le projet :

az --method patch --uri https://management.azure.com/subscriptions/4383331f-878a-426f-822d-530fb00e440e/resourcegroups/myrg/providers/Microsoft.Security/securityConnectors/myconnector/devops/default/azureDevOpsOrgs/testOrg/projects/testProject?api-version=2023-09-01-preview --body "{'properties':{'actionableRemediation':{'state':'Enabled','categoryConfigurations':[{'category':'IaC','minimumSeverityLevel':'High'}]}}}"

En savoir plus

Étapes suivantes

En savoir plus sur la Sécurité DevOps.