From 689f51599a31c5f25712232c04d2f64cca3579f3 Mon Sep 17 00:00:00 2001 From: Gabriel MABILLE Date: Fri, 20 May 2022 08:53:28 +0200 Subject: [PATCH] AccessControl: Use `RBACBuiltInRoleAssignmentEnabled` in the frontend instead of FeatureToggle (#49261) * AccessControl: Frontend changes to basic role enablement --- packages/grafana-data/src/types/config.ts | 1 + packages/grafana-runtime/src/config.ts | 1 + pkg/api/frontendsettings.go | 1 + public/app/core/services/context_srv.ts | 4 ++-- public/app/features/serviceaccounts/state/actions.ts | 2 +- public/app/features/users/UsersTable.tsx | 2 +- 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/grafana-data/src/types/config.ts b/packages/grafana-data/src/types/config.ts index 404b7e791a9..80e0a523ac6 100644 --- a/packages/grafana-data/src/types/config.ts +++ b/packages/grafana-data/src/types/config.ts @@ -163,6 +163,7 @@ export interface GrafanaConfig { verifyEmailEnabled: boolean; oauth: OAuthSettings; rbacEnabled: boolean; + rbacBuiltInRoleAssignmentEnabled: boolean; disableUserSignUp: boolean; loginHint: string; passwordHint: string; diff --git a/packages/grafana-runtime/src/config.ts b/packages/grafana-runtime/src/config.ts index 76ed6241509..76c1b579079 100644 --- a/packages/grafana-runtime/src/config.ts +++ b/packages/grafana-runtime/src/config.ts @@ -58,6 +58,7 @@ export class GrafanaBootConfig implements GrafanaConfig { verifyEmailEnabled = false; oauth: OAuthSettings = {}; rbacEnabled = true; + rbacBuiltInRoleAssignmentEnabled = false; disableUserSignUp = false; loginHint = ''; passwordHint = ''; diff --git a/pkg/api/frontendsettings.go b/pkg/api/frontendsettings.go index 0b949f4e00d..6bf1a6b89ad 100644 --- a/pkg/api/frontendsettings.go +++ b/pkg/api/frontendsettings.go @@ -106,6 +106,7 @@ func (hs *HTTPServer) getFrontendSettingsMap(c *models.ReqContext) (map[string]i "verifyEmailEnabled": setting.VerifyEmailEnabled, "sigV4AuthEnabled": setting.SigV4AuthEnabled, "rbacEnabled": hs.Cfg.RBACEnabled, + "rbacBuiltInRoleAssignmentEnabled": hs.Cfg.RBACBuiltInRoleAssignmentEnabled, "exploreEnabled": setting.ExploreEnabled, "helpEnabled": setting.HelpEnabled, "profileEnabled": setting.ProfileEnabled, diff --git a/public/app/core/services/context_srv.ts b/public/app/core/services/context_srv.ts index 3d073b5457a..842d1de3f20 100644 --- a/public/app/core/services/context_srv.ts +++ b/public/app/core/services/context_srv.ts @@ -112,8 +112,8 @@ export class ContextSrv { return config.rbacEnabled; } - accessControlBuiltinRefactorEnabled(): boolean { - return Boolean(config.featureToggles['accesscontrol-builtins']); + accessControlBuiltInRoleAssignmentEnabled(): boolean { + return config.rbacBuiltInRoleAssignmentEnabled; } licensedAccessControlEnabled(): boolean { diff --git a/public/app/features/serviceaccounts/state/actions.ts b/public/app/features/serviceaccounts/state/actions.ts index 6626edad0cc..ca2fe258506 100644 --- a/public/app/features/serviceaccounts/state/actions.ts +++ b/public/app/features/serviceaccounts/state/actions.ts @@ -32,7 +32,7 @@ export function fetchACOptions(): ThunkResult { dispatch(acOptionsLoaded(options)); } if ( - !contextSrv.accessControlBuiltinRefactorEnabled() && + contextSrv.accessControlBuiltInRoleAssignmentEnabled() && contextSrv.licensedAccessControlEnabled() && contextSrv.hasPermission(AccessControlAction.ActionBuiltinRolesList) ) { diff --git a/public/app/features/users/UsersTable.tsx b/public/app/features/users/UsersTable.tsx index 054e0402f77..a31a0229f7f 100644 --- a/public/app/features/users/UsersTable.tsx +++ b/public/app/features/users/UsersTable.tsx @@ -31,7 +31,7 @@ const UsersTable: FC = (props) => { } if ( - !contextSrv.accessControlBuiltinRefactorEnabled() && + contextSrv.accessControlBuiltInRoleAssignmentEnabled() && contextSrv.hasPermission(AccessControlAction.ActionBuiltinRolesList) ) { const builtInRoles = await fetchBuiltinRoles(orgId);