Verbinding maken met GitHub Enterprise Cloud-opslagplaatsen met Azure SRE-agent

Important

Deze functie van Azure SRE-agent is momenteel beschikbaar als preview-versie. Zie de Aanvullende Gebruiksvoorwaarden voor Microsoft Azure Previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta, preview, of anderszins nog niet algemeen beschikbaar zijn.

Verbind opslagplaatsen die worden gehost op GitHub Enterprise Cloud (<TENANT>.ghe.com) of github.com met uw Azure SRE-agent met behulp van een BYO-GitHub-app (Bring Your Own). De agent muntt kortlevende installatietokens uit de persoonlijke sleutel van uw app, die is opgeslagen in Azure Key Vault en nooit gekopieerd.

Note

BYO GitHub App werkt voor zowel github.com als *.ghe.com hosts. Voor github.com met OAuth of PAT, zie GitHub-connector instellen.

Wanneer gebruikt u BYO GitHub App-verificatie

BYO-app gebruiken wanneer:

  • Uw organisatie vereist verificatie op basis van apps en controles voor sleutelbewaarneming.
  • U verbindt *.ghe.com opslagplaatsen (vereist omdat OAuth en PAT niet beschikbaar zijn voor GHE-hosts).
  • U wilt toegang op basis van een installatietoken in plaats van gebruikerstokens.

Prerequisites

Requirement Details
Azure SRE-agent Een agent met de status Actief met de rol Beheerder of Standaardgebruiker
GitHub App Een GitHub-app die is gemaakt op uw doelhost (github.com of <TENANT>.ghe.com)
beheerderstoegang GitHub Beheerderstoegang van de organisatie of opslagplaats voor het maken, installeren of verifiëren van GitHub app-bereik
Azure Key Vault Een kluis waarin u de persoonlijke sleutel van de GitHub app kunt opslaan
Beheerde identiteit Mogelijkheid om de rol Key Vault Secrets User toe te wijzen aan de beheerde identiteit van de agent

Een GitHub-app maken

Als u al een GitHub-app met de juiste machtigingen hebt, gaat u naar Store de persoonlijke sleutel in Azure Key Vault.

  1. Ga naar uw GitHub host:
    • : ga naar uw organisatie SettingsOntwikkelaarsinstellingen<>/c4>GitHub AppsNieuw GitHub App
    • <TENANT>.ghe.com: Hetzelfde pad op uw GHE-instantie
  2. Vul de app-gegevens in:
    • GitHub App-naam: bijvoorbeeld sre-agent-reader
    • Url van startpagina: https://sre.azure.com
    • Webhook: Schakel Actief uit (de agent gebruikt geen webhooks)
  3. Stel onder Machtigingen het volgende in:
    • Opslagplaatsmachtigingen > Inhoud: alleen-lezen (vereist)
    • Opslagplaatsmachtigingen > Metagegevens: alleen-lezen (automatisch geselecteerd)
    • Voeg optioneel leestoegang toe aan Issues en Pull requests
  4. Onder Waar kan deze GitHub-app worden geïnstalleerd?, selecteer Alleen op dit account.
  5. Selecteer GitHub-app maken.
  6. Noteer de client-id die wordt weergegeven op de pagina app-instellingen.

De GitHub-app installeren

  1. Selecteer op de pagina GitHub App-instellingen App installeren in de linkerzijbalk.
  2. Selecteer uw organisatie.
  3. Selecteer Alle opslagplaatsen of selecteer specifieke opslagplaatsen.
  4. Selecteer Installeren.

Een persoonlijke sleutel voor een GitHub-app genereren

  1. Schuif op de pagina GitHub App-instellingen naar Private-sleutels.
  2. Selecteer Een persoonlijke sleutel genereren.
  3. Een .pem bestand wordt gedownload. Dit bestand is de persoonlijke RSA-sleutel die de agent gebruikt om te verifiëren.

Caution

Houd de PEM veilig. U uploadt deze naar Key Vault in de volgende stap. Leg deze niet vast in een opslagplaats en deel deze niet.

