Put 03Lekcija 2 / 6

Ograničite ovlaštenja agenta

Odredite dozvoljene radnje, resurse i uslove. Provjeravajte dozvole izvan modela i odvojite implementaciju od izdavanja.

Praktični nivo9 minPregledano

Objavljuje Kako pišemo

Provjerite razumijevanjeNaložite agentu da uređuje jednu granu, ali njegov token može slati promjene na podrazumijevanu granu. Koja je stvarna granica?Uradite vježbu
Naložite agentu da uređuje jednu granu, ali njegov token može slati promjene na podrazumijevanu granu. Koja je stvarna granica?

Šta ćete naučiti

  • Izrazite dozvolu kroz radnju, resurs i uslov.
  • Odvojite odobrenje zadatka od ovlaštenja za izvršavanje.
  • Testirajte da se zabranjena radnja odbija.

Opišite zadatak prije dodjele pristupa

Agent koji čita kod treba drugačija ovlaštenja od agenta koji raspoređuje uslugu. Nemojte dodijeliti oba skupa dozvola zato što isti proizvod podržava obje radnje.

Koristite tri dijela za određivanje ovlaštenja: radnju, resurs i uslov. Za izmišljenu ispravku izvještaja agent može pisati u jednu granu za razvoj funkcije dok je zadatak aktivan. Može čitati odobrene fajlove repozitorija. Ne može mijenjati produkcijske podatke ni pravila zaštite repozitorija.

Potrebna operacijaPrimjer granice
Pregled kodaČitanje odabranog repozitorija
Izvršavanje provjeraKorištenje izolovanog okruženja s izmišljenim testnim podacima
Priprema promjenePisanje u granu zadatka
Traženje pregledaOtvaranje PR-a bez njegovog spajanja
Izdavanje softveraKorištenje zasebnog zaštićenog postupka raspoređivanja

Tačan način provođenja zavisi od alata. Ako token ne može izraziti ograničenje grane, koristite dodatne kontrole repozitorija ili uslugu izvršavanja. Iskreno dokumentujte preostala ovlaštenja.

Provedite ograničenje izvan modela

Prompt nije sistem kontrole pristupa. Komponenta za izvršavanje mora provjeriti traženu radnju i ciljni resurs prema trenutnim dozvolama. Ne smije prihvatiti tvrdnju modela da odobrenje već postoji.

AWS preporučuje ograničene dozvole i privremene pristupne podatke za odgovarajuća radna opterećenja. OWASP primjenjuje slično načelo najmanjih privilegija na agente i njihove alate. Ova načela zahtijevaju implementaciju u stvarnim sistemima identiteta i izvršavanja. Smjernice za AWS IAM, OWASP smjernice za agente.

Koristite kratkotrajne pristupne podatke tamo gdje su podržani. Držite nepovezane tajne izvan okruženja. Zadatak koji samo čita repozitorij ne treba naslijediti lozinku produkcijske baze podataka iz programerovog shella.

Vežite odobrenje za stvarnu radnju

Odobrenje za pripremu promjene ne podrazumijeva odobrenje za njeno raspoređivanje. Odluka o raspoređivanju treba navesti artefakt, ciljno okruženje i relevantne uslove. Ako se oni promijene, prethodna odluka možda više ne vrijedi.

Razmotrite agenta koji predloži sigurno čitanje baze podataka, a zatim izvrši drugačiji upit nakon dobijanja odobrenja. Koristan mehanizam odobravanja provjerava operaciju koja se stvarno izvršava. Opća poruka „nastavite“ bez određenog ciljnog resursa može sakriti ovu razliku.

Odvojite i identitet od sposobnosti. Zabilježite koja je osoba ili radno opterećenje pokrenulo izvršavanje. Provjerite da identitet koji je pokrenuo rad i dalje ima dozvolu kada se radnja izvršava. Ukidanje pristupa osobi treba imati izričit učinak na rad koji čeka u redu.

Testirajte odbijanje i prekid

Provjerite više od uspješnog izvršavanja. U izolovanom testnom okruženju pokušajte radnju izvan dozvoljenog resursa. Potvrdite da je sistem za izvršavanje odbija. Pregledajte revizijski događaj bez bilježenja pristupnih podataka.

Zatim testirajte otkazivanje ili istek važenja pristupnih podataka. Utvrdite koji rad odmah staje, a koja operacija može završiti. Dugme za zaustavljanje ne poništava nužno radnju koja je već stigla u drugi sistem.

Čuvajte mali zapis o dozvolama uz zadatak. Uključite odgovornu osobu, odobreni opseg, stvarne kontrole, test odbijanja i rok važenja. Tako kasniji pregled postaje dovoljno konkretan da poboljša radni tok.

Uradite vježbu

Odredite dozvole za agenta koji ispravlja filter izvještaja. Navedite tri dozvoljene i tri zabranjene radnje. Uključite repozitorij, granu, okruženje i rok važenja. Opišite kako testirati svako odbijanje bez promjene produkcije.

Preuzmite radni list (Markdown)
Provjerite razumijevanje ↑

Nastavite učiti

Izvori i dodatno čitanje

Povezano štivo kompanije Taiga

Prethodna lekcija: Odredite kamo vaši podaci smiju ići