Управление доступом с помощью ролей

В Grafana Enterprise и Grafana Cloud есть базовые (Basic), фиксированные (Fixed) и пользовательские (Custom) роли.

Базовые роли

Существует четыре базовые роли: Admin, Editor, Viewer и None. Каждая базовая роль содержит ряд фиксированных ролей.

Детали базовых ролей и предоставляемого ими доступа для Grafana Alerting приведены ниже.

Роль Доступ
Admin Доступ на запись к правилам оповещений, ресурсам уведомлений (API уведомлений, точки контакта, шаблоны, временные интервалы, политики уведомлений и silences), обогащениям оповещений и провижинингу.
Editor Доступ на запись к правилам оповещений, ресурсам уведомлений (API уведомлений, точки контакта, шаблоны, временные интервалы, политики уведомлений и silences), обогащениям оповещений и провижинингу.
Viewer Доступ на чтение к правилам оповещений, ресурсам уведомлений (API уведомлений, точки контакта, шаблоны, временные интервалы, политики уведомлений и silences) и обогащениям оповещений.
No basic role Чистый холст для назначения фиксированных или пользовательских ролей и более точной настройки разрешений. Например, если вы хотите дать пользователю возможность видеть правила оповещений, но не настройки уведомлений, добавьте No basic role, а затем фиксированную роль Rules reader.

Фиксированные роли

Фиксированная роль — это группа из нескольких разрешений.

Фиксированные роли предоставляют пользователям более детальный доступ для создания, просмотра и обновления ресурсов Alerting, чем вы имели бы только с базовыми ролями.

Детали фиксированных ролей и предоставляемого ими доступа для Grafana Alerting приведены ниже.

