OPA: Двигател за политика с общо предназначение за родния облак

Тъй като вашата организация прегръща облака, може да откриете, че динамичността и мащабът на родния стек в облака изисква много по-сложен пейзаж за сигурност и съответствие. Например, когато платформите за оркестрация на контейнери като Kubernetes придобиват сцепление, разработчиците и екипите на devops носят нова отговорност върху областите на политиките като контрол на допускането, както и по-традиционните области като изчисления, съхранение и работа в мрежа. Междувременно всяко приложение, микроуслуга или услужна мрежа изискват свой собствен набор от политики за оторизация, за които разработчиците са готови.

Поради тези причини ловът е за по-опростен, по-ефективен от времето начин за създаване, прилагане и управление на политика в облака. Въведете агент за отворена политика (OPA). Създадена преди четири години като двигател на политиките с отворен код и домейн-агностик, OPA се превръща в де факто стандарт за родна политика в облака. Всъщност OPA вече е наето в производството на компании като Netflix, Pinterest и Goldman Sachs, за случаи на употреба като контрол на допускането Kubernetes и разрешение за API на микросервизи. OPA също така задвижва много от облачните инструменти, които вече знаете и обичате, включително Atlassian suite и Chef Automate.

[Също на: Където инженерингът за надеждност на сайта отговаря на devops]

OPA предоставя на местни организации в облака единен език на политиката - така че решенията за упълномощаване могат да бъдат изразени по общ начин, в приложения, API, инфраструктура и много други, без да се налага да се кодира политика по поръчка за всеки от тези различни езици и инструменти поотделно . Освен това, тъй като OPA е предназначена за упълномощаване, тя предлага нарастваща колекция от оптимизации на ефективността, така че авторите на политики да могат да прекарват по-голямата част от времето си в писане на правилна, поддържаема политика и да оставят изпълнението на OPA.

Политиката за упълномощаване на OPA има много, много случаи на употреба в стека - от поставяне на мантинели около оркестрацията на контейнери, до контролиране на SSH достъпа или предоставяне на оторизация на мрежови услуги, базирана на контекст. Има обаче три популярни случая на употреба, които осигуряват добра стартова площадка за много потребители на OPA: оторизация на приложения, контрол на допускането на Kubernetes и микроуслуги. 

OPA за упълномощаване на заявление

Политиката за упълномощаване е повсеместна, защото на практика всяко приложение го изисква. Въпреки това, разработчиците обикновено „търкалят сами“ кода си, което не само отнема много време, но води до пачуърк юрган от инструменти и политики, които е трудно да се поддържат. Въпреки че упълномощаването е критично за всяко приложение, времето, отделено за създаване на политика, означава по-малко време за фокусиране върху функции, ориентирани към потребителя.

OPA използва специално създаден декларативен език на политиката, който улеснява разработването на политики за оторизация. Например можете да създавате и прилагате политики толкова ясни, като „Не можете да четете лични данни, ако сте изпълнител“ или „Джейн може да осъществи достъп до този акаунт“. Но това е само началото. Тъй като OPA е запознат с контекста, можете също така да изградите политика, която да отчита всичко на планетата - например: „Търгувания с акции, заявени в последния час на деня на търговия, които ще доведат до транзакция над милион долара, могат да бъдат изпълнени само на специфични услуги в дадено пространство от имена. "

Разбира се, много организации вече са получили специално разрешение. Ако обаче се надявате да декомпозирате вашите приложения и да мащабирате микроуслуги в облака, като същевременно запазите ефективност за разработчиците, ще е необходима разпределена система за оторизация. За мнозина OPA е липсващата част от пъзела.

OPA за контрол на приема Kubernetes

Много потребители също използват OPA, за да създават мантинели за Kubernetes. Самата Kubernetes стана основна и критична за мисията и организациите търсят начини за определяне и прилагане на защитни огради, които да помогнат за смекчаване на риска за сигурността и спазването. Използвайки OPA, администраторите могат да определят ясни политики, така че разработчиците да могат да ускорят производството на тръбопроводи и бързо да представят нови услуги на пазара, без да се притесняват за операционен риск, риск или риск от спазване.

OPA може да се използва за създаване на политики, които отхвърлят всякакви влизания, които използват едно и също име на хост, или които изискват всички изображения на контейнери да идват от надежден регистър, или за да се гарантира, че цялото хранилище е маркирано винаги с бита за криптиране или че всяко приложение е изложено в интернет използвайте одобрено име на домейн - за да посочите само няколко примера.

Тъй като OPA се интегрира директно със Kubernetes API сървъра, той може да отхвърли всеки ресурс, който политиката забранява, в изчисления, мрежи, съхранение и т.н. Особено полезно за разработчиците, можете да изложите тези политики по-рано в цикъла на разработка, например в конвейера CI / CD, така че разработчиците да могат да получат обратна връзка рано и да отстранят проблемите преди изпълнението. Освен това можете дори да потвърдите вашите политики извън обхвата, като се уверите, че те постигат желания ефект и не причиняват неволно проблеми.

OPA за микроуслуги

И накрая, OPA стана много популярен за подпомагане на организациите да контролират своите микроуслуги и архитектури на мрежови услуги. С OPA можете да създавате и прилагате политики за оторизация директно за микросервиз (обикновено като странична количка), да изграждате политики от услуга до услуга в мрежата от услуги или, от гледна точка на сигурността, да създавате политики, които ограничават страничното движение в мрежата на услугата архитектура.

Изграждане на единна политика за облачни архитектури

Като цяло, общата цел при използване на OPA е да се създаде единен подход за създаване на политика за вашия стек в родния облак - така че не е необходимо непрекъснато да управлявате политиката на десетки места, като използвате различни езици и подходи, чрез реклама hoc комбинация от племенни знания, уикита и PDF файлове или смесица от несъответстващи инструменти.

[Също на: 7 най-добри практики за отдалечени пъргави екипи]

Освен опростяването на разработката и ускоряването на доставката, това е голяма новина и за сигурността, тъй като OPA намалява броя на инструментите, от които се нуждаете, за да проверите дали например подозирате, че е бил направен опит за неоторизиран достъп. По същия начин, както от гледна точка на операциите, така и от гледна точка на съответствие, OPA улеснява извличането и анализирането на информация в хетерогенна среда - помага ви бързо да идентифицирате проблемите и да ги решавате по-бързо.

Разработчиците търсят по-опростен, по-ефективен начин за създаване и управление на базирани на политики контроли за тяхната среда в родния облак. За мнозина това решение е OPA. Ако откриете, че докосвате политиката за оторизация на няколко места, на множество езици или в множество екипи, OPA може да ви помогне да премахнете излишъка и да ускорите доставката за вас, точно както за тях.

Тим Хинрихс е съосновател на проекта Open Policy Agent и технически директор на Styra. Преди това той е съосновател на проекта OpenStack Congress и е софтуерен инженер във VMware. Тим прекара последните 18 години в разработването на декларативни езици за различни домейни, като изчислителни облаци, софтуерно дефинирани мрежи, управление на конфигурацията, уеб сигурност и контрол на достъпа. Той получи докторска степен по компютърни науки от Станфордския университет през 2008 г.

-

Форумът New Tech предоставя място за изследване и обсъждане на нововъзникващите корпоративни технологии в безпрецедентна дълбочина и широчина. Изборът е субективен, базиран на нашия избор на технологиите, които смятаме, че са важни и представляват най-голям интерес за читателите. не приема маркетингово обезпечение за публикуване и си запазва правото да редактира цялото съдържание. Изпращайте всички запитвания на [email protected]