Skip to main content

Cette version de GitHub Enterprise Server ne sera plus disponible le 2024-03-07. Aucune publication de correctifs n’est effectuée, même pour les problèmes de sécurité critiques. Pour de meilleures performances, une sécurité améliorée et de nouvelles fonctionnalités, effectuez une mise à niveau vers la dernière version de GitHub Enterprise. Pour obtenir de l’aide sur la mise à niveau, contactez le support GitHub Enterprise.

Configuration de l’analyse de code pour votre appliance

Vous pouvez activer, configurer et désactiver code scanning pour GitHub Enterprise Server. Code scanning permet aux utilisateurs d’analyser le code à la recherche de vulnérabilités et d’erreurs.

Qui peut utiliser cette fonctionnalité ?

Code scanning est disponible pour les dépôts appartenant à l’organisation dans GitHub Enterprise Server. Cette fonctionnalité nécessite une licence pour GitHub Advanced Security. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

À propos de l’code scanning

Code scanning es une fonctionnalité que vous utilisez pour analyser le code dans un dépôt GitHub afin de détecter d’éventuelles vulnérabilités de sécurité et erreurs de codage. Tous les problèmes identifiés par l’analyse sont énumérés dans votre référentiel.

Vous pouvez configurer l’code scanning pour exécuter l’analyse CodeQL et l’analyse tierce. Code scanning prend aussi en charge l’exécution de l’analyse en mode natif avec GitHub Actions ou en externe en utilisant l’infrastructure CI/CD existante. Les points ci-dessous récapitulent les options dont disposent les utilisateurs au moment de configurer votre instance GitHub Enterprise Server pour autoriser l’code scanning à l’aide d’actions.

Vérification de la présence de GitHub Advanced Security

dans votre licence

Vous pouvez déterminer si votre entreprise dispose d’une licence GitHub Advanced Security en examinant ses paramètres. Pour plus d’informations, consultez « Activation de GitHub Advanced Security pour votre entreprise ».

Prérequis pour l’code scanning

Exécution de l’code scanning à l’aide de GitHub Actions

Approvisionnement d’un exécuteur auto-hébergé

GitHub Enterprise Server peut exécuter l’code scanning en utilisant un workflow GitHub Actions. Tout d’abord, vous devez provisionner un ou plusieurs exécuteurs GitHub Actions auto-hébergés dans votre environnement. Vous pouvez provisionner des exécuteurs auto-hébergés au niveau du dépôt, de l’organisation ou du compte d’entreprise. Pour plus d’informations, consultez « À propos des exécuteurs auto-hébergés » et « Ajout d’exécuteurs auto-hébergés ».

Vous devez vérifier que Git se trouve dans la variable PATH des exécuteurs auto-hébergés que vous utilisez pour exécuter des actions CodeQL.

Remarque : Si vous utilisez l’code scanning CodeQL pour analyser le code écrit en Python dans votre entreprise, vous devez vérifier que votre exécuteur auto-hébergé a Python 3 installé.

Approvisionnement d’un groupe identique d’exécuteurs

Vous pouvez utiliser Actions Runner Controller pour créer un groupe identique d’exécuteurs dédié à votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Déploiement de groupes identiques d’exécuteurs avec Actions Runner Controller ».

Provisionnement des actions pour l’code scanning

Si vous souhaitez utiliser des actions pour exécuter l’code scanning sur GitHub Enterprise Server, les actions doivent être disponibles sur votre appliance.

L’action CodeQL est incluse dans votre installation de GitHub Enterprise Server. Si GitHub Enterprise Server 3.8 et votre exécuteur GitHub Actions ont accès à Internet, l’action télécharge automatiquement le bundle CodeQL 2.12.7 nécessaire pour effectuer l’analyse. Vous pouvez également utiliser un outil de synchronisation pour mettre à disposition localement la dernière version du bundle d’analyse CodeQL. Pour plus d’informations, consultez « Configuration de l’analyse CodeQL sur un serveur sans accès à Internet » ci-dessous.

Vous pouvez aussi mettre des actions tierces à la disposition des utilisateurs pour code scanning en configurant GitHub Connect. Pour plus d’informations, consultez « Configuration de l’analyse de code pour votre appliance » ci-dessous.

Configuration de l’analyse CodeQL sur un serveur sans accès à Internet

Si le serveur sur lequel vous exécutez GitHub Enterprise Server n’est pas connecté à Internet et que vous souhaitez permettre aux utilisateurs d’activer l’code scanning CodeQL pour leurs dépôts, vous devez utiliser l’outil de synchronisation d’actions CodeQL pour copier le bundle d’analyse CodeQL de GitHub.com vers votre serveur. L’outil et les instructions d’utilisation sont disponibles à l’adresse https://github.com/github/codeql-action-sync-tool.

Si vous configurez l’outil de synchronisation d’actions CodeQL, vous pouvez vous en servir pour synchroniser les dernières versions de l’action CodeQL et le bundle d’analyse CodeQL associé. Ils sont compatibles avec GitHub Enterprise Server.

Configuration de GitHub Connect pour synchroniser GitHub Actions

  1. Si vous voulez télécharger des workflow d’actions à la demande à partir de GitHub.com, vous devez activer GitHub Connect. Pour plus d’informations, consultez « Gestion de GitHub Connect ».
  2. Vous devez également activer GitHub Actions pour votre instance GitHub Enterprise Server. Pour plus d’informations, consultez « Bien démarrer avec GitHub Actions pour GitHub Enterprise Server ».
  3. L’étape suivante consiste à configurer l’accès aux actions sur GitHub.com à l’aide de GitHub Connect. Pour plus d’informations, consultez « Activer l’accès automatique aux actions GitHub.com à l’aide de GitHub Connect ».
  4. Ajoutez un exécuteur auto-hébergé à votre dépôt, organisation ou compte d’entreprise. Pour plus d’informations, consultez « Ajout d’exécuteurs auto-hébergés ».

Exécution de l’analyse du code à l’aide de CodeQL CLI

Si vous ne souhaitez pas utiliser GitHub Actions, vous devez exécuter code scanning à l’aide de CodeQL CLI.

CodeQL CLI est un outil en ligne de commande qui permet d’analyser des codebases sur n’importe quel ordinateur, y compris sur un système CI/CD tiers. Pour plus d’informations, consultez « Utilisation de l'analyse du code avec votre système CI existant ».