кантроль доступу на аснове атрыбутаў - abac - abac супраць rbac

Кантроль доступу на аснове атрыбутаў у CI/CDЗабеспячэнне выканання палітык па-за ролямі

Традыцыйны кантроль доступу на аснове роляў (RBAC) быў створаны для стабільных і прадказальных інфраструктур. Але ў хутка развіваючыхся CI/CD У розных асяроддзях дазволы павінны адаптавацца ў рэжыме рэальнага часу, і менавіта тут прыходзіць на дапамогу кантроль доступу на аснове атрыбутаў (ABAC). ABAC супраць RBAC — гэта не проста змена тэрміналогіі; гэта змена светапогляду, ад статычных дазволаў на аснове роляў да дынамічных палітык, якія ўлічваюць кантэкст, і якія разумеюць, хто дзейнічае, што яны робяць і пры якіх умовах.

Кантроль доступу на аснове роляў (RBAC) ужо даўно з'яўляецца standard мадэль кіравання дазволамі ў арганізацыях-распрацоўшчыках праграмнага забеспячэння. Распрацоўшчыкам, адміністратарам і аператарам прызначаюцца ролі, якія вызначаюць, што яны могуць рабіць. Але ў сучасных CI/CD асяроддзяў, статычныя ролі больш не адпавядаюць дынамічным працоўным працэсам. Чаму? Паколькі RBAC статычны, ён не разумее кантэкст.

У бесперапыннай дастаўцы pipelineс, доступ даcisіёны залежаць ад такіх фактараў, як:

  • З якой галіны Git паходзіць змена?
  • У якім асяроддзі (падрыхтоўчае, тэставае, працоўнае) разгортваецца?
  • Хто ініцыяваў зборку або ўхваліў аб'яднанне?

Распрацоўшчык з правамі «разгортвання» можа правільна пераходзіць на прамежкавую версію, але ніколі не павінен разгортваць яе на прадукцыйную версію без дадатковай праверкі.
RBAC не можа выказаць гэтыя нюансаваныя ўмовы; ён бачыць толькі роля = распрацоўшчык.

Прыклад няправільнай канфігурацыі RBAC

⚠️ Небяспечны прыклад, толькі для адукацыйных мэтаў. Не выкарыстоўвайце ў прадукцыйнай версіі.

Бяспечная версія: дынамічнае прымяненне з кантэкстнай праверкай

Статычны RBAC дае аднолькавыя прывілеі незалежна ад кантэксту, у той час як кантроль доступу на аснове атрыбутаў (ABAC) дынамічна забяспечвае дазволы з выкарыстаннем такіх атрыбутаў, як асяроддзе, ідэнтыфікатар карыстальніка і commit Цэласнасць.

Як на практыцы працуе кантроль доступу на аснове атрыбутаў (ABAC)

Кантроль доступу на аснове атрыбутаў (ABAC) дадае інтэлектуальнасці ў сістэму доступуcisіёны шляхам ацэнкі атрыбутаў падчас выканання. Замест таго, каб спадзявацца выключна на ролі, ABAC разглядае, хто дзейнічае, да якога рэсурсу атрымліваецца доступ, калі і пры якіх умовах.

In CI/CD pipelines, ABAC можа ацаніць:

  • Атрыбуты карыстальніка: асоба, група, правераная шматфактарная аўтэнтыфікацыя або ўласнасць кода
  • Атрыбуты рэсурсу: філіял, рэпазітар або мэтавае асяроддзе
  • Атрыбуты кантэксту: час сутак, метададзеныя стварэння або commit подпіс
  • Атрыбуты дзеяння: разгортванне, зацвярджэнне або сакрэтны доступ

Прыклад ABAC у дзеянні

Заўвага: заўсёды правярайце карыстальніка і commit атрыбуты праз надзейных пастаўшчыкоў ідэнтыфікацыйных дадзеных і падпісаныя метададзеныя

Гэта гарантуе, што:

  • Запыт паступае ад распрацоўшчыка
  • Філіял знаходзіцца на стадыі падрыхтоўкі
  • ,en commit правераны і падпісаны

У адрозненне ад RBAC, ABAC адаптуецца да кантэксту выканання, памяншаючы празмерны доступ.
Гэта тое, штоABAC супраць RBAC гэта не проста параўнанне мадэляў; гэта пераход ад статычнай аўтарызацыі да кантэкстуальнага прымусовага выканання з улікам ідэнтычнасці.

