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.
- Aktiv gepflegt
- Von einer Foundation unterstützt
- Gut dokumentiert
- Permissive Lizenz
Ü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.
Warum es in diesem Katalog steht
Katalog-Bewertung: ★★★★☆ (4/5)
The standard general-purpose policy engine (Rego), essential representative project for policy-as-code.
- Grundlegend etabliert
- Stiftungsgeführt
- Kategorien
- DevOps
- Sprachen
- Go, Rego
- Lizenz
- Apache-2.0
Mit einem anderen Projekt vergleichen
Ähnliche Projekte
Kyverno
Apache-2.0Kubernetes-native Policy-Engine, mit der du Richtlinien in gewöhnlichem YAML statt in einer separaten Richtliniensprache schreiben und durchsetzen kannst.
Aktiv gepflegt
- DevOps
Cilium
Apache-2.0eBPF-basierte Netzwerk-, Sicherheits- und Observability-Plattform für Kubernetes, die klassische Netzwerkkomponenten durch Performance auf Kernel-Ebene ersetzt.
Aktiv gepflegt
- DevOps
etcd
Apache-2.0Verteilter, konsistenter Key-Value-Store, den Kubernetes selbst zum Speichern des gesamten Cluster-Zustands nutzt, und ein zuverlässiger Baustein für andere verteilte Systeme.
Aktiv gepflegt
- DevOps
cert-manager
Apache-2.0Automatisiert das Ausstellen, Erneuern und Verwalten von TLS-Zertifikaten für Kubernetes-Anwendungen und eliminiert manuelle Zertifikatsverwaltung.
Aktiv gepflegt
- DevOps
Einen Fehler entdeckt? Änderung auf GitHub vorschlagen.