Skip to main content

Protection des poussées pour les référentiels et les organisations

Avec la protection push pour les référentiels et les organisations, secret scanning empêche les contributeurs d’envoyer des secrets à un référentiel et génère une alerte chaque fois qu’un contributeur contourne le blocage.

Qui peut utiliser cette fonctionnalité ?

La protection push pour les référentiels et les organisations est disponible gratuitement sur tous les dépôts publics appartenant à l’utilisateur. Les organisations qui utilisent GitHub Enterprise Cloud avec une licence pour GitHub Advanced Security peuvent également la protection push sur leurs dépôts privés et internes.

À propos de la protection des poussées pour les référentiels et les organisations

Jusqu’à présent, l’secret scanning vérifie la présence de secrets après une poussée et avertit les utilisateurs des secrets exposés. Lorsque vous activez la protection push pour votre organisation ou votre référentiel, secret scanning vérifie également les envois (push) pour les secrets pris en charge. Secret scanning répertorie tous les secrets qu’il détecte afin que l’auteur puisse les examiner et les supprimer ou, si permitted, autoriser ces secrets à être envoyés. Secret scanning peut également vérifier les notifications Push pour les modèles personnalisés. Pour plus d'informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».

Si un contributeur contourne un bloc de protection de poussée pour un secret, GitHub :

  • Crée une alerte sous l’onglet Sécurité du dépôt.
  • Ajoute l’événement de contournement au journal d’audit.
  • Envoie une alerte par e-mail aux propriétaires de l’organisation ou de compte personnel, aux responsables de la sécurité et aux administrateurs de référentiels, qui regardent le référentiel, avec un lien vers le secret associé et la raison pour laquelle il a été autorisé.

Ce tableau montre le comportement des alertes pour chaque façon dont un utilisateur peut contourner un blocage de la protection push.

Motif du contournementComportement des alertes
Il est utilisé dans des testsGitHub crée une alerte fermée, résolue comme « utilisé dans des tests »
C'est un faux positifGitHub crée une alerte fermée, résolue comme « faux positif »
Je le corrigerai plus tardGitHub crée une alerte ouverte

Par défaut, toute personne disposant d’un accès en écriture au référentiel peut choisir de contourner la protection push en spécifiant l’une des raisons de contournement décrites dans la table. Si vous souhaitez mieux contrôler quels contributeurs peuvent contourner la protection push et quels pushs contenant des secrets doivent être autorisés, vous pouvez activer le contournement délégué pour la protection push. Le contournement délégué vous permet de configurer un groupe désigné de réviseurs afin de superviser et de gérer les demandes de contournement de la protection push contre les contributeurs qui envoient le(s) secrets vers le référentiel. Pour plus d’informations, consultez « Activation du contournement délégué pour la protection push. »

Sur la page des alertes secret scanning d’un dépôt ou d’une organisation, vous pouvez appliquer le filtre bypassed:true pour voir facilement quelles alertes sont dues à un utilisateur ayant contourné la protection des poussées. Pour plus d’informations sur l’affichage de ces alertes, consultez « Gestion des alertes à partir de l’analyse des secrets. »

Vous pouvez surveiller les alertes de sécurité pour découvrir quand les utilisateurs contournent les protections de poussées et créent des alertes. Pour plus d’informations, consultez « Audit des alertes de sécurité ».

Si vous êtes propriétaire d’organisation ou gestionnaire de la sécurité, vous pouvez consulter des indicateurs de performance de la protection push au sein de votre organisation. Pour plus d’informations, consultez « Affichage des mesures de protection de la transmission de type push de l’analyse des secrets dans votre organisation ».

Remarque : l’éditeur web github.dev ne prend pas en charge la protection des poussées. Pour plus d’informations sur le rédacteur, consultez « Éditeur web github.dev ».

Pour plus d’informations sur les secrets et fournisseurs de services pris en charge pour la protection par émission de données, consultez « Modèles d'analyse des secrets ».

Activation de l’secret scanning en tant que protection des poussées

Pour que vous utilisiez secret scanning comme protection d’envoi dans les référentiels publics, l’entreprise , l’organisation, ou le référentiel doit avoir secret scanning activé. Pour utiliser secret scanning comme protection d’envoi dans des référentiels privés ou internes, ou dans les référentiels appartenant à l’utilisateur pour , l’entreprise ou l’organisation doit également avoir GitHub Advanced Security activé. Pour plus d’informations, consultez « Gestion des fonctionnalités GitHub Advanced Security pour votre entreprise », « Gestion des paramètres de sécurité et d'analyse pour votre organisation », « Gestion des paramètres de sécurité et d’analyse pour votre dépôt » et « À propos de GitHub Advanced Security ».

