Ograničite ovlasti agenta
DovršenoDefinirajte dopuštene radnje, resurse i uvjete. Provjerite ovlasti izvan modela i odvojite implementaciju od izdavanja.
Objavljuje TaigaKako pišemo
Provjerite razumijevanjeUputite agenta da uređuje jednu granu, ali njegov token može slati promjene u zadanu granu. Koja je stvarna granica?Napravite vježbu
Što ćete naučiti
- Izraziti ovlast kao radnju, resurs i uvjet.
- Odvojiti odobrenje zadatka od ovlasti za izvršavanje.
- Testirati odbijanje zabranjene radnje.
Opišite zadatak prije dodjele pristupa
Agent koji čita kod treba drugačije ovlasti od agenta koji postavlja uslugu u okruženje. Nemojte dodijeliti oba skupa ovlasti zato što isti proizvod podržava obje radnje.
Definirajte ovlasti kroz tri dijela: radnju, resurs i uvjet. Za izmišljeni ispravak izvješća agent smije pisati u jednu granu za funkciju dok je zadatak aktivan. Smije čitati odobrene datoteke repozitorija. Ne smije mijenjati produkcijske podatke ni pravila zaštite repozitorija.
| Potrebna operacija | Primjer granice |
|---|---|
| Pregledati kod | Čitati odabrani repozitorij |
| Pokrenuti provjere | Upotrijebiti izolirano okruženje s izmišljenim testnim podacima |
| Pripremiti promjenu | Pisati u granu zadatka |
| Zatražiti pregled | Otvoriti PR bez spajanja |
| Izdati softver | Upotrijebiti zaseban zaštićeni postupak postavljanja |
Točna provedba ovisi o alatu. Ako token ne može izraziti ograničenje grane, upotrijebite dodatne kontrole repozitorija ili uslugu izvršavanja. Iskreno dokumentirajte preostale ovlasti.
Provedite ograničenje izvan modela
Prompt nije sustav kontrole pristupa. Komponenta izvršavanja mora provjeriti traženu radnju i ciljni resurs prema trenutačnim ovlastima. Ne smije prihvatiti tvrdnju modela da odobrenje već postoji.
AWS preporučuje ograničene ovlasti i privremene vjerodajnice za odgovarajuća radna opterećenja. OWASP primjenjuje slično načelo najmanjih ovlasti na agente i njihove alate. Ta načela treba implementirati u stvarnim sustavima identiteta i izvršavanja. Smjernice AWS IAM-a, Smjernice OWASP-a za agente.
Upotrijebite kratkotrajne vjerodajnice gdje su podržane. Nepovezane tajne podatke držite izvan okruženja. Zadatak čitanja repozitorija ne smije naslijediti lozinku produkcijske baze iz razvojne ljuske programera.
Vežite odobrenje uz stvarnu radnju
Odobrenje za pripremu promjene ne podrazumijeva odobrenje za njezino postavljanje. Odluka o postavljanju treba odrediti artefakt, ciljno okruženje i relevantne uvjete. Ako se promijene, prethodna odluka možda više ne vrijedi.
Razmotrite agenta koji predloži sigurno čitanje baze, a nakon odobrenja izvrši drugi upit. Koristan mehanizam odobravanja provjerava operaciju koja se stvarno izvodi. Opća poruka „nastavite” bez definiranog ciljnog resursa može sakriti tu razliku.
Odvojite i identitet od sposobnosti. Zabilježite koja je osoba ili radno opterećenje pokrenulo izvršavanje. Provjerite ima li pokretački identitet i dalje ovlast kad se radnja događa. Uklanjanje pristupa osobi treba imati izričit učinak na rad u redu čekanja.
Testirajte odbijanje i prekid
Provjerite više od uspješnog puta. U izoliranom testnom okruženju pokušajte radnju izvan dopuštenog resursa. Potvrdite da je sustav izvršavanja odbija. Pregledajte revizijski događaj bez zapisivanja vjerodajnica.
Zatim testirajte otkazivanje ili istek vjerodajnice. Utvrdite koji rad odmah staje i koja se operacija može dovršiti. Gumb za zaustavljanje ne poništava nužno radnju koja je već stigla u drugi sustav.
Uz zadatak držite kratak zapis ovlasti. Uključite odgovornu osobu, odobreni opseg, stvarne kontrole, test odbijanja i istek. Tako kasniji pregled postaje dovoljno konkretan za poboljšanje postupka.
Napravite vježbu
Definirajte ovlasti agenta koji ispravlja filtar izvješća. Navedite tri dopuštene i tri zabranjene radnje. Uključite repozitorij, granu, okruženje i istek. Opišite kako testirati svako odbijanje bez promjene produkcije.
Preuzmi radni list (Markdown)Uklanjanje ove oznake briše sav napredak spremljen u ovom pregledniku.
Napredak ostaje u ovom pregledniku. Bez računa i praćenja.