Open Policy Agent – OPA

Open Policy Agent (OPA) med Mårten Cassel

Open Policy Agent (OPA) stod på agendan under Snacka Kubernetes med Conoa 7 april 2022. Vi får en presentation och demo av OPA. Mårten delar med sig av sina erfarenheter av hur man kommer i gång på bästa sätt. Anmäl dig här för att vara med live på nästa meetup.

Idag har vi återigen med oss Mårten Cassel som är Kubernetes-konsult på Conoa. Mårten arbetat just nu med OPA hos en av våra kunder och delar med sig av sina erfarenheter när det ligger färskt in minnet. Vi får en introduktion till OPA, en presentation av viktiga funktioner och givetvis blir det demo.

Mårten diskuterar bland annat fram design-principer i Rego, VSCode Extension och OPA Gatekeeper Library.

Open Policy Agent (OPA) – grunderna

OPA är ett ”Graduate”-projekt inom Cloud Native Computing Foundation (CNCF)-landskapet som ursprungligen skapades av företag Styra.

Det OPA gör är att det frikopplar beslutsfattande kring policys från själva tillämpningen policys. När en applikation behöver fatta policybeslut, frågar den OPA genom att tillhandahålla strukturerad data (ex. JSON) som indata.

Open Policy Agent genererar sedan ett policybeslut genom att utvärdera frågan gentemot tillgängliga policys och data. OPA och Rego är domänagnostiska så du kan beskriva många typer av policys. Till exempel:

  • Vilka användare som kan komma åt vilka resurser
  • Vilka sub-nät tillåts för utgående trafik
  • Vilka kluster som last ska deployas på
  • Vilka registries man kan ladda ner binärer från.
  • Vilka OS-funktioner en container kan köras med
  • Vilka tider på dygnet systemet kan nås
    … och så vidare.

Policybeslut är inte begränsade till enkla svar som ja/nej eller tillåt/neka. Precis som frågan som matas in, kan dina policyer generera ”arbitrary structured data” som utdata. Dvs. både frågor och svar kan innehålla ostrukturerad/icke-standardiserad data.

OPA-policys hanteras i ett deklarativt språk som kallas Rego. Rego är framtaget specifikt för att uttrycka policyer över komplexa hierarkiska datastrukturer.

Så kommer du vidare med OPA

Som med alla verktyg är vårt grundtips att börja med något enkelt i mindre skala. På projektets officiella websida finns dokumentation och en Playground som du kan köra i din webbläsare.

Styra erbjuder kostnadsfri utbildning på Open Policy Agent via academy.styra.com/. Styra erbjuder även Styra Declarative Authorization Service (DAS) som är ett management- och kontrollplan för OPA. Det ger en översikt vid framtagandet av policys, distribution, konsekvensanalys, monitorering och audit. DAS finns i en gratisvariant eller Enterprise-version med adderad funktionalitet och support. Även om Conoa inte har ett formellt partnerskap med Styra hjälper vi givetvis till med kontakter vid intresse att lära sig mer om enterprise-versionen.

Titta i efterhand på Conoas YouTube-kanal

Missade du livesändningen med fokus på Open Policy Agent – OPA? Du kan se alla tidigare avsnitt av Snacka Kubernetes med Conoa på vår YouTube-kanal.

Dela inlägg

Senaste inläggen