Skip to main content

Gestion des clés privées pour les applications GitHub

Vous pouvez gérer des clés privées pour vous authentifier auprès de votre GitHub App.

À propos des clés privées pour GitHub Apps

Après avoir créé une GitHub App, vous devez générer une clé privée afin d’effectuer des requêtes à l’API GitHub Enterprise Cloud en tant qu’application elle-même. Par exemple, vous avez besoin d’une clé privée pour signer un jeton web JSON (JWT) afin de demander un jeton d’accès à l’installation. Pour plus d’informations, consultez « Génération d’un jeton web JSON (JWT) pour une application GitHub ».

Vous pouvez créer plusieurs clés privées et les alterner pour éviter les temps d’arrêt si une clé est compromise ou perdue. Pour vérifier qu’une clé privée correspond à une clé publique, consultez Vérification des clés privées.

Les clés privées n’expirent pas et doivent être révoquées manuellement. Pour plus d’informations sur la révocation d’une clé privée, consultez « Supprimer des clés privées ».

Vous devez sécuriser les clés privées pour les GitHub Apps. Pour plus d’informations, consultez « Stockage de clés privées ».

Génération de clés privées

Pour générer une clé privée :

  1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.
  2. Accédez aux paramètres de votre compte.
    • Pour une application appartenant à un compte personnel, cliquez sur Paramètres.
    • Pour une application appartenant à une organisation :
      1. Cliquez sur Vos organisations.
      2. À droite de l’organisation, cliquez sur Paramètres.
  3. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.
  4. Dans la barre latérale à gauche, cliquez sur GitHub Apps .
  5. En regard de la GitHub App pour laquelle vous souhaitez générer une clé privée, cliquez sur Modifier.
  6. Sous « Clés privées », cliquez sur Générer une clé privée.
  7. Une clé privée au format PEM est téléchargée sur votre ordinateur. Veillez à stocker ce fichier, car GitHub stocke uniquement la partie publique de la clé. Pour plus d’informations sur le stockage sécurisé de votre clé, consultez « Stockage de clés privées ».

Remarque : Si vous utilisez une bibliothèque qui nécessite un format de fichier spécifique, le fichier PEM que vous téléchargez est au format PKCS#1 RSAPrivateKey.

Vérification des clés privées

GitHub Enterprise Cloud génère une empreinte digitale pour chaque paire de clés privée et publique à l’aide de la fonction de hachage SHA-256. Vous pouvez vérifier que votre clé privée correspond à la clé publique stockée sur GitHub Enterprise Cloud en générant l’empreinte digitale de votre clé privée et en la comparant à l’empreinte digitale affichée sur GitHub Enterprise Cloud.

Pour vérifier une clé privée :

  1. Recherchez l’empreinte digitale de la paire de clés privée et publique à vérifier dans la section « Clés privées » de la page des paramètres pour votre GitHub App. Pour plus d’informations, consultez Génération de clés privées.

    Capture d’écran d’une clé privée dans une page de paramètres GitHub App. L’empreinte digitale, la partie de la clé privée après le signe deux-points, est tracée en orange foncé.

  2. Générez localement l’empreinte digitale de votre clé privée (PEM) à l’aide de la commande suivante :

    openssl rsa -in PATH_TO_PEM_FILE -pubout -outform DER | openssl sha256 -binary | openssl base64
    
  3. Comparez les résultats de l’empreinte digitale générée localement à l’empreinte digitale que vous voyez dans GitHub Enterprise Cloud.

Suppression de clés privées

Vous pouvez supprimer une clé privée perdue ou compromise en la supprimant, mais vous devez régénérer une nouvelle clé avant de pouvoir supprimer la clé existante.

  1. Dans le coin supérieur droit de n’importe quelle page sur GitHub, cliquez sur votre photo de profil.
  2. Accédez aux paramètres de votre compte.
    • Pour une application appartenant à un compte personnel, cliquez sur Paramètres.
    • Pour une application appartenant à une organisation :
      1. Cliquez sur Vos organisations.
      2. À droite de l’organisation, cliquez sur Paramètres.
  3. Dans la barre latérale gauche, cliquez sur Paramètres de développeur.
  4. Dans la barre latérale à gauche, cliquez sur GitHub Apps .
  5. En regard de la GitHub App pour laquelle vous souhaitez supprimer une clé privée, cliquez sur Modifier.
  6. Sous « Clés privées », à droite de la clé privée que vous souhaitez supprimer, cliquez sur Supprimer.
  7. Lorsque vous y êtes invité, vérifiez que vous souhaitez supprimer la clé privée en cliquant sur Supprimer. Quand votre GitHub App n’a qu’une seule clé, vous devez en générer une nouvelle avant de supprimer l’ancienne. Pour plus d’informations, consultez Génération de clés privées.

Stockage de clés privées

La clé privée est le secret le plus précieux pour une GitHub App. Envisagez de stocker la clé dans un coffre de clés, comme Azure Key Vault, et de la configurer en signature seule. Cela aide à garantir que vous ne pouvez pas perdre la clé privée. Une fois la clé privée chargée dans le coffre de clés, elle ne peut jamais être lue à partir de là. Elle ne peut être utilisée que pour signer des éléments, et l’accès à la clé privée est déterminé par vos règles d’infrastructure.

Vous pouvez également stocker la clé en tant que variable d’environnement. Cela n’est pas aussi fort que le stockage de la clé dans un coffre de clés. Si un attaquant obtient l’accès à l’environnement, il peut lire la clé privée et obtenir une authentification persistante en tant que GitHub App.

Vous ne devez pas coder en dur votre clé privée dans votre application, même si votre code est stocké dans un dépôt privé.

Pour plus d’informations, consultez « Meilleures pratiques pour la création d’une application GitHub ».