Отображаемое имя в UI / Фиксированная роль Разрешения Описание
Silences Writer: fixed:alerting.instances:writer Все разрешения из fixed:alerting.instances:reader и
alert.instances:create
alert.instances:write для области организации
alert.instances.external:write для области datasources:*
Добавление и обновление silences в Grafana и внешних провайдерах.
Instances and Silences Reader: fixed:alerting.instances:reader alert.instances:read для области организации
alert.instances.external:read для области datasources:*
Чтение экземпляров оповещений и silences в Grafana и внешних провайдерах.
Notifications Writer: fixed:alerting.notifications:writer Все разрешения из fixed:alerting.notifications:reader,
fixed:alerting.receivers:writer,
fixed:alerting.templates:writer,
fixed:alerting.time-intervals:writer,
fixed:alerting.routes:writer,
fixed:alerting.inhibition-rules:writer,
fixed:alerting.notifications.external:writer
Добавление, обновление и удаление политик уведомлений и точек контакта в Grafana и внешних провайдерах.
Notifications Reader: fixed:alerting.notifications:reader Все разрешения из fixed:alerting.receivers:reader,
fixed:alerting.templates:reader,
fixed:alerting.time-intervals:reader,
fixed:alerting.routes:reader,
fixed:alerting.inhibition-rules:reader,
fixed:alerting.notifications.external:reader
Чтение политик уведомлений и точек контакта в Grafana и внешних провайдерах.
Rules Writer: fixed:alerting.rules:writer Все разрешения из fixed:alerting.rules:reader и
alert.rule:create
alert.rule:write
alert.rule:delete
alert.silences:create
alert.silences:write для области folders:*
alert.rules.external:write для области datasources:*
Создание, обновление и удаление всех правил оповещений и управление silences для конкретных правил.
Rules Reader: fixed:alerting.rules:reader alert.rule:read, alert.silences:read для области folders:*
alert.rules.external:read для области datasources:*
alert.notifications.time-intervals:read
alert.notifications.receivers:list
Чтение всех правил оповещений и silences для конкретных правил в Grafana и внешних провайдерах.
Full access: fixed:alerting:writer Все разрешения из fixed:alerting.rules:writer
fixed:alerting.instances:writer
fixed:alerting.notifications:writer
Добавление, обновление и удаление правил оповещений, silences, точек контакта и политик уведомлений в Grafana и внешних провайдерах.
Full read-only access: fixed:alerting:reader Все разрешения из fixed:alerting.rules:reader
fixed:alerting.instances:reader
fixed:alerting.notifications:reader
Чтение правил оповещений, экземпляров оповещений, silences, точек контакта и политик уведомлений в Grafana и внешних провайдерах.
Read via Provisioning API + Export Secrets: fixed:alerting.provisioning.secrets:reader alert.provisioning:read и alert.provisioning.secrets:read Чтение правил оповещений, экземпляров оповещений, silences, точек контакта и политик уведомлений с помощью API провижининга и использование экспорта с расшифрованными секретами.
Access to alert rules provisioning API: fixed:alerting.provisioning:writer alert.provisioning:read и alert.provisioning:write Управление всеми правилами оповещений, политиками уведомлений, точками контакта, шаблонами в организации с помощью API провижининга.
Set provisioning status: fixed:alerting.provisioning.provenance:writer alert.provisioning.provenance:write Установка правил провижининга для ресурсов Alerting. Следует использовать вместе с другими обычными ролями (Notifications Writer и/или Rules Writer.)
Contact Point Reader: fixed:alerting.receivers:reader alert.notifications.receivers:read для области receivers:* Чтение всех точек контакта.
Contact Point Creator: fixed:alerting.receivers:creator alert.notifications.receivers:create
alert.notifications.receivers.test:create для области receivers:uid:-
Создание новой точки контакта. Пользователю автоматически предоставляется полный доступ к созданной точке контакта.
Contact Point Writer: fixed:alerting.receivers:writer Все разрешения из fixed:alerting.receivers:creator
alert.notifications.receivers:read, alert.notifications.receivers:write, alert.notifications.receivers:delete и alert.notifications.receivers.test:create для области receivers:*
Создание новой точки контакта и управление всеми существующими точками контакта.
Templates Reader: fixed:alerting.templates:reader alert.notifications.templates:read Чтение всех шаблонов уведомлений.
Templates Writer: fixed:alerting.templates:writer alert.notifications.templates:read, alert.notifications.templates:write, alert.notifications.templates:delete, alert.notifications.templates.test:write Создание новых и управление существующими шаблонами уведомлений. Тестирование шаблонов с пользовательскими полезными нагрузками.
Time Intervals Reader: fixed:alerting.time-intervals:reader alert.notifications.time-intervals:read Чтение всех временных интервалов.
Time Intervals Writer: fixed:alerting.time-intervals:writer alert.notifications.time-intervals:read, alert.notifications.time-intervals:write, alert.notifications.time-intervals:delete Создание новых и управление существующими временными интервалами.
Notification Policies Reader: fixed:alerting.routes:reader notifications.alerting.grafana.app/routingtrees:get для области notifications.alerting.grafana.app/routingtrees:* Чтение всех политик уведомлений.
Notification Policies Writer: fixed:alerting.routes:writer Все разрешения из fixed:alerting.routes:reader и
notifications.alerting.grafana.app/routingtrees:create и
notifications.alerting.grafana.app/routingtrees:update, notifications.alerting.grafana.app/routingtrees:delete для области notifications.alerting.grafana.app/routingtrees:*
Создание новых и управление существующими политиками уведомлений.
Inhibition Rules Reader: fixed:alerting.inhibition-rules:reader alert.notifications.inhibition-rules:read для области inhibition-rules:* Чтение всех правил ингибирования.
Inhibition Rules Writer: fixed:alerting.inhibition-rules:writer Все разрешения из fixed:alerting.inhibition-rules:reader и
alert.notifications.inhibition-rules:write, alert.notifications.inhibition-rules:delete для области inhibition-rules:*
Создание, обновление и удаление всех правил ингибирования.
Full admin access: fixed:alerting:admin Все разрешения из fixed:alerting:writer и
alert.notifications.receivers.permissions:read, alert.notifications.receivers.permissions:write, alert.notifications.receivers:readSecrets, alert.notifications.receivers:updateProtected для области receivers:*
Полный доступ на запись в Grafana и всех внешних провайдерах, включая их разрешения, защищённые поля и секреты.
Enrichments Reader: fixed:alerting.enrichments:reader alert.enrichments:read Чтение конфигураций обогащения оповещений для конкретных правил. Обогащение оповещений — функция Grafana Cloud; глобальные настройки обогащения требуют базовой роли Admin.
Enrichments Writer: fixed:alerting.enrichments:writer alert.enrichments:read
alert.enrichments:write
Создание и управление конфигурациями обогащения оповещений для конкретных правил. Обогащение оповещений — функция Grafana Cloud; глобальные настройки обогащения требуют базовой роли Admin.
External Notifications Reader: fixed:alerting.notifications.external:reader alert.notifications.external:read для области datasources:* Чтение политик уведомлений и точек контакта во внешних провайдерах.
External Notifications Writer: fixed:alerting.notifications.external:writer Все разрешения из fixed:alerting.notifications.external:reader и
alert.notifications.external:write для области datasources:*
Добавление, обновление и удаление точек контакта и политик уведомлений во внешних провайдерах.

