Omejite pooblastila agenta
DokončanoDoločite dovoljena dejanja, vire in pogoje. Dovoljenja preverjajte zunaj modela ter ločite izvedbo od izdaje.
Izdajatelj TaigaKako pišemo
Preverite razumevanjeAgentu naročite, naj ureja eno vejo, njegov žeton pa dovoljuje push v privzeto vejo. Kaj dejansko določa mejo?Opravite vajo
Kaj se boste naučili
- Dovoljenje izrazite z dejanjem, virom in pogojem.
- Ločite odobritev naloge od dovoljenja za izvajanje.
- Preizkusite, ali sistem zavrne prepovedano dejanje.
Pred dodelitvijo dostopa opišite nalogo
Agent, ki bere kodo, potrebuje drugačna pooblastila kot agent, ki namešča storitev. Obeh naborov dovoljenj ne dodelite zgolj zato, ker isti izdelek podpira obe dejanji.
Pooblastila določite s tremi deli: dejanjem, virom in pogojem. Pri izmišljenem popravku poročila lahko agent med aktivno nalogo piše v eno razvojno vejo. Bere lahko odobrene datoteke repozitorija. Ne sme spreminjati produkcijskih podatkov ali pravil zaščite repozitorija.
| Potrebna operacija | Primer meje |
|---|---|
| Pregled kode | Branje izbranega repozitorija |
| Izvajanje preverjanj | Uporaba ločenega okolja z izmišljenimi testnimi podatki |
| Priprava spremembe | Pisanje v vejo naloge |
| Zahteva za pregled | Odprtje PR-ja brez mergea |
| Izdaja programske opreme | Uporaba ločenega zaščitenega postopka namestitve |
Natančno uveljavljanje omejitev je odvisno od orodja. Če žeton ne omogoča omejitve na vejo, uporabite dodatne nadzorne ukrepe repozitorija ali izvajalno storitev. Preostala pooblastila dokumentirajte po resnici.
Omejitev uveljavite zunaj modela
Poziv ni sistem za nadzor dostopa. Izvajalna komponenta mora zahtevano dejanje in cilj preveriti glede na trenutna dovoljenja. Ne sme sprejeti trditve modela, da odobritev že obstaja.
AWS za ustrezne delovne obremenitve priporoča omejena dovoljenja in začasne poverilnice. OWASP podobno načelo najmanjših privilegijev uporablja za agente in njihova orodja. Ta načela je treba uvesti v dejanskih sistemih identitet in izvajanja. Smernice AWS IAM, smernice OWASP za agente.
Kjer je podprto, uporabljajte kratkotrajne poverilnice. Nepovezanih skrivnosti ne vključujte v okolje. Naloga, ki samo bere repozitorij, ne sme iz razvijalčeve lupine podedovati gesla za produkcijsko podatkovno zbirko.
Odobritev povežite z dejanskim dejanjem
Odobritev priprave spremembe ne pomeni odobritve njene namestitve. Odločitev o namestitvi naj določa artefakt, ciljno okolje in ustrezne pogoje. Če se ti spremenijo, prejšnja odločitev morda ne velja več.
Predstavljajte si agenta, ki predlaga varno branje podatkovne zbirke, po odobritvi pa izvede drugačno poizvedbo. Uporaben mehanizem odobritve preveri operacijo, ki se dejansko izvede. Splošno sporočilo »nadaljujte« brez določenega cilja lahko to razliko skrije.
Ločite tudi identiteto od zmožnosti. Zabeležite, katera oseba ali delovna obremenitev je sprožila izvajanje. Preverite, ali ima začetna identiteta ob izvedbi dejanja še vedno dovoljenje. Odvzem dostopa osebi mora imeti izrecno določen učinek na delo v čakalni vrsti.
Preizkusite zavrnitev in prekinitev
Preverite več kot samo uspešen potek. V ločenem testnem okolju poskusite izvesti dejanje zunaj dovoljenega vira. Potrdite, da ga izvajalni sistem zavrne. Preglejte revizijski dogodek brez zapisovanja poverilnic.
Nato preizkusite preklic ali potek veljavnosti poverilnic. Ugotovite, katero delo se takoj ustavi in katera operacija se lahko dokonča. Gumb za ustavitev ne razveljavi nujno dejanja, ki je že doseglo drug sistem.
Ob nalogi hranite kratek zapis dovoljenj. Vključite odgovorno osebo, odobreni obseg, dejanske nadzorne ukrepe, test zavrnitve in rok veljavnosti. Tako je poznejši pregled dovolj konkreten za izboljšanje delovnega toka.
Opravite vajo
Določite dovoljenja za agenta, ki popravlja filter poročila. Navedite tri dovoljena in tri prepovedana dejanja. Vključite repozitorij, vejo, okolje in rok veljavnosti. Opišite, kako boste preizkusili vsako zavrnitev brez spreminjanja produkcije.
Prenesi delovni list (Markdown)Če počistite to izbiro, izbrišete ves napredek, shranjen v tem brskalniku.
Napredek ostane v tem brskalniku. Brez računa in sledenja.