Ужыванне кіравання доступам на аснове атрыбутаў (ABAC) да Pipelines, сакрэты і палітыкі разгортвання

Кантроль доступу на аснове атрыбутаў дазваляе камандам DevOps вызначаць палітыкі, якія адпавядаюць CI/CD логіка. Замест таго, каб прадастаўляць глабальныя ролі, ABAC адаптуе дазволы да кожнага кантэксту.

Выпадак выкарыстання 1: Кіраванне сакрэтамі

Кантралюйце, якія зборкі могуць атрымліваць доступ да сакрэтаў у залежнасці ад галіны і асяроддзя.

⚠️ Небяспечны прыклад, толькі для адукацыйных мэтаў. Не выкарыстоўвайце ў прадукцыйнай версіі.

Бяспечная версія: кантэкстная праверка і сакрэтнае сховішча

Калі распрацоўшчык запускае зборку з галінкі функцый, палітыка аўтаматычна забараняе сакрэтны доступ.

Выпадак выкарыстання 2: Палітыкі разгортвання

Абмяжуйце разгортванне ў прадукцыйнай сферы праверанымі і аўтэнтыфікаванымі крыніцамі.

⚠️ Небяспечны прыклад, толькі для адукацыйных мэтаў. Не выкарыстоўвайце ў прадукцыйнай версіі.

 Палітыка бяспечнага разгортвання ABAC

Выпадак выкарыстання 3: кіраванне токенаў і API

Выкарыстоўвайце ABAC для вызначэння кантэкстнага заканчэння тэрміну дзеяння токенаў.

ABAC забяспечвае кантэкстна-залежны ўзровень pipelines, абарона сакрэтаў, артэфакты і разгортванні без запаволення дастаўкі.

Распаўсюджаныя памылкі канфігурацыі і рызыкі пры ўкараненні ABAC

Няправільна настроеныя правілы ABAC могуць выпадкова адкрыць доступ або прывесці да ўцечкі ўліковых дадзеных. Паколькі ABAC ацэньвае атрыбуты дынамічна, папярэдне...cisІён і праверка маюць вырашальнае значэнне.

Распаўсюджаныя памылкі канфігурацыі ABAC

  • Занадта шырокія атрыбуты (напрыклад, env == “prod*” замест дакладных супадзенняў)
  • Адсутнічае праверка (не правяраецца) commit подпісы або надзейнае паходжанне)
  • Канфліктуючыя правілы, якія перакрываюць прывілеі
  • Разгортванне неправераных палітык ABAC непасрэдна ў прадукцыйнай сістэме

Міні-кантрольны спіс для бяспечнага ABAC

  • Вызначыць атрыбуты загадзяcisі пазбягайце падстаноўных сімвалаў у адчувальных асяроддзях
  • сцвярджаць commit подпісы і цэласнасць артэфактаў перад прадастаўленнем доступу
  • Тэставанне палітык ABAC на этапе праходжання перад запускам у прадукцыйную версію
  • Рэгістраваць усе доступы ABACcisіёны для аўдыту
  • Па змаўчанні забараняць, дазваляць толькі пры выкананні ўсіх умоў

Прыклад параўнання

⚠️ Небяспечны прыклад, толькі для адукацыйных мэтаў. Не выкарыстоўвайце ў прадукцыйнай версіі.

 Бяспечная версія: правераны кантэкст і асоба

Нягледзячы на ​​тое, што ABAC дадае гнуткасці, памылкі праверкі або неадназначныя атрыбуты ўсё яшчэ могуць прывесці да ўразлівасцей, асабліва калі палітыкі абапіраюцца на ненадзейныя дадзеныя.

Інтэграцыя прымянення ABAC у працоўныя працэсы DevSecOps

Інтэграцыя ABAC у DevSecOps — гэта не толькі напісанне палітык; гэта ўкараненне бесперапыннага забеспячэння выканання на працягу ўсяго CI/CD жыццёвы цыкл.

Крокі па ўкараненні ABAC у DevSecOps

  1. Вызначыць палітыкі як код выкарыстоўваючы OPA, Kyverno або Ксігені.
  2. Уключыць аўтаматызацыю з улікам ідэнтыфікацыі з кароткатэрміновымі ўліковымі дадзенымі, прывязанымі да ідэнтыфікатара рабочай нагрузкі.
  3. Пастаянна правяраць кантэкст: праверыць commit подпісы, паходжанне галіны і ідэнтыфікатар карыстальніка.
  4. Убудоўваць праверкі на ранняй стадыі: запусціць праверку ABAC у pre-commit hooks і піяры.
  5. Маніторынг і рэгістрацыя кожны доступcisіён для выяўлення анамалій.

