Skip to main content

À propos de la protection push

La protection push 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. La protection push peut être appliquée au niveau du référentiel, de l’organisation et du compte utilisateur..

Qui peut utiliser cette fonctionnalité ?

La protection push pour les référentiels et les organisations est disponible pour les types de référentiels suivants :

  • Référentiels publics appartenant à l’utilisateur publics gratuitement
  • Référentiels privés et internes dans les organisations utilisant GitHub Enterprise Cloud avec GitHub Advanced Security activé
  • Référentiels d’espaces de noms utilisateur appartenant à Enterprise Managed Users

À propos de la protection push

La protection push est une fonctionnalité de secret scanning conçue pour empêcher les informations sensibles, telles que les secrets ou les jetons, d’être envoyées à votre référentiel en premier lieu. Contrairement à secret scanning, qui détecte les secrets une fois qu’ils ont été validés, la protection push analyse de manière proactive votre code pour détecter les secrets pendant le processus push et bloque le push s’ils sont détectés.

La protection push vous permet d’éviter les risques associés aux secrets exposés, tels que l’accès non autorisé aux ressources ou aux services. Avec cette fonctionnalité, les développeurs reçoivent des commentaires immédiats et peuvent résoudre les problèmes potentiels avant qu’ils ne deviennent un problème de sécurité.

Vous pouvez activer la protection push :

  • Au niveau du référentiel/de l’organisation, si vous êtes administrateur de référentiel ou propriétaire d’organisation. Vous verrez des alertes dans l’onglet Sécurité de votre référentiel lorsqu’un contributeur du référentiel contourne la protection push.
  • Pour votre compte sur GitHub, en tant qu’utilisateur. Ce type de protection push est appelé « protection push pour les utilisateurs ». Il vous empêche de transmettre des secrets à n’importe quel dépôt public sur GitHub, mais aucune alerte n’est générée.

Pour plus d’informations à propos des secrets et fournisseurs de services pris en charge pour la protection d’envoi (push), consultez Modèles d’analyse de secrets pris en charge.

La protection par envoi (push) a certaines limites. Pour plus d’informations, consultez « Résolution des problèmes d’analyse des secrets ».

Comment fonctionne la protection push

Fonctionnement de la protection push :

Une fois activé, si la protection push détecte un secret potentiel lors d’une tentative push, elle bloque l’envoi et fournit un message détaillé expliquant la raison du bloc. Vous devrez examiner le code en question, supprimer toute information sensible et réessayer le push.

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 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

Si vous souhaitez mieux contrôler quels contributeurs peuvent contourner la protection push et quels push 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 À propos du contournement délégué pour la protection Push.

À propos des avantages de la protection push

  • Sécurité préventive : la protection push agit comme un mécanisme de défense de première ligne en analysant le code pour les secrets au moment de l’envoi. Cette approche préventive permet d’intercepter les problèmes potentiels avant qu’ils ne soient fusionnés dans votre référentiel.

  • Commentaires immédiats : les développeurs reçoivent des commentaires instantanés si un secret potentiel est détecté lors d’une tentative push. Cette notification immédiate permet une correction rapide, ce qui réduit la probabilité d’exposer des informations sensibles.

  • Réduction du risque de fuites de données : en bloquant les validations qui contiennent des informations sensibles, la protection push réduit considérablement le risque de fuites de données accidentelles. Cela permet de protéger contre l’accès non autorisé à votre infrastructure, à vos services et à vos données.

  • Gestion efficace des secrets : au lieu de traiter rétrospectivement les secrets exposés, les développeurs peuvent résoudre les problèmes à la source. Cela rend la gestion des secrets plus efficace et moins fastidieuse.

  • Intégration à des pipelines CI/CD : la protection push peut être intégrée à vos pipelines d’intégration continue/de déploiement continu (CI/CD), ce qui garantit que chaque envoi est analysé pour les secrets avant qu’il ne soit déployé. Cela ajoute une couche supplémentaire de sécurité à vos pratiques DevOps.

  • Contournement délégué pour la flexibilité : pour les cas où des faux positifs se produisent ou lorsque certains modèles sont nécessaires, la fonctionnalité de contournement déléguée permet aux utilisateurs désignés d’approuver des push spécifiques. Cela offre une flexibilité sans compromettre la sécurité globale.

Chaque utilisateur sur GitHub peut également activer la protection push pour eux-mêmes dans leurs paramètres individuels. L’activation de la protection push pour votre compte d’utilisateur signifie que vos push sont protégés chaque fois que vous envoyez à un dépôt public sur GitHub, sans compter sur ce référentiel pour que la protection push soit activée. Pour plus d’informations, consultez « Protection par émission de données pour les utilisateurs ».

Personnalisation de la protection push

Une fois la protection push activée, vous pouvez la personnaliser plus loin :

Intégrer avec des pipelines CI/CD

Intégrez la protection push à vos pipelines d’intégration continue/déploiement continu (CI/CD) pour vous assurer qu’il exécute des analyses pendant les processus automatisés. Cela implique généralement d’ajouter des étapes dans votre fichier de configuration de pipeline pour appeler les API de GitHub ou d’utiliser GitHub Actions.

Définir des modèles personnalisés

Définissez des modèles personnalisés que la protection push peut utiliser pour identifier les secrets et bloquer les envois (push) contenant ces secrets. Pour plus d’informations, consultez « Définition de modèles personnalisés pour l’analyse des secrets ».

Configurer le contournement délégué

Définissez les contributeurs qui peuvent contourner la protection push et ajoutez un processus d’approbation pour les autres contributeurs. Pour plus d’informations, consultez « À propos du contournement délégué pour la protection Push ».

Pour aller plus loin