Fix listing metrics as non-admin without creator policy defined #1440
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When using a minimal RBAC policy that only allows either access either to a cloud admin or a user that is part of the project a metric's resource is owned by, e.g.
There is an issue where
KeystoneAuthHelper.get_metric_policy_filter
will reject access to the metrics because from its perspective there are no applicable policies that the user has permission under.This patch fixes that by adding an option to
get_metric_policy_filter
that allows an empty policy filter to be returned if an enforcement check forresource.project_id
passes. This option is set toFalse
by default, and only enabled where necessary.This allows the caller to use
KeystoneAuthHelper.get_resource_policy_filter
to add project filters to the metric query based on the resource the metric is associated with.