Pipeline Прыклад

Лепшая практыка:
Дадаваць pre-commit або прымусовае выкананне перад разгортваннем:

Гэта гарантуе, што кожная зборка, разгортванне або сакрэтны доступ ацэньваецца дынамічна.
Аўтаматызуючы прымяненне ABAC, каманды DevSecOps могуць прадухіліць злоўжыванне прывілеямі, забяспечыць адпаведнасць патрабаванням і падтрымліваць бачнасць кожнага элемента доступу.cisіёна.

ABAC супраць RBAC: выбар правільнай мадэлі для маштабаванасці бяспекі

Спрэчка паміж ABAC і RBAC не тычыцца поўнай замены адной мадэлі. Абедзве мадэлі выконваюць розныя функцыі, і іх спалучэнне часта дае найлепшыя вынікі.

асаблівасць РБАК ABAC
мадэль Статычны, заснаваны на ролях Дынамічны, заснаваны на атрыбутах
Усведамленне кантэксту Абмежаваны Поўны (філіял, commit, карыстальнік, асяроддзе)
Гнуткасць палітыкі Фіксаваныя ролі Умоўны, ацэнены падчас выканання
Зярністасць крупнозерністой Дробназярністы
CI/CD Прыдатнасць Modéré Haut
Рызыка празмерных прывілеяў Haut Нізкі (абмежаваны кантэкстам)

RBAC вызначае, хто можа дзейнічаць, напрыклад, распрацоўшчыкі супраць адміністратараў. ABAC вызначае, пры якіх умовах яны могуць дзейнічаць, напрыклад, толькі з падпісаных commitна даверанай галінцы.

Гібрыдная мадэль бяспекі

  • Выкарыстоўвайце RBAC для базавых роляў (распрацоўшчык, суправаджальнік, рэліз-інжынер).
  • Выкарыстоўвайце ABAC для кантэкстнага кантролю (абмяжуйце разгортванне падпісанымі, праверанымі зборкамі).

Гібрыдная мадэль спалучае прастату RBAC з гнуткасцю ABAC, прапаноўваючы маштабуемы падыход да кантролю доступу DevSecOps, які з'яўляецца адначасова бяспечным і эфектыўным.

Пры ацэнцы ABAC і RBAC у CI/CD бяспека, баланс відавочны: статычныя ролі кіруюць структурай, у той час як кантроль доступу на аснове атрыбутаў забяспечвае кантэкст.

Ператварэнне кантролю доступу на аснове атрыбутаў у рэальны ўзровень прымусовага выканання ў CI/CD

Статычных прызначэнняў роляў больш недастаткова. Кантроль доступу на аснове атрыбутаў (ABAC) забяспечвае гнуткасць, патрэбную DevSecOps, кантэкстуальны, дынамічны і выканальны доступ.cisіёны.

Каб зрабіць ABAC эфектыўным:

  • Вызначыць атрыбуты загадзяcisely і праверыць іх падчас выканання.
  • Аўтаматызаваць выкананне палітыкі ABAC праз CI/CD.
  • Пастаянна кантраляваць і аўдытаваць кожную дэcisіёна.

Такія платформы, як Xygeni, дапамагаюць арганізацыям выконваць гібрыдныя палітыкі ABAC і RBAC, кантраляваць кантэкстны доступ і прадухіляць несанкцыянаваныя патокі кода або артэфактаў, умацоўваючы ўвесь ланцужок паставак праграмнага забеспячэння.

RBAC дае доступ. Кантроль доступу на аснове атрыбутаў дае доступ толькі тады, калі гэта мае сэнс.
Вось як вы пераўтвараеце аўтаматызацыю ў бяспечную аўтаматызацыю.

інструменты-для-аналізу-складання-праграмнага ...
Прыярытэзуйце, ліквідуйце і абараняйце свае праграмныя рызыкі
Атрымайце свой бясплатны рахунак.
Не патрабуецца крэдытная карта.

Забяспечце распрацоўку і пастаўку праграмнага забеспячэння

з пакетам прадуктаў Xygeni