Opisywanie GitHub jako systemu płaszczyzny rejestrowania i sterowania
Systemy agentów wymagają środowiska, które nie tylko przechowuje kod. Potrzebują środowiska, które może przechwytywać intencje, rejestrować akcje, wymuszać walidację i stosować zasady. W tej ścieżce szkoleniowej GitHub jest to środowisko.
W tej jednostce dowiesz się
Co to oznacza, że GitHub działa jako system rejestru dla procesów roboczych agenta
Jak GitHub wymusza kontrolę poprzez polityki repozytoriów i przepływy pracy
Które kontrolki GitHub są używane do nadzorowania i ograniczania zachowania agenta
GitHub jako system rekordów
GitHub jest systemem rekordu, ponieważ przechowuje artefakty, za pomocą których jest proponowana i oceniana praca programowa:
Repozytoria i gałęzie
Zatwierdzenia i prośby ściągnięcia
Problemy i dyskusje (kontekst i intencja)
Przebiegi przepływu pracy i artefakty (dowody)
Przegląd historii decyzji
W przepływie pracy agentów te artefakty wykonują podwójne obowiązki: obsługują programowanie i umożliwiają inspekcję zachowania agenta po fakcie.
Note
Ten moduł koncentruje się na ogólnych wzorcach ładu GitHub. Zaawansowane funkcje zabezpieczeń GitHub, takie jak skanowanie tajnych danych i ochrona wypychania, nie są tutaj omówione, ale można je zintegrować jako dodatkowe sygnały weryfikacji w środowiskach produkcyjnych.
GitHub jako płaszczyzna sterowania
GitHub to płaszczyzna sterowania, ponieważ (po skonfigurowaniu zgodnie z zasadami) udostępnia punkty wymuszania, które określają, co mogą, a czego nie mogą robić wkłady agentów.
Kontrolki w skrócie
| GitHub control | Co wymusza | Dlaczego ma to znaczenie dla agentów |
|---|---|---|
| Żądania ściągnięcia | Zmiany są proponowane przed scaleniem | Umożliwia przeglądanie i omawianie pracy agenta |
| Wymagane przeglądy | Brama zatwierdzenia człowieka i agenta | Uniemożliwia scalanie bez przeglądu i wspiera odpowiedzialność |
| Wymagane kontrole stanu | Wyniki CI przed scaleniem | Konwertuje ocenę na zasady, które można wymusić |
| WŁAŚCICIELE KODU | Przeglądanie routingu według ścieżki | Gwarantuje, że odpowiedni eksperci nadzorują zmiany o dużym wpływie |
| Zestawy reguł/ochrona gałęzi | Scentralizowana polityka gałęzi | Zapobiega niebezpiecznym scalaniu i wymusza spójne zabezpieczenia |
| Environments | Zatwierdzenia do wdrożeń/sekretów | Kontroluje wrażliwe wykonywanie i dostęp do tajemnic |
Note
Te zachowania wymuszania zależą od konfiguracji i uprawnień. Na przykład włączenie wymaganych testów i zestawów reguł jest zwykle zadaniem administratora. Model nadzoru działa wszędzie; wymuszanie wymaga włączenia kontrolek.
GitHub Actions należy do płaszczyzny sterowania
Przepływy pracy są tam, gdzie jest weryfikowane wykonywanie, ale uprawnienia mają znaczenie tak samo jak kontrole. Kluczowa zasada zabezpieczeń to zasada najmniejszych przywilejów:
Ustaw domyślne uprawnienia tokenu przepływu pracy konserwatywnie (na przykład tylko do odczytu, jeśli to możliwe).
Przyznaj wyższe uprawnienia tylko do zadań, które ich potrzebują.
Użyj środowisk i zatwierdzeń, aby kontrolować dostęp do poufnych tajemnic i wdrożeń.
W przypadku systemów agentowych "to, co agent może zrobić", często sprowadza się do "tego, co może zrobić znacznik procesu i poświadczenia narzędzia". Kontrole i uprawnienia muszą być odpowiednio zaprojektowane.
Przykład wdrożenia
Wykonywanie przepływu pracy zależy od ludzi W niektórych przepływach pracy żądania ściągnięcia agenta może być konieczne, aby człowiek jawnie zatwierdził uruchomienie przepływów pracy (na przykład akcja "Zatwierdź i uruchom przepływy pracy"). Jest to wbudowana blokada: zmniejsza ryzyko automatycznego uruchamiania uprzywilejowanych przepływów pracy w przypadku niezaufanych zmian.
Środowiska bramy wpisów tajnych i wdrożeń Jeśli zadanie przepływu pracy jest przeznaczone dla środowiska z wymaganymi recenzentami, zadanie czeka na zatwierdzenie. To zapobiega dostępowi do chronionych tajemnic lub wdrażaniu przepływu pracy wyzwalanego przez agenta bez przeglądu przez człowieka (po skonfigurowaniu).
WŁAŚCICIELE KODU kierują przeglądy wysokiego ryzyka Jeśli agent zmieni pliki w poufnej ścieżce (na przykład .github/workflows/ lub infra/), WŁAŚCICIELE KODU mogą automatycznie żądać przeglądu od właścicieli ścieżek. W połączeniu z wymaganymi przeglądami pomaga to zapewnić właściwym ekspertom nadzorowanie zmian o dużym wpływie.
Jak GitHub wymusza kontrolę w praktyce
Agent otwiera pull request z poprawką bezpieczeństwa. GitHub:
Powoduje, że zmiana jest widoczna w pull request.
Kieruje go do odpowiednich recenzentów za pośrednictwem WŁAŚCICIELI KODU (po skonfigurowaniu)
Ocenia ją za pomocą wymaganych kontroli i przepływów pracy
Blokuje scalanie do momentu spełnienia wymagań zasad (po skonfigurowaniu)
Uniemożliwia dostęp do tajemnic środowiska chronionego do momentu udzielenia zatwierdzeń (po skonfigurowaniu)
Oznacza to, że GitHub jest płaszczyzną sterowania: jest to miejsce, w którym następuje wymuszanie.
GitHub nie jest tylko miejscem przechowywania pracy agenta. To miejsce, w którym praca agenta jest nadzorowana, weryfikowana i zarządzana. Repozytoria i pull requesty sprawiają, że praca jest widoczna; kontrole, przeglądy, właściciele kodu, zestawy reguł, ochrona gałęzi i środowiska umożliwiają kontrolę nad pracą.
Teraz, gdy wiesz już, jak GitHub może ograniczyć i zweryfikować zachowanie agenta, następnym krokiem jest sprawdzenie odpowiedzialności. W następnej lekcji przyjrzysz się, kto pozostaje odpowiedzialny, gdy agenci działają wewnątrz przepływu pracy.