Ansluta GitHub Enterprise Cloud-lagringsplatser till Azure SRE-agent

Important

Den här funktionen i Azure SRE Agent är för närvarande i förhandsversion. Se Tilläggsvillkor för användning av Microsoft Azure-förhandsversioner för juridiska villkor som gäller för Azure-funktioner som är i beta, förhandsvisning eller på annat sätt ännu inte släppta för allmän tillgänglighet.

Anslut lagringsplatser som finns på GitHub Enterprise Cloud (<TENANT>.ghe.com) eller github.com till din Azure SRE-agent med hjälp av en BYO-GitHub-app (Bring Your Own). Agenten skapar kortvariga installationstoken med hjälp av appens privata nyckel, som lagras i Azure Key Vault och aldrig kopieras.

Note

BYO GitHub App fungerar för både github.com och *.ghe.com värdar. För github.com med OAuth eller PAT, se Set up GitHub connector.

När du ska använda BYO GitHub App-autentisering

Använd BYO-appen när:

  • Din organisation kräver appbaserad autentisering och nyckelkontroll.
  • Du ansluter *.ghe.com lagringsplatser (krävs eftersom OAuth och PAT inte är tillgängliga för GHE-värdar).
  • Du vill ha installationstokenbaserad åtkomst i stället för användartoken.

Förutsättningar

Krav Detaljer
Azure SRE-Agent En agent i körningstillstånd med rollen Administratör eller Standardanvändare
GitHub app En GitHub-app som har skapats på din målvärd (github.com eller <TENANT>.ghe.com)
GitHub administratörsåtkomst Organisations- eller lagringsplatsadministratörsåtkomst för att skapa, installera eller verifiera GitHub appomfång
Azure 密钥保管库 Ett valv där du kan lagra GitHub-appens privata nyckel
Hanterad identitet Möjlighet att tilldela Key Vault secrets user roll till agentens hanterade identitet

Skapa en GitHub app

Om du redan har en GitHub app med rätt behörigheter går du vidare till Arkiva den privata nyckeln i Azure Key Vault.

  1. Gå till din GitHub värd:
    • github.com: Gå till din organisation >Settings>Developer-inställningar> >GitHub Apps>Ny GitHub app
    • <TENANT>.ghe.com: Samma sökväg på din GHE-instans
  2. Fyll i appinformationen:
    • GitHub Appnamn: till exempel sre-agent-reader
    • Webbadress till startsida: https://sre.azure.com
    • Webhook: Avmarkera Aktiv (agenten använder inte webhooks)
  3. Under Behörigheter anger du:
    • Lagringsplatsbehörigheter > Innehåll: Skrivskyddat (krävs)
    • Lagringsplatsbehörigheter > Metadata: Skrivskyddad (automatiskt vald)
    • Lägg valfritt till läsbehörighet till Issues och Pull requests
  4. Under Var kan den här GitHub-appen installeras? väljer du Endast på det här kontot.
  5. Välj Skapa GitHub-app.
  6. Observera klient-ID :t som visas på sidan för appinställningar.

Installera GitHub-appen

  1. På sidan GitHub Appinställningar väljer du Installera app i det vänstra sidofältet.
  2. Välj din organisation.
  3. Välj Alla lagringsplatser eller välj specifika lagringsplatser.
  4. Välj Installera.

Generera en privat nyckel för en GitHub-app

  1. På inställningssidan för GitHub-appen bläddrar du till Privata nycklar.
  2. Välj Generera en privat nyckel.
  3. En .pem fil laddas ned. Den här filen är den privata RSA-nyckel som agenten använder för att autentisera.

Caution

Håll PEM säker. Du laddar upp den till Key Vault i nästa steg. Committa den inte till ett repo och dela den inte.

