Regelwerke mit dem Open Policy Agent – Nicht mehr als erlaubt

Jede Anwendung, auf die mehr als ein Nutzer zugreift, muss die entscheidende Frage beantworten: Darf dieser Benutzer die gewünschte Aktion wirklich ausführen? Was ein Anwender in einer Software darf, legt meist ein Rollenmodell fest. Doch insbesondere in der Cloud oder für Infrastructure-as-Code birgt dies zahlreiche Herausforderungen. Mit dem freien Open Policy Agent steuern Admins Nutzerrechte flexibler.

Infrastructure-as-Code (IaC) ist mittlerweile ein Erfolgsrezept für deklarativen, maschinenlesbaren Code und daher liegt es nahe, es auf das Thema Security und insbesondere auf das Verfassen von Policies zu übertragen. Mit diesem Ansatz versuchen Firmen in einer skalierbaren Art und Weise, Regeln innerhalb einer Organisation zu implementieren. Ein Vertreter dieser Gattung, der in jüngster Zeit immer mehr Aufmerksamkeit erhält, ist der Projekt Open Policy Agent (OPA) [1], hinter dem das Startup-Unternehmen Styra steht. OPA ist eine universell einsetzbare Policy-Engine, die eine einheitliche, kontextbewusste Durchsetzung von Richtlinien über den gesamten Stack hinweg ermöglicht.

Open Policy Agent im Überblick

OPA wird von der CNCF (Cloud Native Computing Foundation) gehostet – also von der Organisation, die für Kubernetes verantwortlich zeichnet. Konzipiert ist OPA für cloudnative Umgebungen und kombiniert die relativ einfach zu erlernende und lesbare Policy-Sprache „Rego“ mit einem Richtlinienmodel sowie einer API. Dies ermöglicht eine Art universelles Framework, um Regeln auf alle Arten von Stacks anzuwenden. Einer der großen Vorteile von OPA ist somit die Entkopplung von Security-Policies und Code und seiner Anwendung – unabhängig, wie oft sich der Code ändert.

Technisch ist OPA an Input gebunden. Sobald diese Daten vorliegen, entscheidet der OPA-Code darüber, wie mit dem entsprechenden Input umzugehen ist (beispielsweise das Erlauben oder Verbieten mit einer allow/deny-Policy). Ein weiterer Vorteil ist die Tatsache, dass OPA Input und Output sowohl im JSON- als auch im YAML-Format verarbeitet, sodass sich IT-Verantwortliche dabei nicht an eine vordefinierte API halten müssen. Insgesamt gestaltet sich das Verfassen von Regeln so relativ leicht – darüber hinaus unterstützt OPA REPL, also das Shell-basierte Ausführen von Code. Praktisch ist auch, dass Sie nicht alle Policies selbst verfassen müssen, denn im Internet finden sich für viele Anwendungsfälle bereits fertige Policy-Bundles, die ein brauchbares, vordefiniertes Regelwerk beinhalten. Zum Üben existiert sowohl ein frei zugänglicher Playground als auch eine freie Styra Academy.

Gesamten Artikel im IT-Administrator-Heftarchiv lesen

Autor