Действия и области видимости разрешений Grafana RBAC

Note

Доступно в Grafana Enterprise и Grafana Cloud.

Разрешение RBAC состоит из действия и области видимости:

  • Действие (Action): действие описывает, какие задачи пользователь может выполнять с ресурсом.
  • Область видимости (Scope): область видимости описывает, где можно выполнить действие, например чтение конкретного профиля пользователя. В этом примере разрешение связывается с областью видимости users:<userId> соответствующей роли.

Чтобы узнать больше о ресурсах Grafana, к которым можно применять RBAC, см. раздел Ресурсы с разрешениями RBAC.

Если вы используете Grafana Enterprise или Grafana Cloud, вы можете создавать пользовательские роли с определённым набором разрешений. Как это сделать, описано в разделе Создание пользовательских ролей.

Определения действий

Следующий список содержит действия управления доступом на основе ролей.

Действие Применимые области видимости Описание
alert.instances.external:read
  • datasources:*
  • datasources:uid:*
Чтение алертов и silencing’ов в источниках данных, поддерживающих алертинг.
alert.instances.external:write
  • datasources:*
  • datasources:uid:*
Управление алертами и silencing’ами в источниках данных, поддерживающих алертинг.
alert.instances:create Нет Создание silencing’ов в текущей организации.
alert.instances:read Нет Чтение алертов и silencing’ов в текущей организации.
alert.instances:write Нет Обновление и истечение срока silencing’ов в текущей организации.
alert.notifications.external:read
  • datasources:*
  • datasources:uid:*
Чтение шаблонов, точек контакта, политик уведомлений и интервалов молчания в источниках данных, поддерживающих алертинг.
alert.notifications.external:write
  • datasources:*
  • datasources:uid:*
Управление шаблонами, точками контакта, политиками уведомлений и интервалами молчания в источниках данных, поддерживающих алертинг.
alert.notifications:write Нет Устарело. Управление шаблонами, точками контакта, политиками уведомлений и интервалами молчания в текущей организации. Вместо этого используйте детализированные действия (alert.notifications.templates:write, alert.notifications.receivers:write и т. д.).
alert.notifications:read Нет Устарело. Чтение всех шаблонов, точек контакта, политик уведомлений и интервалов молчания в текущей организации. Вместо этого используйте детализированные действия (alert.notifications.templates:read, alert.notifications.receivers:read и т. д.).
alert.rules.external:read
  • datasources:*
  • datasources:uid:*
Чтение правил алертинга в источниках данных, поддерживающих алертинг (Prometheus, Mimir и Loki)
alert.rules.external:write
  • datasources:*
  • datasources:uid:*
Создание, обновление и удаление правил алертинга в источниках данных, поддерживающих алертинг (Mimir и Loki).
alert.rules:create
  • folders:*
  • folders:uid:*
Создание правил алертинга Grafana в папке и её подпапках. Комбинируйте это разрешение с folders:read в области видимости, включающей папку, и с datasources:query в области видимости источников данных, доступных пользователю для запросов.
alert.rules:delete
  • folders:*
  • folders:uid:*
Удаление правил алертинга Grafana в папке и её подпапках. Комбинируйте это разрешение с folders:read в области видимости, включающей папку.
alert.rules:read
  • folders:*
  • folders:uid:*
Чтение правил алертинга Grafana в папке и её подпапках. Комбинируйте это разрешение с folders:read в области видимости, включающей папку, и с datasources:query в области видимости источников данных, доступных пользователю для запросов.
alert.rules:write
  • folders:*
  • folders:uid:*
Обновление правил алертинга Grafana в папке и её подпапках. Комбинируйте это разрешение с folders:read в области видимости, включающей папку. Чтобы разрешить изменение запросов, добавьте datasources:query в области видимости источников данных, доступных пользователю для запросов.
alert.silences:create
  • folders:*
  • folders:uid:*
Создание silencing’ов, специфичных для правил, в папке и её подпапках.
alert.silences:read
  • folders:*
  • folders:uid:*
Чтение всех общих silencing’ов и silencing’ов, специфичных для правил, в папке и её подпапках.
alert.silences:write
  • folders:*
  • folders:uid:*