Lagra den privata nyckeln i Azure Key Vault

  1. Öppna Azure-portalen och gå till din Key Vault.
  2. Gå tillGenerera/importera>.
  3. Ange Namn (till exempel sre-agent-github-app-key) och klistra in det fullständiga PEM-innehållet som Värde (inklusive -----BEGIN RSA PRIVATE KEY----- och -----END RSA PRIVATE KEY----- rubriker).
  4. Välj Skapa.
  5. Öppna hemligheten, välj den aktuella versionen och kopiera URI:n för hemlig identifierare :
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>

Tip

Versioned vs. unversioned URI: Du kan använda version URI (med /<VERSION> suffix) för att fästa på en specifik nyckelversion, eller utelämna versionen för att alltid använda den senaste. Använd den oversionerade URI:n så att agenten automatiskt hämtar den nya versionen utan att uppdatera URI:n när du roterar nyckeln.

Bevilja Key Vault åtkomst till agentidentitet

  1. Öppna Key Vault>Access control (IAM) i Azure portalen.
  2. Tilldela Key Vault Secrets User till den agenthanterade identiteten.
  3. Vänta tills rolltilldelningen börjar gälla.

Konfigurera BYO-app i kodåtkomst

  1. Öppna din agent i portalen.
  2. Gå till Builder>Code Access.
  3. Välj Lägg till lagringsplatser.
  4. Välj GitHub och ange värden:
    • github.com för offentliga GitHub
    • <TENANT>.ghe.com för Enterprise Cloud
  5. Fortsätt att autentisera.
  6. Välj Bringa din egen GitHub App.
  7. Inträda:
    • Kund-ID
    • Hemlig URI för privat nyckel (Key Vault)
    • Valfri Key Vault-identitet (eller behåll den systemtilldelade)
  8. Välj Anslut.

Guiden verifierar dina autentiseringsuppgifter. När det lyckas visas Ansluten som GitHub App med en grön bockmarkering.

Note

När du anger en *.ghe.com domän som värd väljer guiden automatiskt Bringa din egen GitHub App. OAuth och PAT är inte tillgängliga för GHE-värdar.

Lägg till lagringsplatser och verifiera anslutningen

  1. Välj lagringsplatser och spara.
  2. Bekräfta att kodåtkomstkortet visar den anslutna värden och autentiseringstypen GitHubApp.
  3. Testa i chatten:
Get me recent issues from owner/repo.

Hanterad identitet per app för flera GitHub appar

Som standard använder agenten sin systemtilldelade hanterade identitet för att läsa den privata nyckeln från Key Vault. Om du hanterar flera GitHub-appar (till exempel en per GHE-instans) kan du tilldela en annan användaretilldelad hanterad identitet till varje app. Den här metoden ger säkerhetsisolering eftersom varje identitet bara har åtkomst till sin egen Key Vault hemlighet.

Välj identiteten i listrutan Key Vault identitet under konfigurationssteget.

Stöd för flera värdar för GitHub anslutningar

Du kan ansluta flera GitHub värdar till samma agent. Varje värd har oberoende autentisering:

  • github.com → OAuth, PAT eller BYO-app
  • contoso.ghe.com → BYO-app
  • engineering.ghe.com → BYO-app (med en annan GitHub app)

Att koppla från en värd påverkar inte andra.

Felsökning

Symptom Sannolik orsak Reparera
Verifieringen av autentisering misslyckas Fel klient-ID eller fel värd Kontrollera att appen har skapats på samma värd som angetts i Kodåtkomst.
Hemlig läsning misslyckas Key Vault RBAC eller åtkomstprincip saknas Tilldela Key Vault Secrets User till agentens identitet.
Lagringsplatsen visar Misslyckades i Kodåtkomst Saknade appbehörigheter eller installationsomfång Kontrollera Metadata: Läs + Innehåll: Läs och installationsomfattning.
Chattproblem fungerar men kodåtkomsten misslyckas Slutpunkts-/sökvägskontroller skiljer sig åt Kör anslutningstestet igen och verifiera metadatabehörigheten.

Nästa steg