Programování

OPA: Univerzální modul zásad pro nativní cloud

Jak vaše organizace zahrnuje cloud, možná zjistíte, že dynamika a rozsah cloudového nativního zásobníku vyžaduje mnohem složitější prostředí zabezpečení a dodržování předpisů. Například díky platformám pro orchestraci kontejnerů, jako je Kubernetes, které získávají trakci, mají vývojáři a vývojové týmy novou odpovědnost za oblasti politiky, jako je kontrola přístupu, i za tradičnější oblasti, jako jsou výpočetní technika, úložiště a síť. Mezitím každá aplikace, mikroslužba nebo síť služeb vyžaduje vlastní sadu zásad autorizace, pro které jsou vývojáři na háku.

Z těchto důvodů probíhá honba za jednodušším a časově efektivnějším způsobem vytváření, vynucování a správy zásad v cloudu. Zadejte Otevřený agent zásad (OPA). OPA, který byl vytvořen před čtyřmi lety jako open-source nástroj politiky domény-agnostik, se stává de facto standardem pro cloudovou nativní politiku. Ve skutečnosti je OPA již ve výrobě využívána společnostmi jako Netflix, Pinterest a Goldman Sachs, pro případy použití, jako je kontrola vstupu Kubernetes a autorizace API mikroslužeb. OPA také napájí mnoho cloudových nativních nástrojů, které již znáte a milujete, včetně sady Atlassian a Chef Automate.

[Také na: Kde se spolehlivost webů setkává s devopsem]

OPA poskytuje cloudově nativním organizacím jednotný jazyk zásad - takže rozhodnutí o autorizaci mohou být vyjádřena běžným způsobem napříč aplikacemi, API, infrastrukturou a dalšími, aniž by bylo nutné pevně zakódovat zásady na míru do každého z těchto různých jazyků a nástrojů jednotlivě . Kromě toho, protože OPA je vytvořen za účelem autorizace, nabízí rostoucí sbírku optimalizací výkonu, takže autoři zásad mohou trávit většinu času psaním správných, udržovatelných zásad a ponecháním výkonu OPA.

Zásady autorizace OPA mají mnoho, mnoho případů použití napříč zásobníkem - od zavedení zábradlí kolem orchestrace kontejnerů až po řízení přístupu SSH nebo poskytování kontextové autorizace služby mesh. Existují však tři populární případy použití, které poskytují dobrou spouštěcí plochu pro mnoho uživatelů OPA: autorizace aplikace, kontrola přístupu Kubernetes a mikroslužby.

OPA pro autorizaci aplikace

Zásady autorizace jsou všudypřítomné, protože to vyžaduje prakticky každá aplikace. Vývojáři však obvykle „válí svůj vlastní“ kód, což je nejen časově náročné, ale vede k patchworkovému přikrývce nástrojů a zásad, které se obtížně udržují. Zatímco autorizace je pro každou aplikaci zásadní, čas strávený vytvářením zásad znamená méně času zaměřeného na funkce orientované na uživatele.

OPA používá účelový deklarativní jazyk zásad, který usnadňuje vývoj zásad autorizace. Můžete například vytvořit a vynutit zásady tak přímočaré jako: „Nemůžete číst PII, pokud jste dodavatelem,“ nebo „Jane má přístup k tomuto účtu.“ Ale to je jen začátek. Protože OPA je vědom kontextů, můžete také vytvořit politiku, která zohlední cokoli na planetě - například: „Akciové obchody požadované v poslední hodině obchodního dne, jejichž výsledkem bude transakce za více než milion dolarů, lze provést pouze na konkrétní služby v daném oboru jmen. “

Mnoho organizací má samozřejmě již vytvořeno oprávnění na míru. Pokud však doufáte, že rozložíte své aplikace a změníte mikroslužby v cloudu při zachování efektivity pro vývojáře, bude potřeba distribuovaný autorizační systém. Pro mnohé je OPA chybějící kousek skládačky.

OPA pro kontrolu vstupu Kubernetes

