-
Notifications
You must be signed in to change notification settings - Fork 466
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cloud RBAC #1999
Cloud RBAC #1999
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ready to land !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Amazing, amazing changes. It is great to see all of our previous discussions come alive in such an elaborate manner. I left a few comments, hope it helps.
I love the clean up as well ❤️
E2E template updates in |
E2E template updates in |
Describe changes
This PR introduces changes to enable RBAC for all server endpoints.
RBAC
To check whether a user is allowed to perform an action on a resource, we verify that either
stack
that he wants to read/update/delete)zenml.zen_server.rbac.rbac_interface.RBACInterface
interface.Dehydration
Some of our response models contain other response models in some of their attributes. In some cases, users might have access to read the parent model but not the child models contained within it. To address this, we "dehydrate" any response model and redact information from child models which the user is not allowed to access.
Service accounts
Service accounts are currently stored in the server database which makes them incompatible with the Cloud RBAC backend (which requires an entry in the cloud user table). For this reason, service accounts currently are excluded from the RBAC and have full permissions.
Some additional changes that needed to be implemented
stacks
,stack components
andservice connectors
was removed. In case of overlapping entity names which are required to be unique, the owner id is appended as the suffix.default
) stack, theclient ID
is not included in the cache key for local artifact stores.Pre-requisites
Please ensure you have done the following:
develop
and the open PR is targetingdevelop
. If your branch wasn't based on develop read Contribution guide on rebasing branch to develop.Types of changes