diff --git a/public/app/features/datasources/state/navModel.ts b/public/app/features/datasources/state/navModel.ts index 3b153768a4e..9a037c74119 100644 --- a/public/app/features/datasources/state/navModel.ts +++ b/public/app/features/datasources/state/navModel.ts @@ -121,7 +121,9 @@ export function buildNavModel(dataSource: DataSourceSettings, plugin: GenericDat } if (featureEnabled('caching')) { - navModel.children!.push(caching); + if (contextSrv.hasPermissionInMetadata(AccessControlAction.DataSourcesCachingRead, dataSource)) { + navModel.children!.push(caching); + } } else if (highlightsEnabled && !isLoadingNav) { navModel.children!.push({ ...caching, diff --git a/public/app/types/accessControl.ts b/public/app/types/accessControl.ts index a1ae94eeb4c..793a42c7907 100644 --- a/public/app/types/accessControl.ts +++ b/public/app/types/accessControl.ts @@ -50,6 +50,7 @@ export enum AccessControlAction { DataSourcesWrite = 'datasources:write', DataSourcesDelete = 'datasources:delete', DataSourcesPermissionsRead = 'datasources.permissions:read', + DataSourcesCachingRead = 'datasources.caching:read', DataSourcesInsightsRead = 'datasources.insights:read', ActionServerStatsRead = 'server.stats:read',