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.
GitHub Advanced Security pour Azure DevOps ajoute la suite de fonctionnalités de sécurité de GitHub Advanced Security à Azure Repos et inclut les fonctionnalités suivantes :
- Protection push de l’analyse des secrets : vérifiez si le code push inclut des commits qui exposent des secrets tels que des informations d’identification
- Analyse du référentiel d’analyse des secrets : analysez votre référentiel et recherchez les secrets exposés qui ont été validés accidentellement
- Analyse des dépendances : recherchez les vulnérabilités connues dans les dépendances open source (directes et transitives)
- Analyse du code : utilisez le moteur d’analyse statique CodeQL pour identifier les vulnérabilités d’application au niveau du code, telles que l’injection SQL et le contournement de l’authentification
Vous pouvez apporter la protection de Advanced Security à votre entreprise avec la flexibilité nécessaire pour activer le niveau de protection approprié pour vos dépôts. GitHub Advanced Security pour Azure DevOps est disponible en tant que GitHub Secret Protection pour Azure DevOps et GitHub Code Security pour Azure DevOps.
Secret Protection inclut les fonctionnalités suivantes :
- Protection par Push pour empêcher les fuites d'informations avant qu'elles ne se produisent
- Alertes d’analyse des secrets avec des notifications, pour intercepter les fuites existantes avant qu’elles ne deviennent un problème.
- Vue d’ensemble de la sécurité, qui fournit un aperçu du niveau de risque et de la protection de la sécurité de votre organisation
La sécurité du code inclut les fonctionnalités suivantes :
- Alertes de dépendances, pour rechercher des vulnérabilités dans les dépendances open source
- Analyse CodeQL pour détecter les vulnérabilités directement dans votre code
- Résultats de sécurité pour les outils tiers
- Vue d’ensemble de la sécurité, qui fournit un aperçu du niveau de risque et de la protection de la sécurité de votre organisation
GitHub Advanced Security pour Azure DevOps est disponible uniquement pour Azure DevOps Services et spécifiquement pour les référentiels Git de code.
GitHub Advanced Security pour Azure DevOps fonctionne avec Azure Repos. Pour utiliser GitHub Advanced Security avec des référentiels GitHub, consultez GitHub Advanced Security.
Prérequis
| Catégorie | Spécifications |
|---|---|
| Autorisations | - Pour afficher un résumé de toutes les alertes d’un référentiel : Contributeur autorisations pour le référentiel. - Pour ignorer les alertes dans Advanced Security : administrateur de projet autorisations. - Pour gérer les autorisations dans Advanced Security : vous devez être membre du groupe Administrateurs de collection de projets ou disposer de l’autorisation Advanced Security : gérer les paramètres définie sur Autoriser. |
Pour plus d’informations sur les autorisations Advanced Security, consultez Gérer les autorisations Advanced Security.
Prérequis supplémentaires pour les agents auto-hébergés
Si votre organisation utilise des agents auto-hébergés, ajoutez les URL suivantes à votre liste d’autorisation afin que la tâche d’analyse des dépendances puisse extraire des données d’avis sur les vulnérabilités. Pour plus d’informations, consultez Adresses IP autorisées et URL de domaine.
| URL du domaine | Descriptif |
|---|---|
https://governance.dev.azure.com |
Pour que les organisations utilisant le domaine dev.azure.com accèdent à leur instance DevOps |
https://dev.azure.com |
Pour que les organisations utilisant le domaine dev.azure.com accèdent à leur instance DevOps |
https://advsec.dev.azure.com |
Pour que les organisations utilisant le domaine dev.azure.com accèdent à leur instance DevOps |
https://{organization_name}.governance.visualstudio.com |
Pour les organisations utilisant le domaine {organization_name}.visualstudio.com pour accéder à leur instance DevOps |
https://{organization_name}.visualstudio.com |
Pour les organisations utilisant le domaine {organization_name}.visualstudio.com pour accéder à leur instance DevOps |
https://{organization_name}.advsec.visualstudio.com |
Pour les organisations qui utilisent le domaine {organization_name}.visualstudio.com pour accéder à leur instance DevOps |
Exécutez une version compatible du runtime .NET. Depuis décembre 2025, il s’agit toujours de .NET 8.x. Si une version compatible n’est pas présente sur l’agent, la tâche de génération d’analyse des dépendances télécharge .NET.
Assurez-vous que le bundle CodeQL est installé dans le cache d’outils de l’agent sur votre agent. Vous pouvez utiliser la variable
enableAutomaticCodeQLInstall: trueavec la tâche de pipelineAdvancedSecurity-Codeql-Init@1pour les pipelines YAML ou cocher la case à cocherEnable automatic CodeQL detection and installationpour les pipelines classiques. Sinon, pour les instructions d’installation manuelle, veuillez consulter la section Analyse de code pour GitHub Advanced Security pour Azure DevOps.
Activer GitHub Advanced Security
Vous pouvez activer la sécurité avancée au niveau de l'organisation, du projet ou du référentiel. Pour accéder à chacun des outils et résultats d'analyse, vous devez d'abord activer la sécurité avancée. Une fois que vous avez activé Advanced Security, les futurs envois contenant des secrets vers un référentiel avec cette stratégie activée sont bloqués et l’analyse des secrets du référentiel se produit en arrière-plan.
Intégration au niveau du référentiel
- Accédez à vos Paramètres projet pour votre projet Azure DevOps.
- Select Référentiels>Repos.
- Sélectionnez le référentiel pour lequel vous souhaitez activer Advanced Security.
- Sélectionnez Activer et commencer la facturation pour activer Advanced Security. Une icône de bouclier s’affiche désormais dans l’affichage référentiel pour n’importe quel référentiels avec Advanced Security activé.
Intégration au niveau du projet
- Accédez à vos Paramètres projet pour votre projet Azure DevOps.
- Sélectionnez Repos.
- Sélectionnez l’onglet Paramètres.
- Sélectionnez Activer tout et vous verrez apparaître une estimation du nombre de contributeurs actifs pour votre projet. Cela active uniquement le produit pour les référentiels existants.
- Sélectionnez Commencer la facturation pour activer la sécurité avancée pour chaque référentiel existant dans votre projet.
- Si vous le souhaitez, sélectionnez Activer automatiquement Advanced Security pour les nouveaux référentiels afin que tous les référentiels nouvellement créés à l’avenir aient activé Advanced Security lors de la création. Ce paramètre est distinct de l’action Activer tout et doit être sélectionné indépendamment.
Intégration au niveau de l'organisation
- Accédez aux paramètres de votre organisation pour votre organisation Azure DevOps.
- Sélectionnez Dépôts.
- Sélectionnez Activer tout et une estimation du nombre de contributeurs actifs pour votre organisation apparaîtra. Cela active uniquement le produit pour les référentiels existants.
- Sélectionnez Commencer la facturation pour activer la sécurité avancée pour chaque référentiel existant dans chaque projet de votre organisation.
- Si vous le souhaitez, sélectionnez Activer automatiquement Advanced Security pour les nouveaux projets afin que tous les projets nouvellement créés à l’avenir aient activé Advanced Security lors de la création. Ce paramètre est distinct de l’action Activer tout et doit être sélectionné indépendamment.
Configurer l’analyse des secrets
La protection push de l’analyse des secrets et l’analyse des référentiels sont automatiquement activées lorsque vous activez Advanced Security. Vous pouvez activer ou désactiver la protection push de secrets à partir de la page des paramètres du référentiel.
L'analyse des secrets du référentiel est automatiquement lancée lors de l’activation de la Sécurité Avancée pour un référentiel sélectionné.
Configurer l’analyse des dépendances
Vous pouvez activer la protection secrète ou la sécurité du code au niveau de l’organisation, du projet ou du référentiel.
Intégration au niveau du référentiel
- Accédez à vos Paramètres projet pour votre projet Azure DevOps.
- Select Référentiels>Repos.
- Sélectionnez le référentiel pour lequel vous souhaitez activer Advanced Security.
- Basculez entre la protection secrète ou la sécurité du code.
- Sélectionnez Commencer la facturation. Une icône de bouclier apparaît désormais dans l’affichage référentiel pour n’importe quel dépôt avec l’un ou l’autre produit activé.
- Pour activer éventuellement la configuration par défaut de l’analyse des dépendances, cochez options et activez la case à cocher d’installation par défaut de l’analyse des dépendances.
Intégration au niveau du projet
- Accédez à vos Paramètres projet pour votre projet Azure DevOps.
- Sélectionnez Repos.
- Sélectionnez l’onglet Paramètres.
- Sélectionnez Activer tout et consultez une estimation du nombre de commiteurs actifs par produit pour votre projet. Cela active uniquement le produit sélectionné pour les référentiels existants.
- Activez ou désactivez vos produits souhaités de Secret Protection ou Code Security et toutes les sous-fonctionnalités associées.
- Sélectionnez Commencer la facturation pour activer Secret Protection et/ou Sécurité du code pour chaque dépôt existant dans votre projet.
- Si vous le souhaitez, activez automatiquement Advanced Security pour les nouveaux référentiels afin que tous les référentiels nouvellement créés à l’avenir aient activé Secret Protection ou Sécurité du code lors de la création. Ce paramètre est distinct de l’action Activer tout et doit être sélectionné indépendamment.
Intégration au niveau de l'organisation
- Accédez aux paramètres de votre organisation pour votre organisation Azure DevOps.
- Sélectionnez Dépôts.
- Sélectionnez Activer tout et consultez une estimation du nombre de commiteurs actifs par produit pour votre organisation. Cela active uniquement le produit sélectionné pour les référentiels existants.
- Activez vos produits souhaités de Secret Protection ou Code Security et toutes les sous-fonctions associées.
- Sélectionnez Commencer la facturation pour activer la sécurité avancée pour chaque référentiel existant dans chaque projet de votre organisation.
- Si vous le souhaitez, activez automatiquement Advanced Security pour les nouveaux projets afin que tous les projets nouvellement créés à l’avenir aient activé Secret Protection ou Sécurité du code lors de la création. Ce paramètre est distinct de l’action Activer tout et doit être sélectionné indépendamment.
Configurer l’analyse des secrets
La protection push de l’analyse des secrets et l’analyse du référentiel sont automatiquement activées lorsque vous activez Secret Protection. Vous pouvez activer ou désactiver la protection push de secrets à partir de la page des paramètres du référentiel.
Comme mentionné, l'analyse des secrets du dépôt est automatiquement lancée lors de l'activation de la fonctionnalité Secret Protection pour un dépôt sélectionné.
Configurer l’analyse des dépendances
Pour accéder aux fonctionnalités d’analyse des dépendances, vous avez besoin du produit Sécurité du code activé pour votre référentiel.
L’analyse des dépendances est un outil d’analyse basé sur un pipeline. Les résultats sont agrégés par référentiel. Pour analyser votre branche par défaut, vous pouvez utiliser le paramètre « Analyser les dépendances vulnérables » à partir de la page des paramètres du référentiel. Cela inclut automatiquement la tâche d’analyse des dépendances dans n’importe quel pipeline ciblant votre branche par défaut, ou toute build de demande de tirage ciblant votre branche par défaut.
Pour une configuration plus avancée ou si vous souhaitez analyser toutes les branches, nous vous recommandons d’ajouter la tâche d’analyse des dépendances à tous les pipelines que vous souhaitez analyser. Pour plus d’informations, consultez l’analyse des dépendances pour GitHub Advanced Security pour Azure DevOps .
Configurer l’analyse du code
Pour accéder aux fonctionnalités d’analyse du code, vous avez besoin du produit Sécurité du code activé pour votre dépôt.
L’analyse du code est également un outil d’analyse basé sur un pipeline où les résultats sont agrégés par référentiel.
Conseil
L’analyse du code peut être une tâche de génération nécessitant davantage de temps. Par conséquent, nous vous recommandons d’ajouter la tâche d’analyse du code à un pipeline distinct et cloné de votre pipeline de production principal ou de créer un nouveau pipeline.
Ajoutez les tâches dans l’ordre suivant :
- Advanced Security Initialize CodeQL (AdvancedSecurity-Codeql-Init@1)
- Vos étapes de construction personnalisées
- Sécurité avancée Effectuer une analyse CodeQL (AdvancedSecurity-Codeql-Analyze@1)
Spécifiez également la langue que vous analysez dans la Initialize CodeQL tâche. Vous pouvez utiliser une liste séparée par des virgules pour analyser plusieurs langues à la fois. Les langues prises en charge sont csharp, cpp, go, java, javascript, python, ruby, swift. Si vous utilisez des agents auto-hébergés, vous pouvez également ajouter la enableAutomaticCodeQLInstall: true variable pour installer automatiquement les derniers bits CodeQL pour votre agent.
Voici un exemple de pipeline de démarrage :
trigger:
- main
pool:
# Additional hosted image options are available: https://learn.microsoft.com/en-us/azure/devops/pipelines/agents/hosted#software
vmImage: ubuntu-latest
steps:
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: "java"
# Supported languages: csharp, cpp, go, java, javascript, python, ruby, swift
# You can customize the initialize task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-init-v1?view=azure-pipelines
# If you're using a self-hosted agent to run CodeQL, use `enableAutomaticCodeQLInstall` to automatically use the latest CodeQL bits on your agent:
enableAutomaticCodeQLInstall: true
# Add your custom build steps here
# - Ensure that all code to be scanned is compiled (often using a `clean` command to ensure you're building from a clean state).
# - Disable the use of any build caching mechanisms as this can interfere with CodeQL's ability to capture all the necessary data during the build.
# - Disable the use of any distributed/multithreaded/incremental builds as CodeQL needs to monitor executions of the compiler to construct an accurate representation of the application.
# - For dependency scanning, ensure you have a package restore step for more accurate results.
# If you had a Maven app:
# - task: Maven@4
# inputs:
# mavenPomFile: 'pom.xml'
# goals: 'clean package'
# publishJUnitResults: true
# testResultsFiles: '**/TEST-*.xml'
# javaHomeOption: 'JDKVersion'
# jdkVersionOption: '1.17'
# mavenVersionOption: 'Default'
# Or a general script:
# - script: |
# echo "Run, Build Application using script"
# ./location_of_script_within_repo/buildscript.sh
- task: AdvancedSecurity-Dependency-Scanning@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-dependency-scanning-v1?view=azure-pipelines
- task: AdvancedSecurity-Codeql-Analyze@1 # More details on this task: https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/advanced-security-codeql-analyze-v1?view=azure-pipelines
Spécifiez également la langue que vous analysez dans la Initialize CodeQL tâche. Si la langue spécifiée est swift, les étapes de génération personnalisées sont requises.
Conseil
- Utilisez
javapour analyser le code écrit en Java, Kotlin ou les deux. - Utilisez
javascriptpour analyser le code écrit en JavaScript, TypeScript ou les deux.
Si vous êtes en cours d’exécution sur un agent auto-hébergé, sélectionnez le Enable automatic CodeQL detection and installation bouton permettant d’utiliser automatiquement les derniers bits CodeQL sur votre agent si vous n’avez pas installé manuellement le dernier bundle CodeQL dans le cache d’outils de votre agent.
Pour générer des alertes, exécutez votre première analyse avec un pipeline avec les tâches d’analyse du code incluses.
Configurer les annotations de pull request
Pour l’analyse des dépendances et l’analyse de code, les annotations sont automatiquement configurées pour les pull requests où une stratégie de validation de build s’applique avec des tâches d’analyse de dépendances et/ou d’analyse de code incluses dans votre pipeline. Pour plus d’informations sur la configuration des stratégies de validation de build, consultez Validation de build.
Les annotations de demande de fusion nécessitent également une analyse de sécurité avancée sur votre branche par défaut et votre branche cible avant d'analyser votre branche source (demande de fusion). Pour plus d’informations sur la résolution des alertes pour les branches de pull request, consultez Gestion des alertes d’analyse de dépendances sur les pull requests et Gestion des alertes d’analyse de code sur les pull requests.
Pour désactiver Advanced Security, toutes les alertes et l’état des alertes sont conservés dans l’onglet Sécurité avancée pour la prochaine fois que vous réactivez Advanced Security pour votre dépôt.
Articles connexes
- Alertes d’analyse du code pour GitHub Advanced Security pour Azure DevOps
- Alertes d’analyse des dépendances pour GitHub Advanced Security pour Azure DevOps
- Alertes d’analyse des secrets pour GitHub Advanced Security pour Azure DevOps
- Autorisations pour GitHub Advanced Security pour Azure DevOps
- Facturation pour GitHub Advanced Security pour Azure DevOps