Skip to main content

Configuration des stratégies de licence open source

Créez et appliquez des politiques de licences open source afin de contrôler les licences que vos dépendances sont autorisées à utiliser.

Qui peut utiliser cette fonctionnalité ?

Organizations owned by a GitHub Enterprise account with GitHub Code Security enabled

Remarque

La conformité des licences open source est en préversion publique cours et peut être modifiée.

Prerequisites

Avant de configurer des stratégies de licence, vérifiez que :

  • Votre organisation a GitHub Code Security
  • Vous avez accès à la gestion des ensembles de règles et de stratégies d’entreprise
  • Le graphique de dépendances est activé pour les référentiels que vous souhaitez évaluer

À propos de la conformité des licences

La conformité des licences open source vous permet de définir une stratégie qui spécifie les licences que vos dépendances sont autorisées à utiliser.

Lorsque la stratégie est appliquée au moyen de jeux de règles, GitHub évalue les pull requests qui modifient les manifestes de paquets, vérifie les dépendances directes et transitives, et compare les licences détectées à votre stratégie. Les pull requests comportant des dépendances non conformes restent bloquées jusqu’à ce que les violations soient résolues.

Les violations sont généralement résolues par :

  • Mise à jour de la pull request afin d’utiliser des dépendances conformes
  • Approbation d’une exception pour un package
  • Mise à jour de la stratégie pour autoriser une licence le cas échéant

Créer une stratégie de licence

  1. Accédez à votre entreprise. Par exemple, depuis la page Entreprises sur GitHub.com.
  2. En haut de la page, cliquez sur Stratégies.
  3. Dans la barre latérale, cliquez sur Conformité de la licence.
  4. Cliquez sur Stratégie par défaut.
  5. Dans la page Modifier la stratégie de licence, cliquez sur Ajouter des licences et choisissez Sélectionner dans la liste.
  6. Dans le sélecteur de licences, sélectionnez les licences que vous souhaitez autoriser. Les licences de cette liste sont classées en fonction de leur niveau de risque général à utiliser dans les environnements d’entreprise, mais il s’agit purement d’information et ne constitue pas un conseil juridique. Vérifiez toujours auprès de l’équipe juridique de votre organisation pour obtenir des conseils sur la stratégie.
  7. Enregistrez vos modifications.

Sinon, si vous disposez d’une stratégie de licence existante à partir d’un autre outil, vous pouvez l’importer en tant que liste d’expressions SPDX.

  1. Dans la page Modifier la stratégie de licence, cliquez sur Ajouter des licences et choisissez Entrée manuelle.
  2. Entrez un ou plusieurs identificateurs de licence SPDX, chacun sur une nouvelle ligne.
  3. Enregistrez vos modifications.

Les licences que vous ajoutez forment votre stratégie de base de référence. Vous pouvez ajouter ultérieurement des exceptions au niveau du package lors de la gestion des alertes.

Configurer l’accès pour les gestionnaires de licences Open Source Enterprise

  1. Accédez à votre entreprise. Par exemple, depuis la page Entreprises sur GitHub.com.
  2. En haut de la page, cliquez sur Contacts.
  3. Dans la barre latérale gauche, cliquez sur Rôles d’entreprise.
  4. Cliquez sur Attributions de rôles.
  5. Cliquez sur Attribuer un rôle.
  6. Sélectionnez le rôle Enterprise Open Source License Manager .
  7. Choisissez un utilisateur ou une équipe à qui attribuer le rôle.
  8. Cliquez sur Attribuer un rôle.

L’attribution de ce rôle inscrit également les réviseurs aux notifications de demande afin qu’ils puissent répondre rapidement aux demandes de rejet.

Utilisez éventuellement des propriétés personnalisées pour contrôler le déploiement par référentiel

