Ścieżka 03Lekcja 2 / 6

Ogranicz uprawnienia agenta

Określ dozwolone działania, zasoby i warunki. Sprawdzaj uprawnienia poza modelem i oddziel implementację od wydania.

Praktyka9 minSprawdzono

Wydawca Jak piszemy

Czego się nauczysz

  • Opisz uprawnienie jako działanie, zasób i warunek.
  • Oddziel zatwierdzenie zadania od upoważnienia do wykonania działań.
  • Sprawdź, czy zabronione działanie jest odrzucane.

Opisz zadanie przed przyznaniem dostępu

Agent czytający kod potrzebuje innych uprawnień niż agent wdrażający usługę. Nie przyznawaj obu zestawów tylko dlatego, że ten sam produkt obsługuje oba działania.

Opisz uprawnienie w trzech częściach: działanie, zasób i warunek. Przy fikcyjnej poprawce raportu agent może zapisywać na jednym branchu funkcjonalnym przez czas trwania zadania. Może czytać zatwierdzone pliki repozytorium. Nie może modyfikować danych produkcyjnych ani zasad ochrony repozytorium.

Potrzebna operacjaPrzykładowa granica
Sprawdzenie koduOdczyt wybranego repozytorium
Uruchomienie kontroliOdizolowane środowisko z fikcyjnymi danymi testowymi
Przygotowanie zmianyZapis na branchu zadania
Zlecenie przegląduOtwarcie PR bez jego mergowania
Wydanie oprogramowaniaOsobny chroniony proces wdrożenia

Dokładny sposób egzekwowania zależy od narzędzia. Jeśli token nie potrafi ograniczyć dostępu do brancha, użyj dodatkowych zabezpieczeń repozytorium lub usługi wykonawczej. Rzetelnie opisz pozostałe uprawnienia.

Egzekwuj ograniczenie poza modelem

Prompt nie jest systemem kontroli dostępu. Komponent wykonawczy musi sprawdzić żądane działanie i cel względem aktualnych uprawnień. Nie może przyjmować za dowód stwierdzenia modelu, że zgoda już istnieje.

AWS zaleca ograniczone uprawnienia i tymczasowe dane uwierzytelniające dla odpowiednich obciążeń. OWASP stosuje podobną zasadę najmniejszych uprawnień do agentów i ich narzędzi. Te zasady wymagają implementacji w rzeczywistych systemach tożsamości i wykonania. Zalecenia AWS IAM, zalecenia OWASP dla agentów.

Używaj krótkotrwałych danych uwierzytelniających, jeśli system je obsługuje. Usuń niezwiązane sekrety ze środowiska. Zadanie odczytu repozytorium nie powinno dziedziczyć hasła produkcyjnej bazy z powłoki programisty.

Powiąż zgodę z rzeczywistym działaniem

Zgoda na przygotowanie zmiany nie oznacza zgody na wdrożenie. Decyzja o wdrożeniu powinna wskazywać artefakt, środowisko docelowe i istotne warunki. Jeśli się zmienią, poprzednia decyzja może już nie obowiązywać.

Rozważ agenta, który proponuje bezpieczny odczyt bazy, a po otrzymaniu zgody wykonuje inne zapytanie. Przydatny mechanizm zatwierdzania sprawdza operację faktycznie wykonywaną. Ogólne „kontynuuj” bez zdefiniowanego celu może ukryć tę różnicę.

Oddziel również tożsamość od możliwości działania. Zapisz, która osoba lub tożsamość usługi rozpoczęła wykonanie. Sprawdź, czy w chwili działania nadal ma uprawnienie. Odebranie komuś dostępu powinno mieć jasno określony wpływ na zadania w kolejce.

Przetestuj odmowę i przerwanie

Sprawdź więcej niż udany przebieg. W odizolowanym środowisku spróbuj wykonać działanie na niedozwolonym zasobie. Potwierdź, że system wykonawczy je odrzuca. Sprawdź zdarzenie audytowe bez zapisywania danych uwierzytelniających.

Następnie przetestuj anulowanie lub wygaśnięcie danych uwierzytelniających. Ustal, które prace zatrzymują się natychmiast, a które operacje mogą się zakończyć. Przycisk zatrzymania nie musi cofać działania, które dotarło już do innego systemu.

Przy zadaniu zachowaj krótki zapis uprawnień. Uwzględnij właściciela, zatwierdzony zakres, rzeczywiste zabezpieczenia, test odmowy i termin wygaśnięcia. Dzięki temu późniejszy przegląd będzie dość konkretny, aby poprawić proces.

Wykonaj ćwiczenie

Określ uprawnienia agenta naprawiającego filtr raportu. Wypisz trzy działania dozwolone i trzy zabronione. Uwzględnij repozytorium, branch, środowisko i termin wygaśnięcia. Opisz, jak przetestować każdą odmowę bez zmiany produkcji.

Pobierz arkusz (Markdown)

Sprawdź zrozumienie

Polecasz agentowi edycję jednego brancha, ale jego token pozwala wysyłać zmiany na branch domyślny. Co wyznacza faktyczną granicę?

Źródła i dalsza lektura

Powiązana lektura od Taiga