Alerting: Update provisioning API to support regular permissions (#77007)

* allow users with regular actions access provisioning API paths
* update methods that read rules
skip new authorization logic if user CanReadAllRules to avoid performance impact on file-provisioning
update all methods to accept identity.Requester that contains all permissions and is required by access control.

* create deltas for single rul e 

* update modify methods
skip new authorization logic if user CanWriteAllRules to avoid performance impact on file-provisioning
update all methods to accept identity.Requester that contains all permissions and is required by access control.

* implement RuleAccessControlService in provisioning

* update file provisioning user to have all permissions to bypass authz

* update provisioning API to return errutil errors correctly

---------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
This commit is contained in:
Yuri Tseretyan
2024-03-22 15:37:10 -04:00
committed by GitHub
co-authored by Alexander Weaver
parent 0b4830ccfd
commit b9abb8cabb
21 changed files with 2039 additions and 108 deletions
+1 -1
View File
@@ -5557,7 +5557,7 @@
}
}
},
"summary": "Update the interval of a rule group.",
"summary": "Create or update alert rule group.",
"tags": [
"provisioning"
]
@@ -203,7 +203,7 @@ type ProvisionedAlertRule struct {
// swagger:route PUT /v1/provisioning/folder/{FolderUID}/rule-groups/{Group} provisioning stable RoutePutAlertRuleGroup
//
// Update the interval of a rule group.
// Create or update alert rule group.
//
// Consumes:
// - application/json
+1 -1
View File
@@ -7706,7 +7706,7 @@
}
}
},
"summary": "Update the interval of a rule group.",
"summary": "Create or update alert rule group.",
"tags": [
"provisioning"
]
+1 -1
View File
@@ -2698,7 +2698,7 @@
"provisioning",
"stable"
],
"summary": "Update the interval of a rule group.",
"summary": "Create or update alert rule group.",
"operationId": "RoutePutAlertRuleGroup",
"parameters": [
{