-
Notifications
You must be signed in to change notification settings - Fork 887
feat: improve RBAC preconditions for Insights endpoint #8794
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
Conversation
if len(arg.TemplateIDs) == 0 { | ||
if err := q.authorizeContext(ctx, rbac.ActionUpdate, rbac.ResourceTemplate.All()); err != nil { | ||
return nil, err | ||
} | ||
} |
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.
This doesn't align with our documented permissions here.
Is the reason for making the required permission "update" to ensure that only template owners can view template insights? If so, we should make a separate TemplateInsights
resource and make appropriate modifications to our built-in roles.
Otherwise, why not just allow anyone with read permissions to view this data?
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.
Is the reason for making the required permission "update" to ensure that only template owners can view template insights?
Otherwise, why not just allow anyone with read permissions to view this data?
I suppose that we don't want to share user details for template usage and latency with regular users.
This doesn't align with our documented permissions here.
The Roles table does not describe the use case when a regular user can be granted admin access for a single template using Template ACLs (enterprise feature). This is why I picked the for-loop with "update template" check to see if the user can modify a template, ergo can access insights.
Please let me know what is your recommendation in this case.
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.
For the moment, this is OK as a bandage to stop the FE spinner issue. However, the current situation with regard to ACLs is not ideal in terms of integration with the rest of the RBAC package.
Fixes: #8763
This PR modifies RBAC rules for Insights API, so that regular users with appropriate template ACL rights and template admins can see insights for templates they own. Current permission is too narrow, it is limited only to owners, and it prevents UI from loading properly.
Note:
This PR seems to be relatively large, but the vast majority of it are RBAC unit tests.