Kryptis 03Pamoka 2 / 6

Apribokite agento įgaliojimus

Apibrėžkite leidžiamus veiksmus, išteklius ir sąlygas. Teises tikrinkite už modelio ribų, o įgyvendinimą atskirkite nuo išleidimo.

Praktinis9 minPeržiūrėta

Leidžia Kaip 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į
Nurodote agentui keisti vieną šaką, bet jo prieigos raktas gali siųsti pakeitimus į numatytąją šaką. Kokia riba iš tiesų galioja?

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 operacijaRibos pavyzdys
Išnagrinėti kodąSkaityti pasirinktą kodo saugyklą
Atlikti patikrinimusNaudoti izoliuotą aplinką su išgalvotais testiniais duomenimis
Parengti pakeitimąRašyti į užduoties šaką
Paprašyti peržiūrosSukurti 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)
Patikrinkite, ar supratote ↑

Mokykitės toliau

Šaltiniai ir papildoma literatūra

Susijęs Taiga turinys

← Ankstesnė pamoka: Apibrėžkite, kur gali patekti jūsų duomenys