From c4e6e05687c861adc7b104e21f048a48cbdec62d Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Tue, 11 Oct 2022 05:16:26 -0400 Subject: [PATCH] FIX: Remove RBAC datasource permissions upon datasource deletion (#56530) (#56549) * FIX: Remove RBAC datasource permissions upon datasource deletion * Use scope provider instead * Fix test (cherry picked from commit 7595ed066867d8dc0caab54acc7da14f64343024) Co-authored-by: Gabriel MABILLE --- pkg/services/sqlstore/datasource.go | 2 +- pkg/services/sqlstore/datasource_test.go | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pkg/services/sqlstore/datasource.go b/pkg/services/sqlstore/datasource.go index fab74f05f8e..b41e56b10fe 100644 --- a/pkg/services/sqlstore/datasource.go +++ b/pkg/services/sqlstore/datasource.go @@ -121,7 +121,7 @@ func (ss *SQLStore) DeleteDataSource(ctx context.Context, cmd *datasources.Delet // Remove associated AccessControl permissions if _, errDeletingPerms := sess.Exec("DELETE FROM permission WHERE scope=?", - ac.Scope("datasources", "id", fmt.Sprint(dsQuery.Result.Id))); errDeletingPerms != nil { + ac.Scope(datasources.ScopeProvider.GetResourceScope(dsQuery.Result.Uid))); errDeletingPerms != nil { return errDeletingPerms } } diff --git a/pkg/services/sqlstore/datasource_test.go b/pkg/services/sqlstore/datasource_test.go index 34169f799a9..26848da0348 100644 --- a/pkg/services/sqlstore/datasource_test.go +++ b/pkg/services/sqlstore/datasource_test.go @@ -3,7 +3,6 @@ package sqlstore import ( "context" "errors" - "fmt" "strconv" "testing" "time" @@ -305,7 +304,7 @@ func TestIntegrationDataAccess(t *testing.T) { _, err := sess.Table("permission").Insert(ac.Permission{ RoleID: 1, Action: "datasources:read", - Scope: ac.Scope("datasources", "id", fmt.Sprintf("%d", ds.Id)), + Scope: datasources.ScopeProvider.GetResourceScope(ds.Uid), Updated: time.Now(), Created: time.Now(), })