-
Story
-
Resolution: Done
-
Normal
-
None
-
None
-
Product / Portfolio Work
-
False
-
-
False
-
-
Unset
-
None
-
-
-
5
-
Access & Management Sprint 106, Access & Management Sprint 107, Access & Management Sprint 108, Access & Management Sprint 109
This will not only support forwarded requests from HBI -> RBAC for workspaces, but will also be required for supporting direct API requests from the new workspace UI.
Long-term, we'll be integrating with Kessel to check authorization against RBAC resources (like workspaces) for meta-authz, RBAC-on-RBAC.
Prior to having the schema and client available to do this, we can take advantage of existing v1 permissions [1] which are currently used by HBI to enforce access control against inventory groups (workspaces).
We should be able to tap into the workspace access class [2] similar to what we do for other RBAC-on-RBAC checks [3] which is populated in our middleware [4].
The key difference here is that we'll need to be storing and checking granular access from resourceDefinitions, to restrict access to specific workspaces. We'll need to ensure parity with existing enforcement in HBI today.
[1] https://github.com/RedHatInsights/rbac-config/blob/master/configs/prod/permissions/inventory.json#L21-L30
[2] https://github.com/RedHatInsights/insights-rbac/blob/master/rbac/management/permissions/workspace_access.py
[3] https://github.com/RedHatInsights/insights-rbac/blob/master/rbac/management/permissions/principal_access.py#L33
[4] https://github.com/RedHatInsights/insights-rbac/blob/master/rbac/rbac/middleware.py#L153