Ограничите овлашћења агента
ЗавршеноДефинишите дозвољене радње, ресурсе и услове. Проверите дозволе изван модела и раздвојите имплементацију од објављивања.
Објављује TaigaКако пишемо
Проверите разумевањеНаложили сте агенту да мења једну грану, али његов токен може да шаље промене у подразумевану грану. Која граница стварно важи?Урадите вежбу
Шта ћете научити
- Изразите дозволу кроз радњу, ресурс и услов.
- Раздвојите одобрење задатка од овлашћења за извршавање.
- Тестирајте да систем одбија забрањену радњу.
Опишите задатак пре доделе приступа
Агенту који чита код потребна су другачија овлашћења него агенту који поставља сервис у окружење. Не додељујте оба скупа дозвола само зато што исти производ подржава обе радње.
Дефинишите овлашћење у три дела: радња, ресурс и услов. За измишљену исправку извештаја агент може да уписује у једну грану за нову функцију док је задатак активан. Може да чита одобрене датотеке репозиторијума. Не може да мења продукционе податке или правила заштите репозиторијума.
| Потребна операција | Пример границе |
|---|---|
| Испитивање кода | Читање изабраног репозиторијума |
| Покретање провера | Изоловано окружење са измишљеним тестним подацима |
| Припрема промене | Упис у грану задатка |
| Захтев за преглед | Отварање PR захтева без његовог мерџовања |
| Објављивање софтвера | Засебан заштићен поступак постављања у окружење |
Тачан начин спровођења зависи од алата. Ако токен не може да изрази ограничење гране, користите додатне контроле репозиторијума или сервис за извршавање. Искрено документујте преостала овлашћења.
Спроведите ограничење изван модела
Упит моделу није систем контроле приступа. Компонента за извршавање мора да провери тражену радњу и циљни ресурс према актуелним дозволама. Не сме да прихвати тврдњу модела да одобрење већ постоји.
AWS препоручује ограничене дозволе и привремене акредитиве за одговарајуће радне процесе. OWASP примењује сличан принцип најмањих привилегија на агенте и њихове алате. Ова начела захтевају имплементацију у стварним системима идентитета и извршавања. AWS IAM смернице, OWASP смернице за агенте.
Користите краткотрајне акредитиве где су подржани. Држите неповезане тајне ван окружења. Задатак читања репозиторијума не треба да наследи лозинку продукционе базе из командног окружења програмера.
Вежите одобрење за стварну радњу
Одобрење припреме промене не подразумева одобрење њеног постављања у окружење. Одлука о постављању треба да наведе артефакт, циљно окружење и релевантне услове. Ако се они промене, претходна одлука можда више не важи.
Размотримо агента који предлаже безбедно читање базе, а после одобрења извршава другачији упит. Користан механизам одобравања проверава операцију која се заиста извршава. Општа порука „настави” без дефинисаног одредишта може да сакрије ову разлику.
Раздвојите и идентитет од способности. Забележите ко је покренуо извршавање: која особа или који радни процес. Проверите да ли тај идентитет и даље има дозволу када се радња извршава. Укидање приступа особе треба да има јасно одређен утицај на рад који чека у реду.
Тестирајте одбијање и прекид
Проверите више од успешне путање. У изолованом тестном окружењу покушајте радњу изван дозвољеног ресурса. Потврдите да је систем извршавања одбија. Испитајте ревизијски догађај без бележења акредитива.
Затим тестирајте отказивање или истек акредитива. Утврдите који рад одмах стаје, а која операција може да се заврши. Дугме за заустављање не поништава нужно радњу која је већ стигла до другог система.
Уз задатак чувајте кратак запис о дозволама. Укључите одговорну особу, одобрен опсег, стварне контроле, тест одбијања и рок важења. Тако каснији преглед постаје довољно конкретан да побољша ток рада.
Урадите вежбу
Дефинишите дозволе за агента који исправља филтер извештаја. Наведите три дозвољене и три забрањене радње. Укључите репозиторијум, грану, окружење и рок важења. Опишите како се свако одбијање тестира без промене продукције.
Преузми радни лист (Markdown)Искључивање ове опције брише сав напредак сачуван у овом прегледачу.
Напредак остаје у овом прегледачу. Без налога и праћења.