Open Policy Agent is an open-source engine that provides a way of declaratively writing policies as code and then using those policies as part of a decision-making process.
OPA can be used for several purposes:
🔹 Authorization of REST API endpoints.
🔹 Allowing or denying Terraform changes based on compliance or safety rules.
🔹 Integrating custom authorization logic into applications.
🔹 Implementing Kubernetes Admission Controllers to validate API requests.
List of interesting reasons to use OPA:
1️⃣ Policy as code allows you to follow your standard development lifecycle with PRs, CI, etc., and provide you with a history of changes to your policies.
2️⃣ OPA is designed to work with JSON input, meaning it can easily integrate with any tool that produces JSON output.
3️⃣ Because OPA integrates with many different tools, it allows you to use a standard policy language across many parts of your system, rather than relying on multiple vendor-specific technologies.
4️⃣ OPA supports unit-testing, making it easier and faster to iterate your policies with confidence that they won’t break.