Mnoho uživatelů také používá OPA k vytvoření zábradlí pro Kubernetes. Samotný Kubernetes se stal hlavním proudem a kritickým bodem mise a organizace hledají způsoby, jak definovat a implementovat bezpečnostní zábrany, které by pomohly zmírnit riziko zabezpečení a dodržování předpisů. Pomocí OPA mohou správci nastavit jasné zásady, aby vývojáři mohli zrychlit produkci potrubí a rychle přinést nové služby na trh, aniž by se museli starat o provozní, bezpečnostní nebo compliance rizika.

OPA lze použít k vytvoření zásad, které odmítají všechny příchozí vstupy, které používají stejný název hostitele, nebo které vyžadují, aby všechny obrázky kontejnerů pocházely z důvěryhodného registru, nebo k zajištění toho, aby bylo veškeré úložiště označeno vždy šifrovaným bitem, nebo aby byla vystavena každá aplikace k internetu použijte schválený název domény - uvedu jen několik příkladů.

Vzhledem k tomu, že se OPA integruje přímo se serverem API Kubernetes, může odmítnout jakýkoli prostředek, který zásady zakazují, a to napříč výpočty, sítí, úložiště atd. Obzvláště výhodné pro vývojáře, můžete tyto zásady vystavit dříve ve vývojovém cyklu, například v kanálu CI / CD, takže vývojáři mohou získat zpětnou vazbu brzy a napravit problémy před spuštěním. Kromě toho můžete své zásady ověřit i mimo pásmo a zajistit, aby dosáhly zamýšleného účinku a aby nechtěně nezpůsobily potíže.

OPA pro mikroslužby

A konečně, OPA se stal velmi populárním, protože pomáhá organizacím řídit jejich mikroslužby a architektury sítí služeb. S OPA můžete vytvářet a vynucovat zásady autorizace přímo pro mikroslužbu (obvykle jako postranní vozík), budovat zásady služby mezi službami v rámci sítě služeb nebo z hlediska zabezpečení vytvářet zásady, které omezují boční pohyb v rámci sítě služeb architektura.

Vytváření jednotných zásad pro cloudové nativní architektury

Obecným cílem při použití OPA je obecně vytvořit jednotný přístup k vytváření zásad napříč cloudovým nativním zásobníkem - takže nemusíte neustále spravovat zásady na desítkách míst pomocí různých jazyků a přístupů prostřednictvím ad hoc mix kmenových znalostí, wiki a PDF, nebo spousta neodpovídajících nástrojů.

[Také na: 7 osvědčených postupů pro vzdálené agilní týmy]

Kromě zjednodušení vývoje a zrychlení dodávek je to velká novinka i pro bezpečnost, protože OPA snižuje počet nástrojů, které potřebujete ke kontrole, zda například máte podezření na pokus o neoprávněný přístup. Podobně z pohledu provozu i dodržování předpisů OPA usnadňuje získávání a analýzu informací v heterogenním prostředí - pomáhá vám rychle identifikovat problémy a rychleji je řešit.

Vývojáři hledají jednodušší a efektivnější způsob vytváření a správy ovládacích prvků založených na zásadách pro jejich cloudová nativní prostředí. Pro mnohé je toto řešení OPA. Pokud zjistíte, že se dotýkáte zásad autorizace na více místech, ve více jazycích nebo ve více týmech, OPA vám pomůže eliminovat nadbytečnost a rychlost doručování, stejně jako pro ně.

Tim Hinrichs je spoluzakladatelem projektu Open Policy Agent a CTO společnosti Styra. Předtím spoluzaložil projekt OpenStack Congress a pracoval jako softwarový inženýr ve společnosti VMware. Tim strávil posledních 18 let vývojem deklarativních jazyků pro různé domény, jako je cloud computing, softwarově definované sítě, správa konfigurace, zabezpečení webu a řízení přístupu. Získal titul Ph.D. v oboru počítačových věd na Stanford University v roce 2008.

Nové technologické fórum poskytuje místo, kde můžete prozkoumat a diskutovat o nově vznikajících podnikových technologiích v nebývalé hloubce a šíři. Výběr je subjektivní, založený na našem výběru technologií, které považujeme za důležité a pro čtenáře nejzajímavější. nepřijímá marketingové materiály ke zveřejnění a vyhrazuje si právo upravovat veškerý přispěný obsah. Všechny dotazy zasílejte na [email protected]