De persoonlijke sleutel opslaan in Azure Key Vault

  1. Open de Azure-portal en ga naar uw Key Vault.
  2. Ga naar Geheimen>genereren/importeren.
  3. Stel de naam (bijvoorbeeld sre-agent-github-app-key) in en plak de volledige PEM-inhoud als de waarde (inclusief -----BEGIN RSA PRIVATE KEY----- en -----END RSA PRIVATE KEY----- headers).
  4. Klik op Creëren.
  5. Open het geheim, selecteer de huidige versie en kopieer de URI van de geheime identificatie:
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>

Tip

URI met versie versus URI zonder versie: U kunt de URI met versie (met het achtervoegsel /<VERSION>) gebruiken om deze vast te zetten op een specifieke sleutelversie, of de versie weglaten om altijd de nieuwste versie te gebruiken. Gebruik de niet-omgedraaide URI zodat wanneer u de sleutel draait, de agent automatisch de nieuwe versie ophaalt zonder de URI bij te werken.

Key Vault toegang verlenen tot de identiteit van de agent

  1. Open in Azure Portal Key Vault>Toegangsbeheer (IAM).
  2. Wijs Key Vault Secrets User toe aan de beheerde identiteit van de agent.
  3. Wacht totdat de roltoewijzing van kracht wordt.

BYO-app configureren voor toegang tot code

  1. Open uw agent in het portaal.
  2. Ga naar Builder>Code Access.
  3. Selecteer Opslagplaatsen toevoegen.
  4. Kies GitHub en voer de host in:
    • github.com voor openbare GitHub
    • <TENANT>.ghe.com voor Enterprise Cloud
  5. Ga door met authenticeren.
  6. Selecteer Bring your own GitHub App.
  7. Binnenkomen:
    • Client-ID
    • URI van secret van persoonlijke sleutel (Key Vault)
    • Optionele Key Vault identiteit (of door het systeem toegewezen houden)
  8. Selecteer Maak verbinding met.

De wizard valideert uw referenties. Als dit lukt, ziet u Connected as GitHub App met een groen vinkje.

Note

Wanneer u als host een *.ghe.com-domein invoert, selecteert de wizard automatisch Bring your own GitHub App. OAuth en PAT zijn niet beschikbaar voor GHE-hosts.

Opslagplaatsen toevoegen en de verbinding controleren

  1. Selecteer opslagplaatsen en sla deze op.
  2. Controleer of op de codetoegangskaart de verbonden host en het verificatietype GitHubAppworden weergegeven.
  3. Testen in chat:
Get me recent issues from owner/repo.

Beheerde identiteit per app voor meerdere GitHub-apps

De agent gebruikt standaard de door het systeem toegewezen beheerde identiteit om de persoonlijke sleutel uit Key Vault te lezen. Als u meerdere GitHub Apps beheert (bijvoorbeeld één per GHE-exemplaar), kunt u een andere gebruiker toegewezen beheerde identiteit toewijzen aan elke app. Deze benadering biedt beveiligingsisolatie omdat elke identiteit alleen toegang heeft tot een eigen Key Vault geheim.

Selecteer de identiteit in de vervolgkeuzelijst Key Vault identity tijdens de configuratiestap.

Ondersteuning voor meerdere hosts voor GitHub verbindingen

U kunt meerdere GitHub hosts verbinden met dezelfde agent. Elke host heeft onafhankelijke verificatie:

  • github.com → OAuth, PAT of BYO App
  • contoso.ghe.com BYO-app →
  • engineering.ghe.com → BYO-app (met een andere GitHub-app)

Het verbreken van de verbinding met één host heeft geen invloed op andere.

Troubleshooting

Symptoom Waarschijnlijke oorzaak Repareren
Authenticatievalidatie mislukt Verkeerde client-id of verkeerde host Controleer of de app is gemaakt op dezelfde host die is ingevoerd in CodeToegang.
Lezen van geheim mislukt Ontbrekende Key Vault RBAC- of toegangsbeleid Verleen Gebruiker van Key Vault-geheimen aan de agentidentiteit.
Opslagplaats toont Mislukt in codetoegang Ontbrekende app-machtigingen of installatiebereik Controleer Metagegevens: Lezen + Inhoud: Lezen en installatieomvang.
Chat werkt, maar toegang tot code werkt niet Eindpunt-/padcontroles verschillen Voer de verbindingstest opnieuw uit en controleer de machtiging voor metagegevens.

Volgende stap