Zum Inhalt springen
FindOpenSource

Open Policy Agent (OPA)

Allzweck-Policy-Engine, von der CNCF graduiert, zur Durchsetzung von Autorisierungs-, Compliance- und Konfigurationsregeln als Code über Microservices, APIs, Kubernetes und CI-Pipelines hinweg.

Überblick

Open Policy Agent (OPA) ist eine Allzweck-Policy-Engine, die Richtlinienentscheidungen vom Anwendungscode entkoppelt. Richtlinien werden in Rego geschrieben, einer deklarativen Abfragesprache, die eigens dafür entwickelt wurde, Regeln über strukturierte Daten auszudrücken; OPA wertet diese Richtlinien gegen eine Anfrage oder Ressource aus und liefert eine Erlauben/Verweigern-Entscheidung (oder eine reichhaltigere strukturierte Ausgabe), die der aufrufende Dienst dann durchsetzt.

Da OPA eine eigenständige Engine ist und keine in eine einzelne Anwendung eingebettete Bibliothek, wird es üblicherweise als Sidecar, als Kubernetes-Admission-Controller, der nicht konforme Ressourcen vor ihrer Erstellung ablehnt, oder als Richtlinienprüfung innerhalb von CI-Pipelines eingesetzt – eine Richtliniensprache, die an sehr unterschiedlichen Durchsetzungspunkten wiederverwendet wird, statt Regeln pro System neu zu implementieren.

OPA eignet sich für Platform- und Security-Teams, die Richtlinien konsistent über viele Dienste und Schichten des Stacks hinweg durchsetzen müssen. Es ist eine andere Ebene als Casbin oder OpenFGA (ebenfalls in diesem Katalog): Das sind Autorisierungsbibliotheken, die eine Anwendung direkt einbettet, um Berechtigungen im eigenen Code zu prüfen, während OPA typischerweise als gemeinsam genutzte Infrastruktur läuft, die viele verschiedene Systeme – darunter auch Anwendungscode – abfragen können.

Kategorien
DevOps
Schlagwörter
policy-as-codepolicy-engineauthorization-policyregoadmission-control
Sprachen
Go, Rego
Lizenz
Apache-2.0

Einen Fehler entdeckt? Änderung auf GitHub vorschlagen.