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 Crypto User dla zaimportowanego klucza do tożsamości używanej przez 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
Zaimportuj klucz prywatny aplikacji GitHub jako klucz RSA, a nie sekret, z włączoną operacją Sign. Przekonwertuj pobrany PEM z GitHub na PKCS#8 przed importem, a następnie trwale usuń lokalne pliki PEM po pomyślnym imporcie. Polecenia znajdują się w artykule Zapisz klucz prywatny w Key Vault.
Skopiuj URI Identyfikatora klucza importowanego klucza:
https://myvault.vault.azure.net/keys/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 Key Vault Crypto User wybranej tożsamości dla dostępu do Key Vault. Ogranicz przypisanie do zaimportowanego klucza lub tylko do magazynu, jeśli jest dedykowany tej aplikacji.
- Poczekaj, aż przypisanie roli zacznie obowiązywać.
Skonfiguruj aplikację BYO w funkcji Dostęp do kodu
- Otwórz swojego agenta w portalu.
- Przejdź do Build + konfiguracja>Kontekst>.
- Wybierz pozycję Dodaj repozytorium.
- W kroku Połączenie wybierz GitHub i wpisz pełny adres URL repozytorium, na przykład
https://<TENANT>.ghe.com/owner/repo. - Jeśli istnieje pasujące poświadczenie, wybierz Nowe połączenie w sekcji Dodaj repozytorium z, aby skonfigurować inne poświadczenie.
- W opcji Metoda połączenia wybierz Użyj swojej aplikacji GitHub.
- Wejść:
- identyfikator klienta
-
URI klucza prywatnego (Key Vault):
/keys/URI, nie/secrets/URI - 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
Gdy URL repozytorium używa hosta*.ghe.com, kreator wybiera Użyj aplikacji GitHub. OAuth i PAT nie są dostępne dla hostów GHE.
Dodawanie repozytoriów i weryfikowanie połączenia
- Wybierz Dalej, otwórz okno Dodaj repozytoria, przejrzyj wpisy repozytorium i nazwy wyświetlane oraz wybierz Zapisz.
- Potwierdź, że repozytorium pojawia się na liście Dostęp do kodu, a jego połączenie w kolumnie Połączenie.
- 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 swojej tożsamości zarządzanej przypisanej przez system do operacji podpisywania w usłudze 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. Każda tożsamość potrzebuje dostępu tylko do własnego klucza 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. |
| Podpisywanie przy użyciu usługi Key Vault kończy się niepowodzeniem | Błędny URI klucza lub brakujące uprawnienia klucza | Użyj identyfikatora URI RSA /keys/ z włączoną opcją Sign i przyznaj rolę Key Vault Crypto User wybranej tożsamości. |
| 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. |