Programovanie

OPA: Univerzálny nástroj politiky pre cloud-native

Keď vaša organizácia prijme cloud, môžete zistiť, že dynamika a rozsah natívneho cloudového zásobníka vyžaduje oveľa komplikovanejšie prostredie zabezpečenia a dodržiavania predpisov. Napríklad s platformami orchestrácie kontajnerov, ako je Kubernetes, ktoré získavajú trakciu, majú vývojári a vývojové tímy novú zodpovednosť za oblasti politiky, ako je kontrola vstupu, ako aj za tradičnejšie oblasti, ako sú výpočty, ukladanie a sieť. Medzitým každá aplikácia, mikroslužba alebo sieť služieb vyžaduje svoju vlastnú sadu autorizačných politík, za ktoré sú vývojári na háku.

Z týchto dôvodov prebieha honba za jednoduchším a časovo efektívnejším spôsobom vytvárania, presadzovania a správy politík v cloude. Zadajte príkaz Open Policy Agent (OPA). OPA, ktorý bol vytvorený pred štyrmi rokmi ako open-source nástroj politiky domény-agnostik, sa stáva de facto štandardom politiky natívneho cloudu. V skutočnosti je OPA už vo výrobe využívaná spoločnosťami ako Netflix, Pinterest a Goldman Sachs, pre prípady použitia, ako je kontrola vstupu Kubernetes a autorizácia API mikroslužieb. OPA tiež napája mnoho cloudových natívnych nástrojov, ktoré už poznáte a milujete, vrátane balíka Atlassian a Chef Automate.

[Tiež na: Kde sa spoľahlivosť webov stretáva s vývojom]

OPA poskytuje organizáciám natívnym cloudom jednotný jazyk politiky - takže rozhodnutia o autorizácii je možné vyjadrovať bežným spôsobom naprieč aplikáciami, API, infraštruktúrou a ďalšími, bez nutnosti pevne zakódovať politiku na mieru do každého z týchto rôznych jazykov a nástrojov jednotlivo . Pretože OPA slúži na autorizáciu, navyše ponúka rastúcu zbierku optimalizácií výkonu, aby autori politík mohli tráviť väčšinu času písaním správnych, udržiavateľných politík a prenechať výkon OPA.

Politika autorizácie OPA má veľa a veľa prípadov použitia v celom zásobníku - od umiestnenia ochranných zábradlí okolo orchestrácie kontajnerov až po kontrolu prístupu SSH alebo poskytovanie kontextovej autorizácie služby mesh. Existujú však tri populárne prípady použitia, ktoré poskytujú dobrú odrazovú plochu pre mnohých používateľov OPA: autorizácia aplikácie, kontrola vstupu Kubernetes a mikroslužby.

OPA na autorizáciu aplikácie

Pravidlá autorizácie sú všadeprítomné, pretože to vyžaduje skutočne každá aplikácia. Vývojári však zvyčajne „valcujú svoj vlastný“ kód, ktorý je nielen časovo náročný, ale vedie k patchworkovej vrstve nástrojov a politík, ktoré sa ťažko udržiavajú. Aj keď je autorizácia kritická pre každú aplikáciu, čas strávený vytváraním politiky znamená menej času zameraného na funkcie zamerané na používateľa.

OPA používa účelový deklaratívny jazyk politiky, ktorý uľahčuje vývoj politiky autorizácie. Môžete napríklad vytvoriť a vynucovať pravidlá tak priamo, ako napríklad „Nemôžete čítať informácie umožňujúce identifikáciu osôb, ak ste kontraktorom“ alebo „Jana má prístup k tomuto účtu.“ Ale to je len začiatok. Pretože OPA si je vedomý kontextu, môžete tiež vytvoriť politiku, ktorá zohľadní čokoľvek na planéte - napríklad: „Akciové obchody požadované v poslednej hodine obchodného dňa, ktorých výsledkom bude transakcia za viac ako milión dolárov, je možné vykonať iba na konkrétne služby v danom mennom priestore. “

Mnoho organizácií má samozrejme už vytvorené povolenie na mieru. Ak však dúfate, že rozložíte svoje aplikácie a rozšírite mikroslužby v cloude pri zachovaní efektívnosti pre vývojárov, bude potrebný distribuovaný autorizačný systém. Pre mnohých je OPA chýbajúcim kúskom skladačky.

OPA pre kontrolu vstupu Kubernetes

