Připojení GitHub podnikových cloudových úložišť k Azure agentovi SRE

Important

Tato funkce Azure agenta SRE je aktuálně ve verzi Preview. Podívejte se na doplňkové podmínky užívání služby Microsoft Azure Preview pro právní podmínky, které se vztahují na funkce Azure, jež jsou ve verzi beta, Preview nebo jinak ještě nejsou obecně dostupné.

Připojte úložiště hostovaná v GitHub Enterprise Cloudu (<TENANT>.ghe.com) nebo github.com k agentovi Azure SRE pomocí aplikace BYO (Přineste si vlastní GitHub). Agent vytváří krátkodobé instalační tokeny pomocí privátního klíče vaší aplikace, který je uložen v Azure Key Vault a nikdy se nekopíruje.

Note

Aplikace BYO GitHub funguje pro hostitele github.com i *.ghe.com. Informace o github.com s OAuth nebo PAT najdete v tématu Set up GitHub connector.

Kdy použít autentizaci pomocí vlastní GitHub App

Použití aplikace BYO v případech:

  • Vaše organizace vyžaduje ověřování na základě aplikací a řízení opatrovnictví klíčů.
  • Připojujete *.ghe.com úložiště (vyžaduje se to, protože pro hostitele GHE nejsou dostupné protokoly OAuth a PAT).
  • Chcete získat přístup založený na instalačním tokenu místo tokenů uživatele.

Předpoklady

Requirement Podrobnosti
Azure agentA SRE Agent ve spuštěném stavu s rolí Správce nebo Standardní uživatel
Aplikace GitHub Aplikace GitHub vytvořená na cílovém hostiteli (github.com nebo <TENANT>.ghe.com)
přístup správce GitHub Přístup správce organizace nebo úložiště k vytvoření, instalaci nebo ověření rozsahu GitHub aplikace
Azure Key Vault Trezor, do kterého můžete ukládat privátní klíč aplikace GitHub
Spravovaná identita Možnost přiřadit roli Key Vault Tajné kódy uživatele spravované identitě agenta

Vytvoření GitHub aplikace

Pokud už máte aplikaci GitHub se správnými oprávněními, přejděte na Skladnění privátního klíče v Azure Key Vault.

  1. Přejděte na svého hostitele GitHub:
    • github.com: Přejděte do své organizace >Nastavení>Nastavení vývojáře>GitHub Apps>Nová aplikace GitHub
    • <TENANT>.ghe.com: Stejná cesta k vaší instanci GHE
  2. Vyplňte podrobnosti o aplikaci:
    • GitHub název aplikace: například sre-agent-reader
    • Adresa URL domovské stránky: https://sre.azure.com
    • Webhook: Zrušte zaškrtnutí políčka Aktivní (agent nepoužívá webhooky)
  3. V části Oprávnění nastavte:
    • Oprávnění > úložiště Obsah: Jen pro čtení (povinné)
    • Oprávnění > úložiště Metadata: Jen pro čtení (automaticky vybráno)
    • Volitelně můžete přidat oprávnění ke čtení pro Issues a Pull requests
  4. V části Kde lze tuto aplikaci GitHub nainstalovat? vyberte Pouze na tomto účtu.
  5. Vyberte Vytvořit aplikaci GitHub.
  6. Poznamenejte si ID klienta zobrazené na stránce nastavení aplikace.

Instalace aplikace GitHub

  1. Na stránce nastavení aplikace GitHub vyberte na levém bočním panelu Instalovaná aplikace.
  2. Vyberte svoji organizaci.
  3. Vyberte Všechna úložiště nebo vyberte konkrétní úložiště.
  4. Vyberte Nainstalovat.

Vygenerování privátního klíče aplikace GitHub

  1. Na stránce nastavení aplikace GitHub přejděte dolů k Soukromé klíče.
  2. Vyberte Vygenerovat privátní klíč.
  3. Stahuje se .pem soubor. Tento soubor je privátní klíč RSA, který agent používá k ověření.

Caution

Uchovávejte PEM v bezpečí. Nahrajete ho do Key Vault v dalším kroku. Necommitujte to do repozitáře a nesdílejte to.

