Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważna
Ta funkcja agenta SRE platformy Azure jest obecnie dostępna w wersji zapoznawczej. Zobacz dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure, aby zapoznać się z postanowieniami prawnymi dotyczącymi funkcji platformy Azure, które są w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej.
Połącz repozytoria hostowane w chmurze GitHub Enterprise Cloud (<TENANT>.ghe.com) lub github.com do agenta Azure SRE przy użyciu aplikacji BYO (Bring Your Own GitHub). Agent generuje krótkotrwałe tokeny instalacyjne na podstawie klucza prywatnego aplikacji, który jest przechowywany w usłudze Azure Key Vault i nigdy nie jest kopiowany.
Note
Aplikacja BYO GitHub działa zarówno dla hostów github.com, jak i *.ghe.com. Informacje na temat github.com z użyciem OAuth lub PAT zawiera artykuł Skonfiguruj łącznik GitHub.
Kiedy używać uwierzytelniania usługi BYO GitHub App
Użyj aplikacji BYO, gdy:
- Twoja organizacja wymaga uwierzytelniania opartego na aplikacji i kontroli nadzoru kluczy.
- Łączysz
*.ghe.comrepozytoria (wymagane, ponieważ protokół OAuth i pat nie są dostępne dla hostów GHE). - Chcesz uzyskać dostęp oparty na tokenach instalacji, a nie tokeny użytkownika.
Wymagania wstępne
| Requirement | Szczegóły |
|---|---|
| Azure agentA SRE | Agent w stanie Uruchomiony z rolą Administrator lub Użytkownik standardowy |
| Aplikacja GitHub | Aplikacja GitHub utworzona na hoście docelowym (github.com lub <TENANT>.ghe.com) |
| dostęp administratora GitHub | Dostęp administratora organizacji lub repozytorium do tworzenia, instalowania lub weryfikowania zakresu aplikacji GitHub |
| Azure Key Vault | Magazyn, w którym można przechowywać klucz prywatny aplikacji GitHub |
| Tożsamość zarządzana | Możliwość przypisania roli Key Vault Secrets User do tożsamości zarządzanej agenta |
Tworzenie aplikacji GitHub
Jeśli masz już aplikację w GitHub z odpowiednimi uprawnieniami, przejdź do Przechowywanie klucza prywatnego w Azure Key Vault.
- Przejdź do hosta GitHub:
-
github.com: Przejdź do ustawień organizacji >Ustawienia>Ustawienia programisty>GitHub Apps>Nowa aplikacja GitHub -
<TENANT>.ghe.com: Ta sama ścieżka w Twojej instancji GHE
-
- Wypełnij szczegóły aplikacji:
-
GitHub Nazwa aplikacji: na przykład
sre-agent-reader -
Adres URL strony głównej:
https://sre.azure.com - Webhook: odznacz opcję Aktywne (agent nie używa webhooków)
-
GitHub Nazwa aplikacji: na przykład
- W obszarze Uprawnienia ustaw:
- Uprawnienia > repozytorium Zawartość: tylko do odczytu (wymagane)
- Uprawnienia > repozytorium Metadane: tylko do odczytu (wybrane automatycznie)
- Opcjonalnie dodaj dostęp do odczytu elementów Issues i Pull requests
- W obszarze Gdzie można zainstalować tę aplikację GitHub? wybierz pozycję Only na tym koncie.
- Wybierz pozycję Utwórz aplikację GitHub.
- Zanotuj identyfikator klienta wyświetlany na stronie ustawień aplikacji.
Instalowanie aplikacji GitHub
- Na stronie GitHub Ustawienia aplikacji wybierz pozycję Zainstaluj aplikację na lewym pasku bocznym.
- Wybierz organizację.
- Wybierz pozycję Wszystkie repozytoria lub wybierz określone repozytoria.
- Wybierz Zainstaluj.
Generowanie klucza prywatnego aplikacji GitHub
- Na stronie ustawień aplikacji GitHub przewiń do Klucze prywatne.
- Wybierz pozycję Wygeneruj klucz prywatny.
- Pobierany jest
.pemplik. Ten plik jest kluczem prywatnym RSA używanym przez agenta do uwierzytelniania.
Caution
Przechowuj plik PEM w bezpiecznym miejscu. Przekażesz go do Key Vault w następnym kroku. Nie zatwierdzaj go w repozytorium i nie udostępniaj go.
Przechowywanie klucza prywatnego w Azure Key Vault
- Otwórz portal Azure i przejdź do Key Vault.
- Przejdź do pozycji Wpisy tajne>Generuj/Importuj.
- Ustaw nazwę (na przykład
sre-agent-github-app-key) i wklej pełną zawartość PEM jako wartość (w tym-----BEGIN RSA PRIVATE KEY-----i-----END RSA PRIVATE KEY-----nagłówki). - Wybierz Utwórz.
- Otwórz klucz tajny, wybierz bieżącą wersję i skopiuj identyfikator URI Secret Identifier:
https://myvault.vault.azure.net/secrets/my-github-app-key/<VERSION>
Wskazówka
URI z wersją i bez wersji: Możesz użyć URI z wersją (z sufiksem /<VERSION>), aby powiązać je z określoną wersją klucza, lub pominąć wersję w URI, aby zawsze używać najnowszej wersji. Użyj niewersyjnego identyfikatora URI, aby po obróceniu klucza agent automatycznie pobiera nową wersję bez aktualizowania identyfikatora URI.
Udzielanie Key Vault dostępu do tożsamości agenta
- W portalu Azure otwórz Key Vault>Kontrolka dostępu (IAM).
- Przypisz rolę Key Vault Secrets User do tożsamości zarządzanej agenta.
- Poczekaj, aż przypisanie roli zacznie obowiązywać.
Skonfiguruj aplikację BYO w funkcji Dostęp do kodu
- Otwórz swojego agenta w portalu.
- Przejdź do pozycji Builder>Dostęp do kodu.
- Wybierz pozycję Dodaj repozytoria.
- Wybierz GitHub i wprowadź hosta:
-
github.comdla publicznego GitHub -
<TENANT>.ghe.comdla chmury dla przedsiębiorstw
-
- Przejdź do uwierzytelniania.
- Wybierz Użyj własnej aplikacji GitHub.
- Wejść:
- identyfikator klienta
- Identyfikator URI klucza prywatnego (Key Vault)
- Opcjonalna tożsamość Key Vault (lub zachowaj przypisaną przez system)
- Wybierz Połącz.
Kreator weryfikuje dane logowania. Jeśli operacja się powiedzie, zobaczysz Połączono jako aplikacja GitHub z zielonym znacznikiem wyboru.
Note
Po wprowadzeniu domeny *.ghe.com jako hosta kreator automatycznie wybiera opcję Użyj własnej aplikacji GitHub. OAuth i PAT nie są dostępne dla hostów GHE.
Dodawanie repozytoriów i weryfikowanie połączenia
- Wybierz repozytoria i zapisz.
- Upewnij się, że w karcie Code Access wyświetlane są podłączony host i typ uwierzytelniania
GitHubApp. - Przetestuj na czacie:
Get me recent issues from owner/repo.
Tożsamość zarządzana dla każdej aplikacji w wielu aplikacjach GitHub
Domyślnie agent używa przypisanej przez system tożsamości zarządzanej do odczytu klucza prywatnego z Key Vault. Jeśli zarządzasz wieloma aplikacjami GitHub (na przykład po jednej na każde wystąpienie GHE), możesz przypisać do każdej aplikacji inną tożsamość zarządzaną przypisaną przez użytkownika. Takie podejście zapewnia izolację bezpieczeństwa, ponieważ każda tożsamość ma dostęp tylko do własnego sekretu w usłudze Key Vault.
Wybierz tożsamość na liście rozwijanej Key Vault identity podczas kroku konfigurowania.
Obsługa wielu hostów dla połączeń GitHub
Możesz połączyć wiele hostów GitHub z tym samym agentem. Każdy host ma niezależne uwierzytelnianie:
-
github.com→ OAuth, PAT lub BYO App -
contoso.ghe.com→ aplikacja BYO -
engineering.ghe.com→ BYO App (z inną aplikacją GitHub)
Rozłączanie jednego hosta nie ma wpływu na innych.
Troubleshooting
| Objaw | Prawdopodobna przyczyna | Napraw. |
|---|---|---|
| Sprawdzanie poprawności uwierzytelniania kończy się niepowodzeniem | Nieprawidłowy identyfikator klienta lub nieprawidłowy host | Sprawdź, czy aplikacja została utworzona na tym samym hoście wprowadzonym w programie Code Access. |
| Odczyt sekretu nie powiódł się | Brak mechanizmu RBAC lub zasad dostępu usługi Key Vault | Udziel użytkownikowi Key Vault Secrets User tożsamości agenta. |
| Repozytorium wyświetla Niepowodzenie w sekcji Dostęp do kodu | Brak uprawnień aplikacji lub brak zakresu instalacji | Weryfikowanie metadanych: odczytywanie + zawartości: zakres odczytu i instalacji. |
| Problemy z czatem działają, ale dostęp do kodu kończy się niepowodzeniem | Kontrole punktu końcowego/ścieżki różnią się | Uruchom ponownie test połączenia i zweryfikuj uprawnienie metadanych. |