-
Task
-
Resolution: Done
-
Undefined
-
None
-
None
API integration is handled through calling RBAC’s GET List API as follows:
<selected environment>/access/?application=<app> , resulting in the following response:
{ "meta": {...}, "links": {...}, "data": [ { "permission": "<app>:<resource0>:*", "resourceDefinitions": [] }, { "permission": "<app>:<resource1>:write", "resourceDefinitions": [] } ] }
See the RBAC role API documentation here.
Further discussion around how often we call said api (every api call?) and caching needs to be discussed for implementation.
avisiedo@redhat.com has also suggested that we consider maybe creating a middleware, similar to what is seen here and here in the playbook-dispatcher app.
To quote avisiedo@redhat.com, "The middleware should allow us to centralize in one component, so RBAC would have almost zero impact on the backend handlers"
Go library for get access here
Reference to turning RBAC on or off example.