Alerting: Fix fine-grained rule access control to use 403 for authorization error (#79239)

* use 403 for authorization error
* update silences API
* add ForbiddenError to rule API responses
This commit is contained in:
Yuri Tseretyan
2023-12-07 13:43:58 -05:00
committed by GitHub
parent aa12c6c772
commit 2be7605794
17 changed files with 629 additions and 444 deletions
@@ -352,27 +352,27 @@ func TestExportRules(t *testing.T) {
expectedStatus: 400,
},
{
title: "unauthorized if folders are not accessible",
title: "forbidden if folders are not accessible",
params: url.Values{
"folderUid": []string{noAccessByFolder[0].NamespaceUID},
},
expectedStatus: 401,
expectedStatus: http.StatusForbidden,
expectedRules: nil,
},
{
title: "unauthorized if group is not accessible",
title: "forbidden if group is not accessible",
params: url.Values{
"folderUid": []string{noAccessKey1.NamespaceUID},
"group": []string{noAccessKey1.RuleGroup},
},
expectedStatus: 401,
expectedStatus: http.StatusForbidden,
},
{
title: "unauthorized if rule's group is not accessible",
title: "forbidden if rule's group is not accessible",
params: url.Values{
"ruleUid": []string{noAccessRule.UID},
},
expectedStatus: 401,
expectedStatus: http.StatusForbidden,
},
{
title: "return in JSON if header is specified",