Создание пользовательских ролей

Создавайте свои собственные пользовательские роли для управления разрешениями. Пользовательские роли содержат уникальные комбинации разрешений, действий и областей действия. Создайте пользовательскую роль, когда базовые и фиксированные роли не соответствуют вашим требованиям к разрешениям.

Дополнительные сведения о создании пользовательских ролей см. в разделе Создание пользовательских ролей.

Note

Не рекомендуется создавать пользовательские роли, включающие действия alerting.notifications.receiver с областью действия, отличной от receivers:*. UID, используемый в области действия, нестабилен и меняется каждый раз при переименовании точки контакта.

Примеры

Следующие примеры дают представление о том, как можно комбинировать разрешения для Grafana Alerting.

Пользовательская роль для доступа на чтение к правилам оповещений в папке F:

PUT access-control/roles
{
	"name": "custom:alert_rules_reader",
	"displayName": "Alert rule reader in folder F",
	"description": "Read access to rules in folder F that use DS1 and DS2",
	"permissions": [
    	{
        	"action": "alert.rules:read",
        	"scope": "folders:uid:UID_F"
    	},
    	{
        	"action": "folders:read",
        	"scope": "folders:uid:UID_F"
    	}
	]
}

Пользовательская роль для доступа на запись к правилам оповещений, использующая упрощённую маршрутизацию:

PUT access-control/roles
{
	"name": "custom:alert_rules_updater",
	"displayName": "Alert rules editor in folder F",
	"description": "Edit access to rules in folder F that use DS1 and DS2",
	"permissions": [
    	{
        	"action": "alert.rules:read",
        	"scope": "folders:uid:UID_F"
    	},
    	{
        	"action": "alert.rules:read",
        	"scope": "folders:uid:UID_F"
    	},
    	{
        	"action": "alert.rules:write",
        	"scope": "folders:uid:UID_F"
    	},
    	{
        	"action": "alert.rules:create",
        	"scope": "folders:uid:UID_F"
    	},
    	{
        	"action": "alert.notifications.receivers:list",
    	},
{
        	"action": "alert.notifications.time-intervals:read",
    	},
	]
}

Note

Удалите последние два разрешения, если вы не используете упрощённую маршрутизацию уведомлений.

Назначение ролей

Чтобы назначить роли, выполните следующие шаги.

  1. Перейдите в Administration > Users and access > Users, Teams, or Service Accounts.
  2. Найдите пользователя, команду или сервисную учётную запись, для которой хотите добавить роль.
  3. Выберите роль, которую хотите назначить.