Патека 03Лекција 2 / 6

Ограничете ги овластувањата на агентот

Одредете ги дозволените дејства, ресурси и услови. Проверувајте ги дозволите надвор од моделот и одделете ја имплементацијата од издавањето.

Практично9 минПрегледано

Објавува Како пишуваме

Проверете го разбирањетоМу задавате на агент да менува една гранка, но неговиот токен може да испраќа промени во стандардната гранка. Каде е вистинската граница?Направете ја вежбата
Му задавате на агент да менува една гранка, но неговиот токен може да испраќа промени во стандардната гранка. Каде е вистинската граница?

Што ќе научите

  • Изразете дозвола преку дејство, ресурс и услов.
  • Одделете го одобрувањето на задачата од овластувањето за извршување.
  • Тестирајте дали забрането дејство се одбива.

Опишете ја задачата пред да доделите пристап

На агент што чита код му требаат различни овластувања од агент што распоредува услуга. Не доделувајте ги двата сета дозволи само затоа што истиот производ ги поддржува двете дејства.

Користете три дела за да го одредите овластувањето: дејство, ресурс и услов. За измислена поправка на извештај, агентот може да запишува во една гранка за развој на функција додека задачата е активна. Може да чита одобрени датотеки од репозиториумот. Не смее да менува продукциски податоци или правила за заштита на репозиториумот.

Потребна операцијаПример за граница
Испитување кодЧитање на избраниот репозиториум
Извршување проверкиКористење изолирана околина со измислени тестни податоци
Подготовка на променаЗапишување во гранката за задачата
Барање прегледОтворање PR без спојување на кодот
Издавање софтверКористење посебен заштитен процес за распоредување

Точниот начин на спроведување зависи од алатката. Ако токен не може да изрази ограничување на гранка, користете дополнителни контроли во репозиториумот или услуга за извршување. Искрено документирајте ги преостанатите овластувања.

Спроведувајте го ограничувањето надвор од моделот

Инструкција до модел не е систем за контрола на пристап. Компонентата за извршување мора да ги провери бараното дејство и целниот ресурс според тековните дозволи. Не смее да прифати тврдење од моделот дека веќе постои одобрение.

AWS препорачува ограничени дозволи и привремени пристапни податоци за соодветни работни оптоварувања. OWASP применува сличен принцип на најмали потребни привилегии за агентите и нивните алатки. Овие принципи мора да се имплементираат во вистинските системи за идентитет и извршување. Насоки за AWS IAM, насоки на OWASP за агенти.

Користете краткотрајни пристапни податоци каде што се поддржани. Чувајте ги неповрзаните тајни надвор од околината. Задача само за читање репозиториум не треба да наследи лозинка за продукциска база од командната околина на програмерот.

Поврзете го одобрението со вистинското дејство

Одобрение за подготовка на промена не подразбира одобрение за нејзино распоредување. Одлуката за распоредување треба да ги идентификува артефактот, целната околина и релевантните услови. Ако се сменат, претходната одлука можеби повеќе не важи.

Разгледајте агент што предлага безбедно читање од база, а по добивањето одобрение извршува поинакво барање до базата. Корисен механизам за одобрување ја проверува операцијата што навистина се извршува. Општа порака „продолжете“ без определен целен ресурс може да ја прикрие оваа разлика.

Одделете го и идентитетот од способноста. Запишете кое лице или работно оптоварување го започнало извршувањето. Проверете дали иницијаторот сè уште има дозвола кога се случува дејството. Одземањето на пристапот на лице треба да има јасен ефект врз работата во редицата.

Тестирајте одбивање и прекинување

Проверете повеќе од успешната патека. Во изолирана тестна околина, обидете се да извршите дејство надвор од дозволениот ресурс. Потврдете дека системот за извршување го одбива. Прегледајте го ревизискиот настан без да запишувате пристапни податоци.

Потоа тестирајте откажување или истекување на рокот на важење на пристапните податоци. Утврдете која работа запира веднаш и која операција може да заврши. Копче за запирање не го поништува нужно дејството што веќе стигнало до друг систем.

Чувајте краток запис за дозволите со задачата. Вклучете ги одговорното лице, одобрениот опфат, вистинските контроли, тестот за одбивање и рокот на важење. Така подоцнежниот преглед станува доволно конкретен за да го подобри работниот тек.

Направете ја вежбата

Одредете дозволи за агент што поправа филтер за извештај. Наведете три дозволени и три забранети дејства. Вклучете ги репозиториумот, гранката, околината и рокот на важење. Опишете како да го тестирате секое одбивање без промени во продукциската околина.

Преземи работен лист (Markdown)
Проверете го разбирањето ↑

Продолжете со учење

Извори и дополнително читање

Поврзано читање од Taiga

Претходна лекција: Одредете каде смеат да одат вашите податоци