Apribokite agento įgaliojimus
BaigtaApibrėžkite leidžiamus veiksmus, išteklius ir sąlygas. Teises tikrinkite už modelio ribų, o įgyvendinimą atskirkite nuo išleidimo.
Leidžia TaigaKaip rašome
Patikrinkite, ar supratoteNurodote agentui keisti vieną šaką, bet jo prieigos raktas gali siųsti pakeitimus į numatytąją šaką. Kokia riba iš tiesų galioja?Atlikite užduotį
Ko išmoksite
- Teisę išreikškite veiksmu, ištekliumi ir sąlyga.
- Atskirkite užduoties patvirtinimą nuo leidimo ją vykdyti.
- Patikrinkite, ar draudžiamas veiksmas atmetamas.
Aprašykite užduotį prieš suteikdami prieigą
Kodą skaitančiam agentui reikia kitokių įgaliojimų nei paslaugą diegiančiam agentui. Nesuteikite abiejų teisių rinkinių vien todėl, kad tas pats produktas palaiko abu veiksmus.
Įgaliojimus apibrėžkite trimis dalimis: veiksmu, ištekliumi ir sąlyga. Išgalvotai ataskaitos pataisai agentas gali rašyti į vieną funkcijos šaką, kol užduotis aktyvi. Jis gali skaityti patvirtintus kodo saugyklos failus. Jis negali keisti produkcinių duomenų ar kodo saugyklos apsaugos taisyklių.
| Būtina operacija | Ribos pavyzdys |
|---|---|
| Išnagrinėti kodą | Skaityti pasirinktą kodo saugyklą |
| Atlikti patikrinimus | Naudoti izoliuotą aplinką su išgalvotais testiniais duomenimis |
| Parengti pakeitimą | Rašyti į užduoties šaką |
| Paprašyti peržiūros | Sukurti PR jo nesujungiant |
| Išleisti programinę įrangą | Naudoti atskirą apsaugotą diegimo procesą |
Tikslus ribų užtikrinimas priklauso nuo įrankio. Jei prieigos raktu negalima apriboti šakos, naudokite papildomas kodo saugyklos kontrolės priemones ar vykdymo paslaugą. Sąžiningai dokumentuokite likusius įgaliojimus.
Užtikrinkite ribą už modelio ribų
Užklausa modeliui nėra prieigos kontrolės sistema. Vykdymo komponentas turi patikrinti prašomą veiksmą ir tikslinį išteklių pagal dabartines teises. Jis neturi priimti modelio teiginio, kad patvirtinimas jau yra.
AWS tinkamiems darbo krūviams rekomenduoja ribotas teises ir laikinus prisijungimo duomenis. OWASP panašų mažiausių būtinų teisių principą taiko agentams ir jų įrankiams. Šiuos principus būtina įgyvendinti tikrosiose tapatybių ir vykdymo sistemose. AWS IAM gairės, OWASP agentų gairės.
Kur palaikoma, naudokite trumpai galiojančius prisijungimo duomenis. Nesusijusių paslapčių nelaikykite aplinkoje. Vien skaitymo kodo saugyklos užduotis neturi paveldėti produkcinės duomenų bazės slaptažodžio iš programuotojo komandinės aplinkos.
Susiekite patvirtinimą su tikruoju veiksmu
Leidimas parengti pakeitimą nereiškia leidimo jį įdiegti. Diegimo sprendimas turi nurodyti artefaktą, tikslinę aplinką ir susijusias sąlygas. Jei jos pasikeičia, ankstesnis sprendimas gali nebegalioti.
Apsvarstykite agentą, kuris pasiūlo saugų duomenų bazės skaitymą, o gavęs patvirtinimą vykdo kitą užklausą. Naudingas patvirtinimo mechanizmas tikrina iš tiesų vykdomą operaciją. Bendras pranešimas „tęsk“ be apibrėžto tikslinio ištekliaus gali paslėpti šį skirtumą.
Taip pat atskirkite tapatybę nuo galimybių. Užrašykite, kuris žmogus ar vykdoma sistema inicijavo darbą. Patikrinkite, ar inicijavusi tapatybė vis dar turi teisę veiksmo atlikimo metu. Asmens prieigos panaikinimas turi aiškiai paveikti eilėje laukiantį darbą.
Išbandykite atsisakymą ir nutraukimą
Patikrinkite ne tik sėkmingą kelią. Izoliuotoje testavimo aplinkoje pabandykite atlikti veiksmą su neleistinu ištekliumi. Patvirtinkite, kad vykdymo sistema jį atmeta. Peržiūrėkite audito įvykį neįrašydami prisijungimo duomenų.
Tada išbandykite atšaukimą ar prisijungimo duomenų galiojimo pabaigą. Nustatykite, kuris darbas sustoja iš karto, o kuri operacija gali baigtis. Sustabdymo mygtukas nebūtinai panaikina veiksmą, kuris jau pasiekė kitą sistemą.
Prie užduoties laikykite trumpą teisių įrašą. Įtraukite atsakingą asmenį, patvirtintą apimtį, tikrąsias kontrolės priemones, atsisakymo testą ir galiojimo pabaigą. Taip vėlesnė peržiūra bus pakankamai konkreti darbo eigai tobulinti.
Atlikite užduotį
Apibrėžkite agento, taisančio ataskaitos filtrą, teises. Išvardykite tris leidžiamus ir tris draudžiamus veiksmus. Įtraukite kodo saugyklą, šaką, aplinką ir galiojimo pabaigą. Aprašykite, kaip patikrinti kiekvieną atsisakymą nekeičiant produkcinės aplinkos.
Atsisiųsti užduoties lapą (Markdown)Atšaukus šį pasirinkimą ištrinama visa šioje naršyklėje išsaugota pažanga.
Pažanga lieka šioje naršyklėje. Be paskyros ir stebėjimo.