AuthZ service: Expand the logic to also evaluate action sets (#112124)
* expand AuthZ service logic to also evaluate action sets * handle folder creation * fix test * simplify mapper code Co-authored-by: gamab <gabi.mabs@gmail.com> * more accurate variable name Co-authored-by: gamab <gabi.mabs@gmail.com> * break alerting import cycle * Apply suggestion from @gamab --------- Co-authored-by: gamab <gabi.mabs@gmail.com> Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
This commit is contained in:
co-authored by
gamab
Gabriel MABILLE
parent
bb1d7d9070
commit
acbbfde256
@@ -35,7 +35,6 @@ import (
|
||||
"github.com/grafana/grafana/pkg/services/accesscontrol/resourcepermissions"
|
||||
"github.com/grafana/grafana/pkg/services/dashboards"
|
||||
"github.com/grafana/grafana/pkg/services/folder/foldertest"
|
||||
alertingac "github.com/grafana/grafana/pkg/services/ngalert/accesscontrol"
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/api"
|
||||
"github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
||||
ngmodels "github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||
@@ -204,7 +203,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns read, noneUser has no metadata but has access",
|
||||
creatingUser: admin,
|
||||
testUser: noneUser,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(alertingac.ReceiverPermissionView)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(ngmodels.PermissionView)}},
|
||||
expACMetadata: nil,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -212,7 +211,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns write, noneUser has write metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: noneUser,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(alertingac.ReceiverPermissionEdit)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(ngmodels.PermissionEdit)}},
|
||||
expACMetadata: writeACMetadata,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -220,7 +219,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns admin, noneUser has all metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: noneUser,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(alertingac.ReceiverPermissionAdmin)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(ngmodels.PermissionAdmin)}},
|
||||
expACMetadata: allACMetadata,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -229,7 +228,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns read to noneUser, creator has no metadata and no access",
|
||||
creatingUser: admin,
|
||||
testUser: creator,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(alertingac.ReceiverPermissionView)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(ngmodels.PermissionView)}},
|
||||
expACMetadata: nil,
|
||||
expRead: false,
|
||||
},
|
||||
@@ -237,7 +236,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns write to noneUser, creator has no metadata and no access",
|
||||
creatingUser: admin,
|
||||
testUser: creator,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(alertingac.ReceiverPermissionEdit)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(ngmodels.PermissionEdit)}},
|
||||
expACMetadata: nil,
|
||||
expRead: false,
|
||||
},
|
||||
@@ -245,7 +244,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns admin to noneUser, creator has no metadata and no access",
|
||||
creatingUser: admin,
|
||||
testUser: creator,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(alertingac.ReceiverPermissionAdmin)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(noneUser), Permission: string(ngmodels.PermissionAdmin)}},
|
||||
expACMetadata: nil,
|
||||
expRead: false,
|
||||
},
|
||||
@@ -254,7 +253,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns editor, viewer has write metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: viewer,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(viewer), Permission: string(alertingac.ReceiverPermissionEdit)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(viewer), Permission: string(ngmodels.PermissionEdit)}},
|
||||
expACMetadata: writeACMetadata,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -262,7 +261,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns admin, viewer has all metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: viewer,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(viewer), Permission: string(alertingac.ReceiverPermissionAdmin)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(viewer), Permission: string(ngmodels.PermissionAdmin)}},
|
||||
expACMetadata: allACMetadata,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -270,7 +269,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns admin, editor has all metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: editor,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(editor), Permission: string(alertingac.ReceiverPermissionAdmin)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{UserID: mustID(editor), Permission: string(ngmodels.PermissionAdmin)}},
|
||||
expACMetadata: allACMetadata,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -279,7 +278,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns admin to staff, viewer has no metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: viewer,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{TeamID: org1.Staff.ID, Permission: string(alertingac.ReceiverPermissionAdmin)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{TeamID: org1.Staff.ID, Permission: string(ngmodels.PermissionAdmin)}},
|
||||
expACMetadata: nil,
|
||||
expRead: true,
|
||||
},
|
||||
@@ -287,7 +286,7 @@ func TestIntegrationResourcePermissions(t *testing.T) {
|
||||
name: "Admin creates, assigns admin to staff, editor has all metadata and access",
|
||||
creatingUser: admin,
|
||||
testUser: editor,
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{TeamID: org1.Staff.ID, Permission: string(alertingac.ReceiverPermissionAdmin)}},
|
||||
assignments: []accesscontrol.SetResourcePermissionCommand{{TeamID: org1.Staff.ID, Permission: string(ngmodels.PermissionAdmin)}},
|
||||
expACMetadata: allACMetadata,
|
||||
expRead: true,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user