Обновление и истечение срока silencing’ов, специфичных для правил, в папке и её подпапках.
alert.provisioning:read Нет Чтение всех правил алертинга Grafana, политик уведомлений и т. д. через API провижининга. Разрешения на папки и источники данных не требуются.
alert.provisioning.secrets:read Нет То же, что и alert.provisioning:read, плюс возможность экспорта ресурсов с расшифрованными секретами.
alert.provisioning:write Нет Обновление всех правил алертинга Grafana, политик уведомлений и т. д. через API провижининга. Разрешения на папки и источники данных не требуются.
alert.provisioning.provenance:write Нет Установка статуса провижининга для ресурсов алертинга. Не может использоваться отдельно. Требует наличия у пользователя разрешений на доступ к ресурсам
annotations:create
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Создание аннотаций.
annotations:delete
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Удаление аннотаций.
annotations:read
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Чтение аннотаций и тегов аннотаций.
annotations:write
  • annotations:*
  • annotations:type:*
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Обновление аннотаций.
banners:write Нет Создание баннеров объявлений.
dashboards:create
  • folders:*
  • folders:uid:*
Создание дашбордов в одной или нескольких папках и их подпапках.
dashboards:delete
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Удаление одного или нескольких дашбордов.
dashboards.insights:read Нет Чтение данных аналитики дашбордов и просмотр индикаторов присутствия. Для просмотра аналитики также требуется dashboards:read на дашборде.
dashboards.permissions:read
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Чтение разрешений для одного или нескольких дашбордов.
dashboards.permissions:write
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Обновление разрешений для одного или нескольких дашбордов.
dashboards:read
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Чтение одного или нескольких дашбордов.
dashboards:write
  • dashboards:*
  • dashboards:uid:*
  • folders:*
  • folders:uid:*
Обновление одного или нескольких дашбордов.
dashboards.public:write
  • dashboards:*
  • dashboards:uid:*
Запись конфигурации общих дашбордов.
datasources.caching:read
  • datasources:*
  • datasources:uid:*
Чтение настроек кэширования запросов источников данных.
datasources.caching:write
  • datasources:*
  • datasources:uid:*
Обновление настроек кэширования запросов источников данных.
datasources:create Нет Создание источников данных.
datasources:delete
  • datasources:*
  • datasources:uid:*
Удаление источников данных.
datasources:explore Нет Предоставление доступа к вкладке Explore.
datasources.id:read
  • datasources:*
  • datasources:uid:*
Чтение ID источников данных.
datasources.insights:read Нет Чтение данных аналитики источников данных. Для просмотра аналитики также требуется datasources:read на источнике данных.
datasources.permissions:read
  • datasources:*
  • datasources:uid:*
Просмотр списка разрешений источников данных.
datasources.permissions:write
  • datasources:*
  • datasources:uid:*
Обновление разрешений источников данных.
datasources:query
  • datasources:*
  • datasources:uid:*
Выполнение запросов к источникам данных.
datasources:read
  • datasources:*
  • datasources:uid:*
Просмотр списка источников данных.
datasources:write
  • datasources:*
  • datasources:uid:*
Обновление источников данных.
featuremgmt.read Нет Чтение функциональных флагов.
featuremgmt.write Нет Запись функциональных флагов.
folders.permissions:read
  • folders:*
  • folders:uid:*
Чтение разрешений для одной или нескольких папок и их подпапок.
folders.permissions:write
  • folders:*
  • folders:uid:*
Обновление разрешений для одной или нескольких папок и их подпапок.
folders:create
  • folders:*
  • folders:uid:*
  • folders:uid:general
Создание папок или подпапок. Если выдано с областью видимости folders:uid:general, позволяет создавать папки на корневом уровне. В остальном позволяет создавать подпапки внутри указанных папок.
folders:delete
  • folders:*
  • folders:uid:*
Удаление одной или нескольких папок и их подпапок.
folders:read
  • folders:*
  • folders:uid:*
Чтение одной или нескольких папок и их подпапок.
folders:write
  • folders:*
  • folders:uid:*
