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.
Important
Cette fonctionnalité de Azure agent SRE est actuellement en préversion. Consultez les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure pour les conditions légales qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées en disponibilité générale.
Connectez des référentiels hébergés sur GitHub Enterprise Cloud (<TENANT>.ghe.com) ou github.com à votre agent SRE Azure à l’aide d’une application GitHub BYO (Bring Your Own). L'agent génère des jetons d'installation à courte durée de vie à partir de la clé privée de votre application, qui est stockée dans Azure Key Vault et n'est jamais copiée.
Note
BYO GitHub App fonctionne pour les hôtes github.com et *.ghe.com. Pour github.com avec OAuth ou PAT, consultez Set up GitHub connector.
Quand utiliser l’authentification par l’application BYO GitHub
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 êtes en train de connecter des référentiels
*.ghe.com(nécessaire, car OAuth et les PAT ne sont pas disponibles pour les instances GHE). - Vous souhaitez un accès basé sur un jeton d’installation plutôt que des jetons utilisateur.
Prerequisites
| Requirement | Détails |
|---|---|
| Agent Azure SRE | Agent en cours d’exécution avec le rôle Administrateur ou Utilisateur standard |
| application GitHub | Application GitHub créée sur votre hôte cible (github.com ou <TENANT>.ghe.com) |
| accès administrateur GitHub | Accès d’administrateur de l’organisation ou du dépôt pour créer, installer ou vérifier la portée de l’application GitHub |
| Azure Key Vault | Coffre dans lequel vous pouvez stocker la clé privée de l'application GitHub |
| Identité gérée | Possibilité d’attribuer le rôle Key Vault Secrets User à l’identité managée de l’agent |
Créer une application GitHub
Si vous disposez déjà d’une application GitHub avec les autorisations appropriées, passez à Store la clé privée dans Azure Key Vault.
- Accédez à votre hôte GitHub :
-
github.com: Accédez aux paramètres de votre organisation >Settings>Developer>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,
sre-agent-reader -
URL de la page d’accueil :
https://sre.azure.com - Webhook : décocher 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 : lecture seule (obligatoire)
- Autorisations du dépôt > Métadonnées : Lecture seule (sélectionnée automatiquement)
- Si vous le souhaitez, ajoutez un accès en lecture à Problèmes et Demandes de tirage
- 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 des paramètres de l’application.
Installer l’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.
- Sélectionnez Tous les référentiels ou sélectionnez des dépôts spécifiques.
- Sélectionnez Installer.
Générer une clé privée d’application GitHub
- 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.
Caution
Conservez le PEM en sécurité. Vous le chargez dans Key Vault à l’étape suivante. Ne le committez pas dans un dépôt et ne le partagez pas.
Stocker la clé privée dans Azure 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
URI versionné ou non versionné : vous pouvez utiliser l’URI avec version (avec /<VERSION> suffixe) pour épingler à une version de clé spécifique ou omettre la version pour toujours utiliser la dernière version. Utilisez l’URI non versionné afin que lorsque vous faites pivoter la clé, l’agent récupère automatiquement la nouvelle version sans mettre à jour l’URI.
Autoriser l’accès à un coffre de clés à une identité d’agent
- Dans le portail Azure, ouvrez Key Vault>Access control (IAM).
- Attribuez Key Vault Secrets User à l’identité managée de l’agent.
- Attendez que l’attribution de rôle prenne effet.
Configurer une application BYO pour l’accès au code
- Ouvrez votre agent dans le portail.
- 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.
- Entrée:
- 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
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.
Ajouter des référentiels et vérifier la connexion
- 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 . - Test dans la conversation :
Get me recent issues from owner/repo.
Identité managée par application pour plusieurs applications GitHub
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), vous pouvez attribuer une identité managée attribuée par l’utilisateur différente à 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 Key Vault identité pendant l’étape de configuration.
Prise en charge de plusieurs hôtes pour les connexions à GitHub
Vous pouvez connecter plusieurs hôtes GitHub au même agent. Chaque hôte a une authentification indépendante :
-
github.com→ application OAuth, PAT ou BYO -
contoso.ghe.com→ BYO App -
engineering.ghe.com→ application BYO (avec une autre application GitHub)
La déconnexion d’un hôte n’affecte pas les autres.
Résolution des problèmes
| 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 | Accordez Utilisateur des secrets Key Vault à l’identité de l’agent. |
| Le référentiel affiche Échec dans Code Access | Autorisations d’application manquantes ou étendue d’installation | Vérifiez Métadonnées : Lecture + Contenu : Lecture et la portée de l’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. |