Folders: Add admin permissions upon creation of a folder w. SA (#95072)

* add admin permissions upon creation of a folder w. SA

* Update pkg/services/folder/folderimpl/folder.go

Co-authored-by: Karl Persson <kalle.persson@grafana.com>

* Grant service account permissions for creation of dashboards

* Grant service account admin permissions upon creating a datasource

* fetch user using the userservice with the userid

* Revert "fetch user using the userservice with the userid"

This reverts commit 23cba78752.

* revert back to original datasource creation

---------

Co-authored-by: Karl Persson <kalle.persson@grafana.com>
This commit is contained in:
Eric Leijonmarck 2024-10-23 14:02:22 +01:00 committed by GitHub
parent b1a1e7ce61
commit 9ab064bfc5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 3 additions and 3 deletions

View File

@ -79,7 +79,7 @@ func (r ReceiverPermissionsService) SetDefaultPermissions(ctx context.Context, o
resourceId := alertingac.ScopeReceiversProvider.GetResourceIDFromUID(uid) resourceId := alertingac.ScopeReceiversProvider.GetResourceIDFromUID(uid)
permissions := defaultPermissions() permissions := defaultPermissions()
clearCache := false clearCache := false
if user != nil && user.IsIdentityType(claims.TypeUser) { if user != nil && user.IsIdentityType(claims.TypeUser, claims.TypeServiceAccount) {
userID, err := user.GetInternalID() userID, err := user.GetInternalID()
if err != nil { if err != nil {
r.log.Error("Could not make user admin", "receiver_uid", uid, "resource_id", resourceId, "id", user.GetID(), "error", err) r.log.Error("Could not make user admin", "receiver_uid", uid, "resource_id", resourceId, "id", user.GetID(), "error", err)

View File

@ -523,7 +523,7 @@ func (dr *DashboardServiceImpl) setDefaultPermissions(ctx context.Context, dto *
inFolder := dash.FolderID > 0 inFolder := dash.FolderID > 0
var permissions []accesscontrol.SetResourcePermissionCommand var permissions []accesscontrol.SetResourcePermissionCommand
if !provisioned && dto.User.IsIdentityType(claims.TypeUser) { if !provisioned && dto.User.IsIdentityType(claims.TypeUser, claims.TypeServiceAccount) {
userID, err := dto.User.GetInternalID() userID, err := dto.User.GetInternalID()
if err != nil { if err != nil {
dr.log.Error("Could not make user admin", "dashboard", dash.Title, "id", dto.User.GetID(), "error", err) dr.log.Error("Could not make user admin", "dashboard", dash.Title, "id", dto.User.GetID(), "error", err)

View File

@ -713,7 +713,7 @@ func (s *Service) setDefaultFolderPermissions(ctx context.Context, orgID int64,
var permissions []accesscontrol.SetResourcePermissionCommand var permissions []accesscontrol.SetResourcePermissionCommand
if user.IsIdentityType(claims.TypeUser) { if user.IsIdentityType(claims.TypeUser, claims.TypeServiceAccount) {
userID, err := user.GetInternalID() userID, err := user.GetInternalID()
if err != nil { if err != nil {
return err return err