Les propriétaires d’organisation, les gestionnaires de sécurité et les administrateurs de référentiels peuvent activer la protection de transmission de type push pour secret scanning via l’API. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les référentiels » et développez la section « Propriétés de l’objet security_and_analysis ».

Les propriétaires d’organisation peuvent fournir un lien personnalisé qui s’affiche lorsqu’une poussée est bloquée. Ce lien personnalisé peut contenir des ressources et des conseils spécifiques à l’organisation, tels que des instructions sur l’utilisation d’un coffre de secrets recommandé ou qui contacter pour des questions relatives au secret bloqué.

Vous pouvez également activer la protection push pour tous vos dépôts publics appartenant à l’utilisateur via vos paramètres de compte personnel. Pour les nouveaux dépôts publics que vous créez, la protection push est activée par défaut. Pour plus d’informations, consultez « Configuration de l’analyse des secrets pour vos dépôts ».

Les administrateurs Enterprise peuvent également activer ou désactiver secret scanning en tant que protection push pour l’entreprise via l’API. Pour plus d’informations, consultez « Points de terminaison d’API REST pour la sécurité et l’analyse du code d’entreprise ».

Remarque : Lorsque vous dupliquez un dépôt avec secret scanning comme protection push activée, celle-ci n'est pas activée par défaut sur le dupliqué (fork). Vous pouvez l'activer sur le dupliqué (fork) de la même manière que vous l'activez sur un dépôt autonome.

Activation de l’secret scanning comme protection des poussées pour votre entreprise

  1. Dans le coin supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos entreprises.

  2. Dans la liste des entreprises, cliquez sur l’entreprise que vous souhaitez afficher.

  3. Dans la barre latérale du compte d’entreprise, cliquez sur Paramètres.

  4. Dans la barre latérale gauche, cliquez sur Sécurité et analyse du code.

  5. Sous « Secret scanning », sous « Protection des poussées », cliquez sur Activer tout.

    Capture d’écran de la section « Protection push » de la page « Sécurité et analyse du code ». Deux boutons, intitulés « Activer tout » et « Désactiver tout », sont mis en évidence avec un contour orange foncé.

  6. Cliquez éventuellement sur Activer automatiquement pour les référentiels ajoutés à secret scanning.

  7. Pour éventuellement inclure un lien personnalisé dans le message que les membres voient quand ils tentent d’envoyer (push) un secret, cliquez sur Ajouter un lien de ressource dans l’interface CLI et l’interface utilisateur web quand un commit est bloqué, puis tapez une URL et cliquez sur Enregistrer le lien.

    Capture d’écran de la section « Protection push » de la page « Sécurité et analyse du code ». La case à cocher « Ajouter un lien de ressource dans l’interface CLI et l’interface utilisateur web lorsqu’une validation est bloquée » et le champ de texte de lien personnalisé sont mis en évidence avec un contour orange foncé.

Activation de l’secret scanning en tant que protection des poussées pour une organisation

Vous pouvez utiliser la vue d’ensemble de la sécurité pour rechercher un ensemble de dépôts et activer ou désactiver l’secret scanning comme protection des poussées pour tout cet ensemble en même temps. Pour plus d’informations, consultez « Activation des fonctionnalités de sécurité pour plusieurs dépôts ».

Vous pouvez également utiliser la page des paramètres d’une organisation pour « Sécurité et analyse du code » pour activer et désactiver secret scanning comme une protection de transmission de type push pour tous les référentiels existants dans une organisation.

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

  2. Sous le nom de votre organisation, 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 des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

Note

