Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Connectez votre agent à GitHub à l’aide d’une application GitHub que vous fournissez vous-même, une identité de service que votre organisation enregistre avec des informations d’identification adossées à Key Vault.
Important
Ce tutoriel configure l’accès basé sur l’application à vos référentiels GitHub à l’aide d’une application BYO GitHub avec des informations d’identification Key Vault sauvegardées. Toutes les opérations sont attribuées à votre identité d’application, et non à un utilisateur individuel.
Quand utiliser l’application BYO
Utilisez l’application BYO quand :
- Votre organisation nécessite des contrôles d’authentification et de garde de clé basés sur l’application.
- Vous effectuez une connexion avec les
*.ghe.comréférentiels (obligatoire). - Vous souhaitez un accès basé sur un jeton d’installation plutôt que des jetons utilisateur.
Prerequisites
- Exécuter l’agent avec le rôle Administrateur ou Utilisateur standard
- Application GitHub créée sur votre hôte cible (
github.comou*.ghe.com) - Accès administrateur à l’organisation ou au dépôt GitHub (pour créer, installer ou vérifier la portée de l’application GitHub)
- Clé privée d’application stockée dans Azure Key Vault en tant que secret
- Identité gérée de l’agent avec le rôle Utilisateur des secrets Key Vault sur ce coffre
Étape 1 : Créer une application GitHub
Si vous disposez déjà d’une application GitHub avec les autorisations appropriées, passez à l’étape 2.
- Accédez à votre hôte GitHub :
-
github.com: Accédez à votre organisation, puis sélectionnez Paramètres>du développeur>GitHub Apps>New GitHub App. -
<tenant>.ghe.com: Chemin d’accès identique sur votre instance GHE.
-
- Renseignez les détails de l’application :
-
GitHub nom de l’application : par exemple
contoso-sre-agent-reader, (préfixe avec le nom de votre organisation pour éviter les conflits). -
URL de la page d’accueil :
https://sre.azure.com. - Webhook : décochez Active (l’agent n’utilise pas de webhooks).
-
GitHub nom de l’application : par exemple
- Sous Autorisations, définissez :
- Autorisations > de référentiel Contenu : en lecture seule (obligatoire).
- Autorisations > de référentiel Métadonnées : lecture seule (sélectionnée automatiquement).
- Ajoutez éventuellement un accès en lecture à Issues et à Pull requests.
- Sous Partout, cette application GitHub peut-elle être installée ?, sélectionnez Only sur ce compte.
- Sélectionnez Créer une application GitHub.
- Notez l’ID client affiché dans la page paramètres de l’application (commence par
Iv..., il est différent de l’ID d’application numérique).
Installer le application GitHub
- Dans la page paramètres de l’application GitHub, sélectionnez Installer l’application dans la barre latérale gauche.
- Sélectionnez votre organisation.
- Choisissez tous les référentiels ou sélectionnez des dépôts spécifiques.
- Sélectionnez Installer.
Étape 2 : Générer une clé privée
- Sur la page des paramètres de GitHub App, faites défiler la page jusqu’à Clés privées.
- Sélectionnez Générer une clé privée.
- Un
.pemfichier est téléchargé. Ce fichier est la clé privée RSA utilisée par l’agent pour s’authentifier.
Warning
Conservez le PEM en sécurité. Vous chargez cette clé pour Key Vault à l’étape suivante. Ne l’ajoutez pas à un dépôt et ne le partagez pas.
Étape 3 : Stocker une clé privée dans Key Vault
- Ouvrez le portail Azure et accédez à votre Key Vault.
- Accédez à Secrets>Generate/Import.
- Définissez le nom (par exemple
sre-agent-github-app-key) et collez le contenu PEM complet en tant que valeur (y compris-----BEGIN RSA PRIVATE KEY-----et-----END RSA PRIVATE KEY-----en-têtes). - Cliquez sur Créer.
- Ouvrez le secret, sélectionnez la version en cours et copiez l’URI de l’identificateur du secret :
https://myvault.vault.azure.net/secrets/my-github-app-key/<version>
Tip
Utilisez l’URI versionné (avec le suffixe /<version>) pour pointer vers une version de clé spécifique, ou omettez la version pour toujours utiliser la version la plus récente.
éléments non versionnés recommandés. Lorsque vous faites pivoter la clé, l’agent récupère automatiquement la nouvelle version sans mettre à jour l’URI.
Étape 4 : Accorder Key Vault accès à l’identité de l’agent
- Dans Azure portail, ouvrez votre Key Vault et accédez au contrôle d’accès (IAM).
- Attribuez Key Vault Secrets User à l’identité managée de l’agent.
- Attendez la propagation de l’attribution de rôle.
Étape 5 : Configurer BYO App dans Code Access
- Ouvrez votre assistant.
- Accédez à Builder>Code Access.
Sélectionnez Ajouter des référentiels.
Choisissez GitHub et entrez l’hôte :
-
github.compour GitHub public. -
<tenant>.ghe.compour Enterprise Cloud.
-
Continuez à s’authentifier.
Sélectionnez Bring your own GitHub App.
Entrez :
- ID du client
- URI du secret de clé privée (Key Vault)
- Identité Key Vault facultative (ou conserver l’identité affectée par le système)
Sélectionnez Se connecter.
L’Assistant valide vos informations d’identification. En cas de réussite, vous voyez Connecté en tant qu’application GitHub avec une coche verte.
Note
Si vous voyez la coche verte et la mention Connecté en tant qu’application GitHub, vos informations d’identification sont valides. En cas d’échec de connexion, vérifiez votre ID client, Key Vault URI et les autorisations d’identité managée.
Si l’accès au code ne s’ouvre pas à partir du volet de navigation gauche, actualisez la page de l’agent, développez à nouveau le Générateur et réessayez.
Important
Lorsque vous saisissez un domaine *.ghe.com comme hôte, l’assistant sélectionne automatiquement Bring your own GitHub App. OAuth et PAT ne sont pas disponibles pour les hôtes GHE.
Étape 6 : Ajouter des référentiels et vérifier
Sélectionnez les référentiels et enregistrez.
Vérifiez que la carte d’accès au code affiche l’hôte connecté et le type
GitHubAppd’authentification.Testez l’accès au code dans la conversation :
What files are in the root of owner/repo?
Si vous avez également accordé l’autorisation Issues à votre application GitHub, vérifiez les opérations sur les issues :
List recent issues from owner/repo.
Identité managée par application
Par défaut, l’agent utilise sa identité managée affectée par le système pour lire la clé privée à partir de Key Vault. Si vous gérez plusieurs applications GitHub (par exemple, une par instance GHE), attribuez une identité managée affectée par l’utilisateur à chaque application. Cette approche offre une isolation de sécurité, car chaque identité a uniquement accès à son propre secret Key Vault.
Sélectionnez l’identité dans la liste déroulante Identité Key Vault à l’étape 5.
Prise en charge de plusieurs hôtes pour les connecteurs GitHub
Vous pouvez connecter plusieurs hôtes GitHub au même agent. Chaque hôte dispose de sa propre authentification :
-
github.com: Application OAuth, PAT ou BYO -
contoso.ghe.com: application BYO -
engineering.ghe.com: Application BYO (avec une autre application GitHub)
La déconnexion d’un hôte n’affecte pas les autres.
Troubleshooting
| Symptôme | Cause la plus probable | Réparer |
|---|---|---|
| Échec de la validation de l’authentification | ID client incorrect ou hôte incorrect | Vérifiez que l’application a été créée sur le même hôte que celui indiqué dans Code Access. |
| Échec de la lecture du secret | Stratégie d’accès ou Key Vault RBAC | Accorder le rôle Utilisateur des secrets Key Vault à l’identité de l’agent. Si vous utilisez les stratégies d’accès de Key Vault, accordez l’autorisation Get sur les secrets. |
| Le référentiel affiche Échec dans Code Access | Autorisations d’application manquantes ou étendue d’installation | Vérifier les métadonnées : Lecture + Contenu : Étendue de lecture et d’installation. |
| Les problèmes de conversation instantanée fonctionnent, mais Code Access ne fonctionne pas | Les vérifications de point de terminaison/chemin diffèrent | Réexécutez le test de connexion et vérifiez l’autorisation des métadonnées. |