Mnoho používateľov tiež používa program OPA na vytváranie zábradlí pre Kubernetes. Samotný Kubernetes sa stal hlavným prúdom a kritickým bodom misie. Organizácie hľadajú spôsoby, ako definovať a implementovať ochranné zábradlia, ktoré by pomohli znížiť riziko bezpečnosti a dodržiavania predpisov. Pomocou OPA môžu správcovia nastaviť jasné zásady, aby vývojári mohli urýchliť produkciu potrubí a rýchlo uviesť na trh nové služby bez obáv z prevádzkových, bezpečnostných alebo compliance rizík.

OPA možno použiť na vytvorenie politík, ktoré odmietajú všetky vniknutia, ktoré používajú rovnaký názov hostiteľa, alebo ktoré vyžadujú, aby všetky obrázky kontajnerov pochádzali z dôveryhodného registra, alebo na zabezpečenie toho, aby bolo všetko úložisko označené vždy šifrovaným bitom alebo aby bola každá aplikácia vystavená na internet použite schválený názov domény - uvediem len niekoľko príkladov.

Pretože OPA sa integruje priamo so serverom API Kubernetes, môže odmietnuť akýkoľvek prostriedok, ktorý politika zakazuje, naprieč výpočtami, sieťami, úložiskom atď. Obzvlášť výhodné pre vývojárov je, že tieto politiky môžete vystaviť skôr v vývojovom cykle, napríklad v potrubí CI / CD, takže vývojári môžu získať spätnú väzbu skoro a napraviť problémy pred spustením. Okrem toho môžete svoje politiky overiť aj mimo pásma, aby ste zabezpečili, že dosiahnu zamýšľaný účinok a neúmyselne nespôsobia problémy.

OPA pre mikroslužby

Napokon sa program OPA stal veľmi populárnym, pretože pomáha organizáciám riadiť ich mikroslužby a architektúry sieťových sietí. Pomocou OPA môžete vytvárať a vynucovať autorizačné politiky priamo pre mikroslužbu (zvyčajne ako postranný vozík), budovať politiky medzi službami v rámci siete služieb alebo z hľadiska bezpečnosti vytvárať politiky, ktoré obmedzujú bočný pohyb v rámci siete služieb. architektúry.

Budovanie jednotnej politiky pre natívne cloudové architektúry

Všeobecným cieľom pri používaní OPA je vytvoriť jednotný prístup k vytváraniu politík v rámci vášho cloudovo natívneho zásobníka - takže nemusíte neustále spravovať politiku na desiatkach miest pomocou rôznych jazykov a prístupov prostredníctvom ad- hoc zmes kmeňových znalostí, wiki a PDF, alebo nepreberné množstvo nevyhovujúcich nástrojov.

[Tiež k: 7 osvedčených postupov pre vzdialené agilné tímy]

Okrem zjednodušenia vývoja a urýchlenia doručenia je to veľká správa aj pre bezpečnosť, pretože OPA znižuje počet nástrojov, ktoré potrebujete na kontrolu, či máte napríklad podozrenie na neoprávnený prístup. Podobne, z hľadiska prevádzky aj z hľadiska súladu, OPA uľahčuje získavanie a analýzu informácií v heterogénnom prostredí - pomáha vám rýchlo identifikovať problémy a rýchlejšie ich vyriešiť.

Vývojári sa usilujú nájsť jednoduchší a efektívnejší spôsob vytvárania a správy ovládacích prvkov založených na zásadách pre svoje prostredia natívneho cloudu. Pre mnohých je týmto riešením OPA. Ak narazíte na to, že sa dotýkate autorizačnej politiky na viacerých miestach, vo viacerých jazykoch alebo vo viacerých tímoch, OPA vám môže pomôcť eliminovať nadbytočnosť a rýchlosť doručovania, rovnako ako pre nich.

Tim Hinrichs je spoluzakladateľom projektu Open Policy Agent a CTO spoločnosti Styra. Predtým bol spoluzakladateľom projektu OpenStack Congress a pracoval ako softvérový inžinier v spoločnosti VMware. Tim strávil posledných 18 rokov vývojom deklaratívnych jazykov pre rôzne domény, ako sú cloudové výpočty, softvérovo definované siete, správa konfigurácií, zabezpečenie webu a kontrola prístupu. Získal titul Ph.D. v odbore informatika na Stanfordskej univerzite v roku 2008.

Nové technologické fórum poskytuje miesto na preskúmanie a diskusiu o vznikajúcich podnikových technológiách v nebývalej hĺbke a šírke. Výber je subjektívny, založený na našom výbere technológií, ktoré považujeme za dôležité a pre čitateľov najväčší záujem. neprijíma marketingové záruky na zverejnenie a vyhradzuje si právo upravovať všetok prispievaný obsah. Všetky otázky posielajte na adresu [email protected].

$config[zx-auto] not found$config[zx-overlay] not found