Validate Request with Open Policy Agent (OPA)¶
The Open Policy Agent (OPA) is an open source, general-purpose policy engine that unifies policy enforcement. In Choreo Connect, you can offload some responsibility of making the decision to authorize or not when a consumer invokes APIs based on policies attached to APIs.
Choreo Connect uses OPA’s policy evaluation REST API interface to communicate with OPA. Following diagram describes the request/response of OPA validation.
Tip
You can deploy OPA server as a sidecar with Choreo Connect Runtime (Enforcer and Router) in a Kubernetes deployment, if you want to improve communication between Enforcer and OPA server.
| Numbers | Description | 
|---|---|
| 1 | Client request | 
| 2 | Request to validate (i.e. authentication, rate-limiting, OPA validation and other validations) the client request through Enforcer | 
| 3 | Enforcer calling the OPA server with the JSON payload described in Request Payload to the OPA server | 
| 4 | Response from OPA server after validating the request as described in Response Payload from the OPA server | 
| 5 | Respond the validation status to the Router | 
| 6,7 | Response from the backend | 
| 8 | Response to the client | 
Please refer the documentation on Validate Request with Open Policy Agent (OPA) to learn how to attach and configure OPA policies to APIs.
Top