Ograničite ovlaštenja agenta
ZavršenoOdredite dozvoljene radnje, resurse i uslove. Provjeravajte dozvole izvan modela i odvojite implementaciju od izdavanja.
Objavljuje TaigaKako 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
Š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 operacija | Primjer granice |
|---|---|
| Pregled koda | Čitanje odabranog repozitorija |
| Izvršavanje provjera | Korištenje izolovanog okruženja s izmišljenim testnim podacima |
| Priprema promjene | Pisanje u granu zadatka |
| Traženje pregleda | Otvaranje PR-a bez njegovog spajanja |
| Izdavanje softvera | Koriš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)Isključivanjem ove opcije briše se sav napredak sačuvan u ovom pregledniku.
Napredak ostaje u ovom pregledniku. Bez računa i praćenja.