Обновление одной или нескольких папок и их подпапок.
ldap.config:reload Нет Перезагрузка конфигурации LDAP.
ldap.status:read Нет Проверка доступности сервера или серверов LDAP.
ldap.user:read Нет Чтение пользователей через LDAP.
ldap.user:sync Нет Синхронизация пользователей через LDAP.
library.panels:create
  • folders:*
  • folders:uid:*
Создание панели библиотеки в одной или нескольких папках и их подпапках.
library.panels:read
  • folders:*
  • folders:uid:*
  • library.panels:*
  • library.panels:uid:*
Чтение одной или нескольких панелей библиотеки.
library.panels:write
  • folders:*
  • folders:uid:*
  • library.panels:*
  • library.panels:uid:*
Обновление одной или нескольких панелей библиотеки.
library.panels:delete
  • folders:*
  • folders:uid:*
  • library.panels:*
  • library.panels:uid:*
Удаление одной или нескольких панелей библиотеки.
licensing.reports:read Нет Получение пользовательских отчётов о разрешениях.
licensing:delete Нет Удаление лицензионного токена.
licensing:read Нет Чтение информации о лицензировании.
licensing:write Нет Обновление лицензионного токена.
migrationassistant:migrate Нет Выполнение миграций с on-prem на cloud через Migration Assistant.
org.users:write
  • users:*
  • users:id:*
Обновление роли пользователя в организации (None, Viewer, Editor или Admin).
org.users:add
  • users:*
  • users:id:*
Добавление пользователя в организацию или приглашение нового пользователя в организацию.
org.users:read
  • users:*
  • users:id:*
Получение профилей пользователей внутри организации.
org.users:remove
  • users:*
  • users:id:*
Удаление пользователя из организации.
orgs.preferences:read Нет Чтение настроек организации.
orgs.preferences:write Нет Обновление настроек организации.
orgs.quotas:read Нет Чтение квот организации.
orgs.quotas:write Нет Обновление квот организации.
orgs:create Нет Создание организации.
orgs:delete Нет Удаление одной или нескольких организаций.
orgs:read Нет Чтение одной или нескольких организаций.
orgs:write Нет Обновление одной или нескольких организаций.
plugins.app:access
  • plugins:*
  • plugins:id:*
Доступ к одному или нескольким плагинам приложений (при этом роль в организации всё равно применяется)
plugins:install Нет Установка и удаление плагинов.
plugins:write
  • plugins:*
  • plugins:id:*
Редактирование настроек одного или нескольких плагинов.
provisioning:reload provisioners:* Перезагрузка файлов провижининга. Чтобы найти точную область видимости для конкретного провайдера провижининга, см. раздел Определения областей видимости.
reports:create Нет Создание отчётов.
reports:write
  • reports:*
  • reports:id:*
Обновление отчётов.
reports.settings:read Нет Чтение настроек отчётов.
reports.settings:write Нет Обновление настроек отчётов.
reports:delete
  • reports:*
  • reports:id:*
Удаление отчётов.
reports:read
  • reports:*
  • reports:id:*
Просмотр списка всех доступных отчётов или получение конкретного отчёта.
reports:send
  • reports:*
  • reports:id:*