Si votre organisation est inscrite dans security configurations et global settings version bêta publique, au lieu de « Sécurité et analyse du code », vous verrez un menu déroulant « Sécurité du code ». Sélectionnez Sécurité du code, puis cliquez sur Configurations. Pour connaître les étapes suivantes sur l’activation de la protection Push et d’autres fonctionnalités de sécurité à grande échelle avec security configurations, consultez « Application de la configuration de sécurité recommandée par GitHub dans votre organisation ».

  1. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  2. Sous « Secret scanning », sous « Protection des poussées », cliquez sur Activer tout.

  3. Cliquez éventuellement sur Activer automatiquement pour les référentiels ajoutés à secret scanning.

  4. Pour éventuellement inclure un lien personnalisé dans le message que les membres voient quand ils tentent d’envoyer (push) un secret, sélectionnez Ajouter un lien de ressource dans l’interface CLI et l’interface utilisateur web quand un commit est bloqué, puis tapez une URL et cliquez sur Enregistrer le lien.

    Capture d’écran de la section « Protection push » de la page « Sécurité et analyse du code ». La case à cocher « Ajouter un lien de ressource dans l’interface CLI et l’interface utilisateur web lorsqu’une validation est bloquée » et le champ de texte de lien personnalisé sont mis en évidence avec un contour orange foncé.

Pour plus d’informations sur l’activation de fonctionnalités de sécurité dans une organisation, consultez « Démarrage rapide pour la sécurisation de votre organisation ».

Activation de l’secret scanning en tant que protection des poussées pour un dépôt

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, 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 section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  4. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  5. Sous « Secret scanning », accédez à « Protection des envois » et cliquez sur Activer.

Activation de la protection des poussées pour un modèle personnalisé

Vous pouvez activer l'secret scanning en tant que protection des poussées pour les modèles personnalisés stockés au niveau de l'entreprise, de l'organisation ou du dépôt.

Activation de la protection des poussées pour un modèle personnalisé stocké dans une entreprise

Remarques :

  • Pour rendre possible la protection des envois (push) dans le cadre des modèles personnalisés, l’secret scanning doit être activée comme protection des envois (push) au niveau de l’entreprise. Pour plus d’informations, consultez « Protection des poussées pour les référentiels et les organisations ».
  • L’activation de la protection des envois (push) pour les modèles personnalisés courants peut entraîner des perturbations pour les contributeurs.

Avant d’activer la protection des poussées pour un modèle personnalisé au niveau de l’entreprise, vous devez également tester vos modèles personnalisés en exécutant des tests. Les Vous pouvez uniquement effectuer un essai à blanc sur les dépôts auxquels vous bénéficiez d’un accès administrateur. Si un propriétaire d’entreprise souhaite pouvoir effectuer des essais à blanc sur n’importe quel dépôt d’une organisation, le rôle propriétaire d’organisation doit lui être attribué. Pour plus d’informations, consultez « Gestion de votre rôle dans une organisation appartenant à votre entreprise ».

  1. Dans le coin supérieur droit de GitHub.com, cliquez sur votre photo de profil, puis sur Vos entreprises.

  2. Dans la liste des entreprises, cliquez sur l’entreprise que vous souhaitez afficher.

  3. Dans la barre latérale du compte d’entreprise, cliquez sur Stratégies. 1. Sous Stratégies, cliquez sur Sécurité et analyse du code.

  4. Sous "Sécurité et analyse du code", cliquez sur Fonctions de sécurité. 1. Sous « Secret scanning », sous « Modèles personnalisés », cliquez sur pour le modèle qui vous intéresse.

    Note

    Au niveau de l’entreprise, vous pouvez uniquement modifier et activer la protection des poussées pour les modèles personnalisés que vous avez créés.

  5. Pour activer la protection des poussées pour votre modèle personnalisé, faites défiler vers le bas jusqu’à « Protection des poussées » et cliquez sur Activer.

    Note

    L'option permettant d'activer la protection push n'est visible que pour les modèles publiés.

    Capture d’écran de la page de modèles personnalisés avec le bouton permettant d’activer la protection push mis en évidence avec un contour orange foncé.

Activation de l’secret scanning en tant que protection des poussées dans une organisation pour un modèle personnalisé

Avant d’activer la protection des poussées pour un modèle personnalisé au niveau de l’organisation, vous devez veiller à activer l’secret scanning pour les dépôts que vous souhaitez analyser dans votre organisation. Pour activer l’secret scanning sur tous les dépôts au sein de votre organisation, consultez « Gestion des paramètres de sécurité et d'analyse pour votre organisation ».

  1. Dans l’angle supérieur droit de GitHub.com, sélectionnez votre photo de profil, puis sur Vos organisations.

    Capture d’écran du menu déroulant sous l’image de profil de @octocat. « Vos organisations » est présenté en orange foncé.

  2. En regard de l’organisation, cliquez sur Paramètres.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

Note

