Policy Service and API
Status
-
Proposed -
Trialing -
Under review -
Approved -
Retired
Context & Scope
In OSDU, there is a need to manage policies. A dedicated services with corresponding set of APIs is required. At the same time, some policy engines (e.g., OPA) already have REST APIs for policy management.
Decision
In R3, OSDU policy service will be designed and implemented. This service might be only a simple wrapper of existing 3rd party REST APIs but no 3rd party APIs will become public interfaces in OSDU.
Rationale
This will ensure a level of abstraction required to:
- Allow OSDU to evolve irrespective of selected technology;
- Allow policies to be contextual to OSDU.
Consequences
Another service to maintain and support.
When to revisit
- Once policies in OSDU have matured
- If there is a high cost to maintaining this service
- If there is no more added value from having the abstraction
Alternatives and implications
We could just take OPA REST APIs and expose them as policy API. This would create a strong coupling to OPA, making it harder to contextualize the policy API (e.g., data partition support) and if required, switch to different policy engine in the future.
Decision criteria and trade-offs
- Cost
- Usability
- Extensibility
Decision timeline
July 2020