Отправка письма с отчётом.
roles:delete
  • permissions:type:delegate
    Удаление пользовательской роли.
    roles:read
    • roles:*
    • roles:uid:*
    Просмотр списка ролей и чтение конкретной роли с её разрешениями.
    roles:write
    • permissions:type:delegate
      Создание или обновление пользовательской роли.
      roles:write
      • permissions:type:escalate
        Сброс базовых ролей к разрешениям по умолчанию.
        secret.securevalues:create
        • secret.securevalues:*
        Создание защищённых значений.
        secret.securevalues:read
        • secret.securevalues:*
        Чтение и просмотр списка защищённых значений.
        secret.securevalues:write
        • secret.securevalues:*
        Обновление защищённых значений.
        secret.securevalues:delete
        • secret.securevalues:*
        Удаление защищённых значений.
        server.stats:read Нет Чтение статистики инстанса Grafana.
        server.usagestats.report:read Нет Просмотр отчёта о статистике использования.
        serviceaccounts:write
        • serviceaccounts:*
          Создание сервисных аккаунтов Grafana.
          serviceaccounts:create Нет Обновление сервисных аккаунтов Grafana.
          serviceaccounts:delete
          • serviceaccounts:*
          • serviceaccounts:id:*
          Удаление сервисных аккаунтов Grafana.
          serviceaccounts:read
          • serviceaccounts:*
          • serviceaccounts:id:*
          Чтение сервисных аккаунтов Grafana.
          serviceaccounts.permissions:write
          • serviceaccounts:*
          • serviceaccounts:id:*
          Обновление разрешений сервисного аккаунта Grafana для управления тем, кто и что может делать с сервисным аккаунтом.
          serviceaccounts.permissions:read
          • serviceaccounts:*
          • serviceaccounts:id:*
          Чтение разрешений сервисного аккаунта Grafana, чтобы видеть, кто и что может делать с сервисным аккаунтом.
          settings:read
          • settings:*
          • settings:auth.saml:*
          • settings:auth.saml:enabled
          (на уровне свойства)
          Чтение настроек конфигурации Grafana
          settings:write
          • settings:*
          • settings:auth.saml:*
          • settings:auth.saml:enabled
          (на уровне свойства)
          Обновление любых настроек конфигурации Grafana, которые можно обновлять во время работы.
          support.bundles:create Нет Создание пакетов поддержки.
          support.bundles:delete Нет Удаление пакетов поддержки.
          support.bundles:read Нет Просмотр списка и загрузка пакетов поддержки.
          snapshots:create Нет Создание снимков (snapshots).
          snapshots:delete Нет Удаление снимков (snapshots).
          snapshots:read Нет Просмотр списка снимков (snapshots).
          status:accesscontrol
          • services:accesscontrol
            Получение статуса включения контроля доступа.
            teams.permissions:read
            • teams:*
            • teams:id:*
            Чтение участников и настроек Team Sync для команд.
            teams.permissions:write
            • teams:*
            • teams:id:*
            Добавление, удаление и обновление участников, а также управление настройкой Team Sync для команд.
            teams.roles:add
            • permissions:type:delegate
              Назначение роли команде.
              teams.roles:read
              • teams:*
              • teams:id:*
              Просмотр списка ролей, назначенных команде напрямую.
              teams.roles:remove
              • permissions:type:delegate
                Снятие роли с команды.
                teams:create Нет Создание команд.
                teams:delete
                • teams:*
                • teams:id:*
                Удаление одной или нескольких команд.
                teams:read
                • teams:*
                • teams:id:*
                Чтение одной или нескольких команд и их настроек. Чтобы просмотреть список команд через интерфейс, дополнительно к teams:read требуется одно из следующих разрешений: teams:write, teams.permissions:read или teams.permissions:write.
                teams:write
                • teams:*
                • teams:id:*
                Обновление одной или нескольких команд и их настроек.
                users.authtoken:read
                • global.users:*
                • global.users:id:*
                Просмотр списка токенов аутентификации, назначенных пользователю.
                users.authtoken:write
                • global.users:*
                • global.users:id:*
                Обновление токенов аутентификации, назначенных пользователю.
                users.password:write
                • global.users:*
                • global.users:id:*
                Обновление пароля пользователя.
                users.permissions:read
                • users:*
                  Просмотр списка разрешений пользователя.
                  users.permissions:write
                  • global.users:*
                  • global.users:id:*
                  Обновление разрешений пользователя на уровне организации.
                  users.quotas:read
                  • global.users:*
                  • global.users:id:*
                  Просмотр квот пользователя.
                  users.quotas:write
                  • global.users:*
                  • global.users:id:*
                  Обновление квот пользователя.
                  users.roles:add
                  • permissions:type:delegate
                    Назначение роли пользователю или сервисному аккаунту.
                    users.roles:read
                    • users:*
                      Просмотр списка ролей, назначенных пользователю или сервисному аккаунту напрямую.
                      users.roles:remove
                      • permissions:type:delegate
                        Снятие роли с пользователя или сервисного аккаунта.
                        users:create Нет Создание пользователя.
                        users:delete
                        • global.users:*
                        • global.users:id:*
                        Удаление пользователя.
                        users:disable
                        • global.users:*
                        • global.users:id:*
                        Отключение пользователя.
                        users:enable
                        • global.users:*
                        • global.users:id:*
                        Включение пользователя.
                        users:logout
                        • global.users:*
                        • global.users:id:*
                        Выход пользователя из системы.
                        users:read
                        • global.users:*
                          Чтение или поиск профилей пользователей.
                          users:write
                          • global.users:*
                          • global.users:id:*
                          Обновление профиля пользователя.

                          Определения действий для уведомлений Grafana Alerting

                          Действие Применимые области видимости Описание
                          alert.notifications.receivers:read receivers:*
                          receivers:uid:*
                          Чтение точек контакта.
                          alert.notifications.receivers.secrets:read receivers:*
                          receivers:uid:*
                          Экспорт точек контакта с расшифрованными секретами.
                          alert.notifications.receivers:create Нет Создание новой точки контакта. Создателю автоматически предоставляется полный доступ к созданной точке контакта.
                          alert.notifications.receivers:write receivers:*
                          receivers:uid:*
                          Обновление существующих точек контакта.
                          alert.notifications.receivers.protected:write receivers:*
                          receivers:uid:*
                          Обновление защищённых полей в точках контакта (например, целевых URL для интеграций). Эта область видимости применима только к Grafana Cloud.
                          alert.notifications.receivers:delete receivers:*
                          receivers:uid:*
                          Обновление и удаление существующих точек контакта.
                          alert.notifications.receivers:test Нет Тестирование уведомления точки контакта. Устарело. Используйте “alert.notifications.receivers.test:create”
                          alert.notifications.receivers.test:create receivers:*
                          receivers:uid:*
                          receivers:uid:-
                          Тестирование точек контакта для проверки их конфигурации. Используйте область видимости receivers:uid:-, чтобы предоставить разрешение на тестирование новых интеграций
                          receivers.permissions:read receivers:*
                          receivers:uid:*
                          Чтение разрешений для точек контакта.
                          receivers.permissions:write receivers:*
                          receivers:uid:*
                          Управление разрешениями для точек контакта.
                          alert.notifications.time-intervals:read Нет Чтение интервалов молчания.
                          alert.notifications.time-intervals:write Нет Создание новых или обновление существующих интервалов молчания.
                          alert.notifications.time-intervals:delete Нет Удаление существующих интервалов времени.
                          alert.notifications.templates:read Нет Чтение шаблонов.
                          alert.notifications.templates:write Нет Создание новых или обновление существующих шаблонов.
                          alert.notifications.templates:delete Нет Удаление существующих шаблонов.
                          alert.notifications.templates.test:write Нет Тестирование шаблонов с пользовательскими полезными нагрузками (функциональность предпросмотра и редактора полезной нагрузки).
                          alert.notifications.routes:read Нет Устарело. Чтение политик уведомлений. Вместо этого используйте notifications.alerting.grafana.app/routingtrees:get с подходящей областью видимости.
                          alert.notifications.routes:write Нет Устарело. Создание, обновление или удаление политик уведомлений. Вместо этого используйте notifications.alerting.grafana.app/routingtrees:update и notifications.alerting.grafana.app/routingtrees:delete с подходящей областью видимости.

                          Определения областей видимости

                          Следующий список содержит области видимости управления доступом на основе ролей.

                          Области видимости Описания
                          • annotations:*
                          • annotations:type:*
                          Ограничивает действие набором аннотаций. Например, annotations:* соответствует любой аннотации, а annotations:type:organization — аннотациям организации.
                          • dashboards:*
                          • dashboards:uid:*
                          Ограничивает действие набором дашбордов. Например, dashboards:* соответствует любому дашборду, а dashboards:uid:1 — дашборду с UID 1.
                          • datasources:*
                          • datasources:uid:*
                          Ограничивает действие набором источников данных. Например, datasources:* соответствует любому источнику данных, а datasources:uid:1 — источнику данных с UID 1.
                          • folders:*
                          • folders:uid:*
                          Ограничивает действие набором папок. Например, folders:* соответствует любой папке, а folders:uid:1 — папке с UID 1. Учтите, что разрешения, выданные на папку, каскадно распространяются на подпапки, расположенные под ней.
                          • global.users:*
                          • global.users:id:*
                          Ограничивает действие набором глобальных пользователей. Например, global.users:* соответствует любому пользователю, а global.users:id:1 — пользователю с ID 1.
                          • library.panels:*
                          • library.panels:uid:*
                          Ограничивает действие набором панелей библиотеки. Например, library.panels:* соответствует любой панели библиотеки, а library.panel:uid:1 — панели библиотеки с UID 1.
                          • orgs:*
                          • orgs:id:*
                          Ограничивает действие набором организаций. Например, orgs:* соответствует любой организации, а orgs:id:1 — организации с ID 1.
                          • permissions:type:delegate
                            Область видимости применима только к ролям, связанным с самим контролем доступа, и указывает, что вы можете делегировать только свои разрешения или их подмножество, создавая новую роль или делая назначение.
                            • permissions:type:escalate
                              Область видимости требуется для запуска сброса разрешений базовых ролей. Она указывает, что пользователи могут получить дополнительные разрешения, которых у них ранее не было.
                              • plugins:*
                              • plugins:id:*
                              Ограничивает действие набором плагинов. Например, plugins:id:grafana-oncall-app соответствует плагину Grafana OnCall, а plugins:* — всем плагинам.
                              • provisioners:*
                                Ограничивает действие набором провайдеров провижининга. Например, provisioners:* соответствует любому провайдеру провижининга, а provisioners:accesscontrol — провайдеру управления доступом на основе ролей.
                                • reports:*
                                • reports:id:*
                                Ограничивает действие набором отчётов. Например, reports:* соответствует любому отчёту, а reports:id:1 — отчёту с ID 1.
                                • roles:*
                                • roles:uid:*
                                Ограничивает действие набором ролей. Например, roles:* соответствует любой роли, а roles:uid:randomuid — только роли с UID randomuid.
                                • services:accesscontrol
                                  Ограничивает действие так, чтобы оно было нацелено только на службу управления доступом на основе ролей. Можно использовать вместе с действиями status:accesscontrol.
                                  • serviceaccounts:*
                                  • serviceaccounts:id:*
                                  Ограничивает действие набором сервисных аккаунтов из организации. Например, serviceaccounts:* соответствует любому сервисному аккаунту, а serviceaccount:id:1 — сервисному аккаунту с ID 1.
                                  • settings:*
                                    Ограничивает действие подмножеством настроек. Например, settings:* соответствует всем настройкам, settings:auth.saml:* — всем настройкам SAML, а settings:auth.saml:enabled — свойству включения в настройках SAML.
                                    • teams:*
                                    • teams:id:*
                                    Ограничивает действие набором команд из организации. Например, teams:* соответствует любой команде, а teams:id:1 — команде с ID 1.
                                    • users:*
                                    • users:id:*
                                    Ограничивает действие набором пользователей из организации. Например, users:* соответствует любому пользователю, а users:id:1 — пользователю с ID 1.
                                    • None
                                      Если для действия указано значение scope “None”, то действие не требует области видимости. Например, действие teams:create не требует области видимости и позволяет пользователям создавать команды.

                                      Обнаружение действий плагинов

                                      В таблице определений действий выше перечислены действия для основных возможностей Grafana. Плагины приложений могут определять собственные действия, которые следуют шаблону <plugin-id>.<resource>:<operation>.

                                      Чтобы узнать, какие действия поддерживает плагин, запросите существующую роль, обладающую разрешениями плагина. Например, чтобы увидеть, какие действия доступны для плагина, можно запросить базовую роль Admin:

                                      Bash
                                      curl -X GET "https://your-grafana-instance/api/access-control/roles/basic_admin" \
                                        -H "Authorization: Bearer <your-service-account-token>"

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

                                      Централизованный справочник ролей плагинов и их разрешений по умолчанию см. в разделе Определения ролей плагинов приложений Grafana Cloud.