Si votre organisation est inscrite dans security configurations et global settings version bêta publique, au lieu de « Sécurité et analyse du code », vous verrez un menu déroulant « Sécurité du code ». Sélectionnez Sécurité du code, puis cliquez sur Global settings. Pour connaître les étapes suivantes sur la gestion des modèles personnalisés pour votre organisation avec global settings, consultez « Configuration des paramètres de sécurité globaux pour votre organisation ». Pour plus d’informations sur l’activation de la protection Push pour des modèles personnalisés spécifiques, reportez-vous aux étapes suivantes.

  1. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  2. Sous « Secret scanning », sous « Modèles personnalisés », cliquez sur pour le modèle qui vous intéresse.

  3. Pour activer la protection des poussées pour votre modèle personnalisé, faites défiler vers le bas jusqu’à « Protection des poussées » et cliquez sur Activer.

    Remarques :

    • L'option permettant d'activer la protection push n'est visible que pour les modèles publiés.
    • La protection des envois (push) pour les modèles personnalisés s’applique uniquement aux référentiels de l’organisation sur lesquels l’secret scanning est activée comme protection des envois (push). Pour plus d’informations, consultez « Protection des poussées pour les référentiels et les organisations ».
    • L’activation de la protection des envois (push) pour les modèles personnalisés courants peut entraîner des perturbations pour les contributeurs.

    Capture d’écran de la section « Protection push » de la page de modèle personnalisé. Un bouton, intitulé « Activer », est indiqué en orange foncé.

Activation de l’secret scanning en tant que protection des poussées dans un dépôt pour un modèle personnalisé

Avant d’activer la protection des poussées pour un modèle personnalisé au niveau du dépôt, vous devez définir le modèle personnalisé pour le dépôt et le tester dans le dépôt. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, 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 section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  4. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  5. Sous « Secret scanning », sous « Modèles personnalisés », cliquez sur pour le modèle qui vous intéresse.

  6. Pour activer la protection des poussées pour votre modèle personnalisé, faites défiler vers le bas jusqu’à « Protection des poussées » et cliquez sur Activer.

    Note

    L'option permettant d'activer la protection push n'est visible que pour les modèles publiés.

    Capture d’écran de la section « Protection push » de la page de modèle personnalisé. Un bouton, intitulé « Activer », est indiqué en orange foncé.

Activation du contournement délégué pour la protection Push

Note

Le contournement délégué pour la protection push est actuellement en version bêta et sujette à modification.

Le contournement délégué pour la protection Push vous permet de contrôler qui peut contourner la protection push et les push bloqués qui doivent être autorisés.

Lorsque vous activez la protection push, par défaut, toute personne disposant d’un accès en écriture au référentiel peut choisir de contourner la protection en spécifiant une raison d’autoriser l’envoi (push) contenant un secret. Grâce au contournement délégué, les contributeurs à un référentiel sont tenus de demander des « privilèges de contournement ». La demande est envoyée à un groupe désigné de réviseurs, qui approuvent ou refusent la demande pour contourner la protection Push.

Si la demande de contournement de la protection push est approuvée, le contributeur peut envoyer (push) le commit contenant le secret. Si la demande est refusée, le contributeur doit supprimer le secret du (ou des) commits contenant le secret avant de l’envoyer (push) à nouveau.

Pour configurer le contournement délégué, les propriétaires d’organisations ou les administrateurs de référentiels créent d’abord une « liste de contournement ». La liste de contournement comprend des rôles et des équipes spécifiques, comme l’équipe de sécurité ou les administrateurs de référentiels, qui supervisent les demandes de contournement de la protection push émanant de non-membres. Pour plus d’informations, consultez « Configuration du contournement délégué pour une organisation » et « Configuration du contournement délégué pour un référentiel. »

Les membres de la liste de contournement consultent et gèrent les demandes via la page « Contournement de la protection push » dans l’onglet Sécurité du référentiel. Pour plus d’informations, consultez «  Gestion des demandes de contournement de la protection push. »

Les membres de la liste de contournement sont toujours protégés contre l’envoi accidentel de secrets vers un référentiel. Lorsqu’un membre de la liste de contournement tente d’envoyer (push) un commit contenant un secret, son envoi est toujours bloqué. Cependant, il peut choisir de contourner le blocage en spécifiant une raison d’autoriser le push. Les membres de la liste de contournement n’ont pas besoin de demander des privilèges de contournement à d’autres membres pour remplacer le blocage.

