Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Importante
Questa funzionalità di Azure agente SRE è attualmente in anteprima. Vedi le Condizioni supplementari d'uso per le anteprime di Microsoft Azure per conoscere le condizioni legali applicabili alle funzionalità di Azure che sono in beta, in anteprima o non ancora rilasciate nella disponibilità generale.
Connetti i repository ospitati su GitHub Enterprise Cloud (<TENANT>.ghe.com) o github.com al tuo agente Azure SRE tramite un'app GitHub BYO (Bring Your Own). L'agente conia token di installazione di breve durata dalla chiave privata dell'app, archiviata in Azure Key Vault e mai copiata.
Note
L'app GitHub BYO funziona sia con gli host github.com che con quelli *.ghe.com. Per informazioni su github.com con OAuth o PAT, consulta Configura il connettore GitHub.
Quando usare l'autenticazione dell'app BYO GitHub
Usare l'app BYO quando:
- L'organizzazione richiede l'autenticazione basata su app e i controlli di custodia delle chiavi.
- Stai collegando i repository
*.ghe.com(operazione necessaria perché OAuth e PAT non sono disponibili per gli host GHE). - Si vuole l'accesso basato su token di installazione anziché i token utente.
Prerequisiti
| Requisito | dettagli |
|---|---|
| Agente SRE di Azure | Un agente in stato In esecuzione con ruolo Amministratore o Utente standard |
| App GitHub | Un'app GitHub creata nell'host di destinazione (github.com o <TENANT>.ghe.com) |
| accesso amministrativo a GitHub | Accesso da amministratore dell'organizzazione o del repository per creare, installare o verificare l'ambito di autorizzazione dell'app GitHub |
| Azure Key Vault (Archivio chiavi di Azure) | Un archivio sicuro in cui è possibile archiviare la chiave privata dell'app GitHub |
| Identità gestita | Possibilità di assegnare il ruolo Key Vault Secrets User all'identità gestita dell'agente |
Creare un'app GitHub
Se si ha già un'app GitHub con le autorizzazioni appropriate, passare a Store la chiave privata in Azure Key Vault.
- Vai al tuo host di GitHub:
: Vai alla tua organizzazione Impostazioni Impostazioni sviluppatore GitHub Apps Nuova app GitHub -
<TENANT>.ghe.com: stesso percorso nell'istanza di GHE
- Compilare i dettagli dell'app:
-
Nome dell'app GitHub: ad esempio,
sre-agent-reader -
URL della home page:
https://sre.azure.com - Webhook: Deseleziona Attivo (l'agente non usa webhook)
-
Nome dell'app GitHub: ad esempio,
- In Autorizzazioni impostare:
- Autorizzazioni > del repository Contenuto: sola lettura (obbligatorio)
- Autorizzazioni > del repository Metadati: sola lettura (selezione automatica)
- Aggiungere facoltativamente l'accesso in lettura a Issues e Pull requests
- In Dove può essere installata questa app GitHub?, seleziona Solo su questo account.
- Selezionare Crea app GitHub.
- Prendere nota dell'ID client visualizzato nella pagina delle impostazioni dell'app.
Installare l'app GitHub
- Nella pagina Impostazioni app GitHub selezionare Installa app nella barra laterale sinistra.
- Selezionare l'organizzazione.
- Selezionare Tutti i repository o selezionare repository specifici.
- Selezionare Installa.
Generare una chiave privata dell'app GitHub
- Nella pagina delle impostazioni dell'app GitHub, scorri fino a Chiavi private.
- Selezionare Genera una chiave privata.
- Viene scaricato un file
.pem. Questo file è la chiave privata RSA usata dall'agente per l'autenticazione.
Attenzione
Conserva il PEM al sicuro. Caricarlo in Key Vault nel passaggio successivo. Non eseguirne il commit in un repository e non condividerlo.
Archiviare la chiave privata in Azure Key Vault
- Aprire il portale Azure e passare al Key Vault.
- Passare a Segreti>Genera/Importa.
- Impostare Nome (ad esempio,
sre-agent-github-app-key) e incollare il contenuto PEM completo come Valore (incluse le intestazioni-----BEGIN RSA PRIVATE KEY-----e-----END RSA PRIVATE KEY-----). - Fare clic su Crea.
- Aprire il segreto, selezionare la versione corrente e copiare l'URI identificatore segreto :
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>
Suggerimento
URI con versione e senza versione: è possibile usare l'URI con versione (con il suffisso /<VERSION>) per fissare una versione specifica della chiave oppure omettere la versione per usare sempre quella più recente. Usare l'URI non modificato in modo che, quando si ruota la chiave, l'agente rilevi automaticamente la nuova versione senza aggiornare l'URI.
Concedere Key Vault l'accesso all'identità dell'agente
- Nel portale di Azure aprire Key Vault>Access control (IAM).
- Assegnare Utente dei segreti di Key Vault all'identità gestita dell'agente.
- Attendere che l'assegnazione di ruolo venga applicata.
Configurare l'app BYO in Code Access
- Aprire l'agente nel portale.
- Vai a Builder>Accesso al codice.
- Selezionare Aggiungi repository.
- Scegliere GitHub e immettere l'host:
-
github.comper i GitHub pubblici -
<TENANT>.ghe.comper Enterprise Cloud
-
- Continuare con l'autenticazione.
- Selezionare Bring your own GitHub App.
- Inserisci:
- Client ID
- URI segreto della chiave privata (Key Vault)
- Identità di Key Vault facoltativa (o mantenere quella assegnata dal sistema)
- Selezionare Connetti.
La procedura guidata convalida le credenziali. Se l'operazione va a buon fine, viene mostrato Connesso come GitHub App con un segno di spunta verde.
Note
Quando si inserisce un dominio *.ghe.com come host, la procedura guidata seleziona automaticamente Porta la tua app GitHub. OAuth e PAT non sono disponibili per gli host GHE.
Aggiungere repository e verificare la connessione
- Selezionare i repository e salvare.
- Conferma che la scheda Accesso con codice mostri l'host connesso e il tipo di autenticazione
GitHubApp. - Test nella chat:
Get me recent issues from owner/repo.
Identità gestita per applicazione per più applicazioni GitHub
Per impostazione predefinita, l'agente usa l'identità gestita assegnata dal sistema assegnata dal sistema per leggere la chiave privata da Key Vault. Se si gestiscono più GitHub App (ad esempio, una per ogni istanza GHE), è possibile assegnare a ogni app una diversa identità gestita assegnata dall'utente. Questo approccio fornisce l'isolamento della sicurezza perché ogni identità ha accesso solo al proprio segreto Key Vault.
Selezionare l'identità nell'elenco a discesa Key Vault identity durante il passaggio di configurazione.
Supporto multihost per le connessioni GitHub
È possibile connettere più host GitHub allo stesso agente. Ogni host ha un'autenticazione indipendente:
-
github.com→ OAuth, PAT o app BYO -
contoso.ghe.com→ app BYO -
engineering.ghe.com→ BYO App (con una GitHub App diversa)
La disconnessione di un host non influisce sugli altri.
Risoluzione dei problemi
| Sintomo | Causa possibile | Correzione |
|---|---|---|
| La convalida dell'autenticazione non riesce | ID client errato o host errato | Verifica che l'app sia stata creata sullo stesso host specificato in Code Access. |
| Lettura del segreto non riuscita | Manca Key Vault RBAC o criteri di accesso | Concedere Key Vault Secrets User all'identità dell'agente. |
| Il repository mostra Non riuscito nell'accesso al codice | Autorizzazioni per le app mancanti o ambito di installazione | Verifica Metadati: Lettura + Contenuti: Lettura e l'ambito di installazione. |
| Le richieste di chat funzionano, ma l'accesso al codice non funziona | Le verifiche di endpoint/percorso differiscono | Eseguire di nuovo il test della connessione e verificare l'autorizzazione dei metadati. |