diff --git a/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.test.tsx b/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.test.tsx
new file mode 100644
index 00000000000..a6c435be744
--- /dev/null
+++ b/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.test.tsx
@@ -0,0 +1,23 @@
+import { render, screen } from '@testing-library/react';
+
+import { contextSrv } from '../../../../core/services/context_srv';
+
+import { ConnectionsRedirectNotice } from './ConnectionsRedirectNotice';
+
+const setup = (hasAccessToDS: boolean) => {
+ jest.spyOn(contextSrv, 'hasPermission').mockReturnValue(hasAccessToDS);
+
+ render();
+};
+
+describe('ConnectionsRedirectNotice', () => {
+ it('should render component when has access to data sources', () => {
+ setup(true);
+ expect(screen.getByRole('link')).toBeInTheDocument();
+ });
+
+ it('should not render component when has no access to data sources', () => {
+ setup(false);
+ expect(screen.queryByRole('link')).not.toBeInTheDocument();
+ });
+});
diff --git a/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx b/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx
index c5aabc6a2f3..a27534f5baf 100644
--- a/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx
+++ b/public/app/features/connections/components/ConnectionsRedirectNotice/ConnectionsRedirectNotice.tsx
@@ -4,6 +4,8 @@ import { useState } from 'react';
import { GrafanaTheme2 } from '@grafana/data';
import { Alert, LinkButton, useStyles2 } from '@grafana/ui';
+import { contextSrv } from '../../../../core/core';
+import { AccessControlAction } from '../../../../types';
import { ROUTES } from '../../constants';
const getStyles = (theme: GrafanaTheme2) => ({
@@ -22,7 +24,10 @@ const getStyles = (theme: GrafanaTheme2) => ({
export function ConnectionsRedirectNotice() {
const styles = useStyles2(getStyles);
- const [showNotice, setShowNotice] = useState(true);
+ const canAccessDataSources =
+ contextSrv.hasPermission(AccessControlAction.DataSourcesCreate) ||
+ contextSrv.hasPermission(AccessControlAction.DataSourcesWrite);
+ const [showNotice, setShowNotice] = useState(canAccessDataSources);
return showNotice ? (
setShowNotice(false)}>