The API rejected the request. The logs showed nothing. Access was denied because the policy said so.
Open Policy Agent (OPA) gives you total control over access decisions. SCIM provisioning gives you a standard way to manage identities across systems. Together, they can enforce rules that stay consistent no matter where your users are created or updated.
OPA is a CNCF project. It decouples policy from code. You write rules in Rego, a declarative policy language. You deploy them wherever decisions are made: APIs, microservices, Kubernetes clusters. SCIM—System for Cross-domain Identity Management—is a protocol for automating user and group provisioning. It syncs identities between systems with predictable JSON payloads over REST.
When you integrate OPA with SCIM provisioning, you create a pipeline:
- Provision identities via SCIM from your identity provider into your applications or services.
- Evaluate policies via OPA for each access request, based on the latest provisioned user data.
- Enforce decisions immediately, without hardcoding rules into application code.
The main technical benefit is separation of concerns. SCIM ensures identity data is always fresh. OPA ensures access rules are always applied. This eliminates drift between who you think has access and who actually does.