Uložení privátního klíče v Azure Key Vault

  1. Otevřete portál Azure a přejděte na svůj Key Vault.
  2. Přejděte navygenerování/import>.
  3. Nastavte název (například sre-agent-github-app-key) a vložte celý obsah PEM jako hodnotu (včetně -----BEGIN RSA PRIVATE KEY----- a -----END RSA PRIVATE KEY----- záhlaví).
  4. Vyberte Vytvořit.
  5. Otevřete tajný klíč, vyberte aktuální verzi a zkopírujte identifikátor URI tajného klíče:
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>

Tip

Versioned vs. unversioned URI: Můžete použít URI s verzí (s příponou /<VERSION>) a připnout na konkrétní verzi klíče, nebo verzi vynechat a vždy používat nejnovější. Použijte URI bez verze, aby při obměně klíče agent automaticky použil novou verzi, aniž by bylo nutné URI aktualizovat.

Udělení Key Vault přístupu k identitě agenta

  1. Na portálu Azure otevřete Key Vault>Řízení přístupu (IAM).
  2. Přiřaďte spravované identitě agenta roli Key Vault Secrets User.
  3. Počkejte, až se přiřazení role projeví.

Nakonfigurujte aplikaci BYO v přístupu ke kódu

  1. Otevřete agenta v portálu.
  2. Přejděte na Builder>Přístup ke kódu.
  3. Vyberte Přidat úložiště.
  4. Zvolte GitHub a zadejte hostitele:
    • github.com pro veřejný GitHub
    • <TENANT>.ghe.com pro Enterprise Cloud
  5. Pokračujte v ověřování.
  6. Vyberte Použít vlastní GitHub App.
  7. Vstoupit:
    • ID klienta
    • URI tajného kódu privátního klíče (Key Vault)
    • Volitelná identita služby Key Vault (nebo ponechat identitu přiřazenou systémem)
  8. Vyberte Připojit.

Průvodce ověří vaše přihlašovací údaje. Po úspěšném připojení se zobrazí Připojeno jako aplikace GitHubu se zeleným zaškrtnutím.

Note

Když jako hostitel zadáte doménu *.ghe.com, průvodce automaticky vybere možnost Použít vlastní aplikaci GitHub. Pro hostitele GHE nejsou k dispozici protokoly OAuth a PAT.

Přidání úložišť a ověření připojení

  1. Vyberte úložiště a uložte je.
  2. Ověřte, že karta Code Access zobrazuje připojeného hostitele a typ ověřování GitHubApp.
  3. Test v chatu:
Get me recent issues from owner/repo.

Spravovaná identita pro jednotlivé aplikace pro více aplikací GitHub

Ve výchozím nastavení agent používá spravovanou identitu přiřazenou systémem ke čtení privátního klíče z Key Vault. Pokud spravujete více aplikací GitHub (například jednu na instanci GHE), můžete jednotlivým aplikacím přiřadit jinou spravovanou identitu přiřazenou uživatelem. Tento přístup poskytuje izolaci zabezpečení, protože každá identita má přístup pouze k vlastnímu Key Vault tajnému kódu.

V rozevíracím seznamu Key Vault identity vyberte identitu v kroku konfigurace.

Podpora více hostitelů pro připojení GitHub

Ke stejnému agentu můžete připojit více hostitelů GitHub. Každý hostitel má nezávislé ověřování:

  • github.com → aplikace OAuth, PAT nebo BYO
  • contoso.ghe.com → BYO aplikace
  • engineering.ghe.com → BYO App (s jinou aplikací GitHubu)

Odpojení jednoho hostitele nemá vliv na ostatní.

Řešení problémů

Symptom Pravděpodobná příčina Opravit
Ověření se nezdařilo. Nesprávné ID klienta nebo nesprávný hostitel Ověřte, že aplikace byla vytvořena na stejném hostiteli, který jste zadali v Code Access.
Selhání čtení tajného kódu Chybí RBAC nebo zásada přístupu ke službě Key Vault Přiřaďte identitě agenta roli Key Vault Secrets User.
U úložiště se v části Přístup ke kódu zobrazuje Nezdařilo se. Chybějící oprávnění aplikace nebo rozsah instalace Ověřte Metadata: čtení + Obsah: čtení a rozsah instalace.
Chat funguje, ale přístup ke kódu selhává Kontroly koncových bodů a cest se liší Znovu spusťte test připojení a ověřte oprávnění metadat.

Další krok