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 :
- Un compte Azure. Si vous n’avez pas encore de compte Azure, vous pouvez créer un compte Azure gratuit dès aujourd’hui.
- Être un client GitHub Advanced Security.
- Connecter vos dépôts GitHub à Microsoft Defender pour le cloud
- Configurer l’action GitHub Microsoft Security DevOps
Pour Azure DevOps :
- Un compte Azure. Si vous n’avez pas encore de compte Azure, vous pouvez créer un compte Azure gratuit dès aujourd’hui.
- Disposez d’un accès en écriture (propriétaire/contributeur) dans l’abonnement Azure.
- Connecter vos dépôts Azure DevOps à Microsoft Defender pour le cloud
- Configurez l’extension Microsoft Security DevOps 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 :
Accédez à GitHub et connectez-vous.
Sélectionnez un dépôt que vous avez intégré à Defender pour le cloud.
Accédez à
Your repository's home page
>.github/workflows.Sélectionnez le fichier msdevopssec.yml, qui a été créé dans les prérequis.
Sélectionnez Modifier.
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.
Sélectionnez Démarrer la validation.
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 :
Connectez-vous à votre projet Azure DevOps.
Accédez à Paramètres du projet>Référentiels.
Sélectionnez le référentiel sur lequel activer les demandes de tirage.
Sélectionnez Stratégies.
Accédez à Stratégies de branche>Branche primaire.
Recherchez la section Validation de build.
Vérifiez que la validation de build pour votre référentiel est basculée sur Activé.
Sélectionnez Enregistrer.
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 :
Connectez-vous au portail Azure.
Accédez à Defender pour le cloud>Sécurité DevOps.
Sélectionnez tous les référentiels appropriés pour activer les annotations de demande de tirage.
Sélectionnez Gérer les ressources.
Basculez les annotations de demande de tirage sur Activé.
(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.
(Facultatif) Sélectionnez un niveau de gravité dans la liste déroulante.
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
- En savoir plus sur la Sécurité DevOps.
- En savoir plus sur la Sécurité DevOps dans IaC (Infrastructure as Code).
Étapes suivantes
En savoir plus sur la Sécurité DevOps.