SupportBundles: Access control guards (#61914)

* rename routes and fix access control for support bundles

* AccessControl: Hide menu if not authorized

* AccessControl: Add AC guards for create and delete

* lint
This commit is contained in:
Jo
2023-01-23 16:23:20 +00:00
committed by GitHub
parent c5610450b2
commit 1037ef28a9
14 changed files with 55 additions and 20 deletions

View File

@@ -4,6 +4,7 @@ import { locationUtil, NavModelItem, NavSection } from '@grafana/data';
import { config, reportInteraction } from '@grafana/runtime';
import { t } from 'app/core/internationalization';
import { contextSrv } from 'app/core/services/context_srv';
import { AccessControlAction } from 'app/types';
import { ShowModalReactEvent } from '../../../types/events';
import appEvents from '../../app_events';
@@ -79,7 +80,11 @@ export const enrichConfigItems = (items: NavModelItem[], location: Location<unkn
};
export let getSupportBundleFooterLinks = (cfg = config): FooterLink[] => {
if (!cfg.featureToggles.supportBundles) {
const hasAccess =
contextSrv.hasAccess(AccessControlAction.ActionSupportBundlesCreate, contextSrv.isGrafanaAdmin) ||
contextSrv.hasAccess(AccessControlAction.ActionSupportBundlesRead, contextSrv.isGrafanaAdmin);
if (!cfg.supportBundlesEnabled || !hasAccess) {
return [];
}
@@ -89,7 +94,7 @@ export let getSupportBundleFooterLinks = (cfg = config): FooterLink[] => {
id: 'support-bundle',
text: t('nav.help/support-bundle', 'Support Bundles'),
icon: 'question-circle',
url: '/admin/support-bundles',
url: '/support-bundles',
},
];
};