Si vous souhaitez un déploiement progressif, utilisez une propriété personnalisée de référentiel pour contrôler si chaque référentiel est en mode d’application inactif, évalué ou actif.

  1. Sur GitHub, accédez à la page principale de l’organisation.

  2. Sous le nom de votre organisation, cliquez sur Settings. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la barre latérale gauche, dans la section « Code, planification et automatisation », cliquez sur Repository, puis cliquez sur Propriétés personnalisées.

    Capture d’écran de la page des paramètres d’une organisation. Dans la barre latérale, un lien intitulé « Propriétés personnalisées » est surligné en orange.

  4. Créez une propriété personnalisée de référentiel à sélection unique, par exemple open_source_license_compliance.

  5. Ajouter des valeurs pour inactive, evaluateet active.

  6. Définissez la valeur par défaut sur inactive.

  7. Déterminez qui peut modifier la valeur de la propriété.

  8. Attribuez des valeurs de propriété aux référentiels en fonction de leur étape de déploiement.

Appliquer une politique aux pull requests à l’aide de jeux de règles

Nous vous suggérons de créer deux ensembles de règles, un pour le mode Évaluation et un pour le mode Actif. Si vous avez créé des propriétés personnalisées pour contrôler le déploiement, vous pouvez cibler ces propriétés ici.

  1. Accédez à la page des ensembles de règles correspondant à l’étendue où vous souhaitez activer l’application.

  2. Créez un ensemble de règles de branche.

  3. Sous le nom de l’ensemble de règles, définissez l’état d’application :

    • Pour votre premier ensemble de règles, sélectionnez Évaluer.
    • Pour votre deuxième ensemble de règles, sélectionnez Actif.
  4. Choisissez comment cibler des référentiels :

    • Si vous utilisez des propriétés personnalisées, ciblez par open_source_license_compliance:
      • Pour l’ensemble de règles en mode évaluation, ciblez les référentiels où la valeur de la propriété est evaluate.
      • Pour l’ensemble de règles en mode actif, ciblez les référentiels dont la valeur de la propriété est active.
    • Si vous n’utilisez pas de propriétés personnalisées, ciblez les référentiels à l’aide d’un modèle de référentiel ou d’une sélection explicite de référentiel.
  5. Activez exiger les résultats de conformité des licences avant de fusionner.

  6. Enregistrez vos modifications.

Pour plus d’informations sur les ensembles de règles, consultez À propos des ensembles de règles et Création d'ensembles de règles pour les dépôts de votre organisation.

Mise en œuvre de la stratégie de test

  1. Dans un dépôt cible, ouvrez une pull request qui modifie les fichiers manifestes de dépendances.
  2. Vérifiez que les annotations de pull request affichent les résultats de conformité des licences.
  3. Si une dépendance enfreint la stratégie, examinez l’alerte générée et demandez le renvoi si une exception est nécessaire.

Lorsque les violations ne sont pas résolues, la pull request reste bloquée.

Examiner et gérer les demandes d’exception

  1. En tant que Gestionnaire de licences Open Source Entreprise, ouvrez la liste des demandes d’alerte de licence en attente dans vos vues de sécurité d’entreprise.
  2. Passez en revue chaque demande et décidez s’il faut refuser ou approuver cette demande.
  3. Si vous approuvez, choisissez si l’exception doit s’appliquer à un package, à une licence ou à un modèle de package.
  4. Indiquez s’il faut appliquer l’exception à l’étendue du référentiel ou à l’étendue de l’entreprise.
  5. Enregistrez l’exception.

Une fois qu’une requête est approuvée, l’alerte est fermée et la pull request est débloquée, tant qu’aucune autre vérification requise n’échoue.

Passer en revue la stratégie effective d’un référentiel

  1. Sur GitHub, accédez à la page principale du référentiel.

  2. Sous le nom de votre référentiel, cliquez sur Paramètres. Si vous ne voyez pas l’onglet « Paramètres », sélectionnez le menu déroulant , puis cliquez sur Paramètres.

    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Paramètres » est mis en évidence avec un encadré orange foncé.

  3. Dans la barre latérale, sous « Sécurité », cliquez sur Stratégie de licence.

  4. Passez en revue la stratégie combinée et le jeu d’exceptions définis en vigueur pour ce référentiel.

  5. Mettez à jour la stratégie au niveau de l’entreprise ou au niveau du référentiel en fonction des besoins.

Lectures complémentaires