Configuration d’un contournement délégué pour une organisation

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

  2. Sous le nom de votre organisation, 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 des onglets dans le profil d’une organisation. L’onglet « Paramètres » est présenté en orange foncé.

  3. Dans la section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

Note

Si votre organisation est inscrite dans security configurations et global settings version bêta publique, au lieu de « Sécurité et analyse du code », vous verrez un menu déroulant « Sécurité du code ». Sélectionnez Sécurité du code, puis cliquez sur Global settings. 1. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  1. Sous « Protection push », à droite de « Qui peut contourner la protection push pour secret scanning », sélectionnez le menu déroulant, puis cliquez sur Rôles ou équipes spécifiques.
  2. Sous « Liste de contournement », cliquez sur Ajouter un rôle ou une équipe.
  3. Dans la zone de dialogue, sélectionnez les rôles et les équipes que vous souhaitez ajouter à la liste de contournement, puis cliquez sur Ajouter sélectionné.

Configuration d’un contournement délégué pour un référentiel

Note

Si un propriétaire d’organisation configure le contournement délégué au niveau de l’organisation, les paramètres au niveau du référentiel sont désactivés.

  1. Dans GitHub.com, accédez à la page principale du dépôt.

  2. Sous le nom de votre dépôt, 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 section « Sécurité » de la barre latérale, cliquez sur Sécurité et analyse du code.

  4. Sous « Sécurité et analyse du code », recherchez « GitHub Advanced Security ».

  5. Sous « Protection push », à droite de « Qui peut contourner la protection push pour secret scanning », sélectionnez le menu déroulant, puis cliquez sur Rôles ou équipes spécifiques.

  6. Sous « Liste de contournement », cliquez sur Ajouter un rôle ou une équipe.

  7. Dans la zone de dialogue, sélectionnez les rôles et les équipes que vous souhaitez ajouter à la liste de contournement, puis cliquez sur Ajouter sélectionné.

Gestion des demandes de contournement de la protection push

Vous pouvez afficher et gérer toutes les demandes de privilèges de contournement sur la page « Contournement de la protection Push », située sous l’onglet Sécurité du référentiel.

Vous pouvez filtrer les demandes par approbateur (membre de la liste de contournement), demandeur (contributeur en effectuant la demande), délai et état. Les états suivants sont attribués à une demande :

StatutDescription
CancelledLa demande a été annulée par le contributeur.
CompletedLa demande a été approuvée et les commits ont été envoyées au référentiel.
DeniedLa demande a été examinée et refusée.
ExpiredLa demande a expiré. Les demandes sont valides pendant 7 jours.
OpenLa demande n’a pas encore été examinée, ou a été approuvée, mais le(s) commits n’a(ont) pas été envoyés dans le référentiel.

Lorsqu’un contributeur demande des privilèges de contournement pour envoyer (push) un commit contenant un secret, les membres de la liste de contournement reçoivent tous une notification par e-mail contenant un lien vers la demande. Les membres de la liste de contournement disposent alors de sept jours pour examiner la demande et l’approuver ou la refuser avant qu’elle n’expire.

Le contributeur est notifié de la décision par e-mail et doit prendre les mesures requises. Si la demande est approuvée, le contributeur peut envoyer (push) le commit contenant le secret dans le référentiel. Si la demande est refusée, le contributeur doit supprimer le secret du commit pour que ce dernier puisse être envoyé dans le référentiel.

Gestion des demandes de contournement de la protection push au niveau du référentiel

  1. Dans GitHub.com, accédez à la page principale du dépôt.
  2. Sous le nom du dépôt, cliquez sur Sécurité. Si vous ne voyez pas l’onglet « Sécurité », sélectionnez le menu déroulant et cliquez sur Sécurité.
    Capture d’écran d’un en-tête de dépôt montrant les onglets. L’onglet « Sécurité » est mis en évidence avec un encadré orange foncé.
  3. Dans la barre latérale gauche, sous « Demandes », cliquez sur Ignorer la protection Push.
  4. Sélectionnez le menu déroulant Tous les états, puis cliquez sur Ouvrir pour afficher les demandes en attente d’examen.
  5. Cliquez sur la demande que vous souhaitez examiner.
  6. Examinez les détails de la demande.
  7. Pour autoriser le contributeur à envoyer (push) le commit contenant le secret, cliquez sur Approuver la demande de contournement. Par ailleurs, pour obliger le contributeur à supprimer le secret du commit, cliquez sur Refuser la demande de contournement.

Pour aller plus loin