From 08f4aeded18a2d51ad0ce20337bbfa206d8ec1c9 Mon Sep 17 00:00:00 2001 From: Josh Hunt Date: Fri, 15 Mar 2024 17:22:39 +0000 Subject: [PATCH] E2C: Change permissions for navigating to Cloud Migration (#84594) * allow org admins / settings writers to access e2c * test for org admin specifically --- pkg/services/navtree/navtreeimpl/admin.go | 3 ++- public/app/routes/routes.tsx | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/services/navtree/navtreeimpl/admin.go b/pkg/services/navtree/navtreeimpl/admin.go index db9871e728c..235590b8931 100644 --- a/pkg/services/navtree/navtreeimpl/admin.go +++ b/pkg/services/navtree/navtreeimpl/admin.go @@ -7,6 +7,7 @@ import ( "github.com/grafana/grafana/pkg/services/correlations" "github.com/grafana/grafana/pkg/services/featuremgmt" "github.com/grafana/grafana/pkg/services/navtree" + "github.com/grafana/grafana/pkg/services/org" "github.com/grafana/grafana/pkg/services/pluginsintegration/pluginaccesscontrol" "github.com/grafana/grafana/pkg/services/serviceaccounts" ) @@ -135,7 +136,7 @@ func (s *ServiceImpl) getAdminNode(c *contextmodel.ReqContext) (*navtree.NavLink configNodes = append(configNodes, storage) } - if s.features.IsEnabled(ctx, featuremgmt.FlagOnPremToCloudMigrations) && c.SignedInUser.IsGrafanaAdmin { + if s.features.IsEnabled(ctx, featuremgmt.FlagOnPremToCloudMigrations) && c.SignedInUser.HasRole(org.RoleAdmin) { migrateToCloud := &navtree.NavLink{ Text: "Migrate to Grafana Cloud", Id: "migrate-to-cloud", diff --git a/public/app/routes/routes.tsx b/public/app/routes/routes.tsx index 1f64f907745..8ff4daa10ec 100644 --- a/public/app/routes/routes.tsx +++ b/public/app/routes/routes.tsx @@ -364,7 +364,7 @@ export function getAppRoutes(): RouteDescriptor[] { }, config.featureToggles.onPremToCloudMigrations && { path: '/admin/migrate-to-cloud', - roles: () => ['ServerAdmin'], + roles: () => ['Admin'], component: SafeDynamicImport( () => import(/* webpackChunkName: "MigrateToCloud" */ 'app/features/admin/migrate-to-cloud/MigrateToCloud') ),