Управление доступом к папкам

Папки — основной способ организации ресурсов в Grafana и управления доступом к ним. Когда вы назначаете разрешения на папку, эти разрешения применяются ко всем ресурсам внутри папки, включая дашборды, правила алертов, SLO и многое другое.

На этой странице объясняется, как работают разрешения на папки и как эффективно использовать их для управления доступом команд и пользователей.

Прежде чем начать

  • Чтобы управлять разрешениями на папку, вам нужны права Admin на эту папку
  • Чтобы создавать папки, вам нужна роль Folder Creator или соответствующие разрешения организации
  • Разрешения на папки доступны во всех редакциях Grafana (OSS, Enterprise и Cloud)

Caution

Ограничения папок:

  • Папки могут быть вложены не более чем на 4 уровня
  • Имена папок не могут содержать знаки подчёркивания (_) или знаки процента (%)

Разрешения по умолчанию для новых папок

То, как создана папка, определяет её начальные разрешения:

  • Папки, созданные в UI, автоматически получают: роль Admin получает разрешение Admin, роль Editor — Edit, роль Viewer — View
  • Папки, созданные как код (Terraform, API, провижининг), имеют только разрешения, явно заданные в конфигурации, плюс роль Admin по умолчанию получает разрешение Admin

Как работают разрешения на папки

Разрешения на папки следуют простому принципу: действительный доступ пользователя к ресурсу определяется его уровнем разрешений на папку.

Когда вы предоставляете пользователю или команде разрешение на папку:

  • Разрешение применяется к самой папке
  • Разрешение распространяется на все вложенные папки
  • Разрешение применяется ко всем ресурсам в этих папках (дашборды, правила алертов и т. д.)

Уровни разрешений

Папки поддерживают три уровня разрешений. Каждый уровень включает все возможности уровней ниже.

Разрешение Возможности в папке Возможности в ресурсах
View Просмотр папки и навигация по её содержимому Просмотр дашбордов, чтение правил алертов, чтение периодов молчания, чтение аннотаций, чтение библиотечных панелей
Edit Создание вложенных папок, изменение свойств папки, удаление папки Создание и редактирование дашбордов, создание и запись правил алертов, создание и запись периодов молчания, создание и запись аннотаций, создание библиотечных панелей и управление ими
Admin Управление разрешениями на папку Все возможности Edit плюс управление разрешениями на дашборды

Подробная разбивка по действиям

Разрешение View предоставляет:

  • folders:read — просмотр папки в навигации
  • dashboards:read — просмотр дашбордов в папке
  • alert.rules:read — просмотр правил алертов в папке
  • alert.silences:read — просмотр периодов молчания алертов
  • annotations:read — просмотр аннотаций
  • library.panels:read — просмотр библиотечных панелей

Разрешение Edit предоставляет (в дополнение к View):

  • folders:write — изменение имени и свойств папки
  • folders:delete — удаление папки
  • folders:create — создание вложенных папок
  • dashboards:create — создание новых дашбордов
  • dashboards:write — редактирование существующих дашбордов
  • dashboards:delete — удаление дашбордов
  • alert.rules:create — создание новых правил алертов
  • alert.rules:write — редактирование правил алертов
  • alert.rules:delete — удаление правил алертов
  • alert.silences:create — создание периодов молчания
  • alert.silences:write — редактирование периодов молчания
  • annotations:create — создание аннотаций
  • annotations:write — редактирование аннотаций
  • annotations:delete — удаление аннотаций
  • library.panels:create — создание библиотечных панелей
  • library.panels:write — редактирование библиотечных панелей
  • library.panels:delete — удаление библиотечных панелей

Разрешение Admin предоставляет (в дополнение к Edit):

  • folders.permissions:read — просмотр разрешений на папку
  • folders.permissions:write — изменение разрешений на папку
  • dashboards.permissions:read — просмотр разрешений на дашборды
  • dashboards.permissions:write — изменение разрешений на дашборды

Наследование разрешений

Разрешения передаются от родительских папок к дочерним. Пользователь с разрешением Edit на родительскую папку автоматически имеет разрешение Edit на все вложенные папки.

Production/                    # User has Edit permission here
├── Team A Dashboards/         # User inherits Edit permission
│   └── Service Metrics/       # User inherits Edit permission
└── Team B Dashboards/         # User inherits Edit permission

Note

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

Ресурсы, использующие разрешения на папки

Следующие ресурсы хранятся в папках и подчиняются разрешениям на папки:

Ресурс Как применяются разрешения на папки
Dashboards Просмотр/редактирование/администрирование напрямую контролируются разрешением на папку
Subfolders Наследуют разрешения родительской папки, могут добавлять дополнительные разрешения
Alert rules Просмотр/редактирование контролируются разрешением на папку
Alert silences Просмотр/создание/редактирование контролируются разрешением на папку
Library panels Просмотр/создание/редактирование/удаление контролируются разрешением на папку
SLOs Разрешение на папку + роль SLO определяют действительный доступ (см. Разрешения плагинов)
Annotations Хранятся на дашбордах; наследуют разрешения от родительской папки дашборда

Разрешения плагинов

Некоторые плагины Grafana Cloud используют двухуровневую модель разрешений, в которой действительный доступ определяется как разрешениями на папку, так и ролью, специфичной для плагина:

Effective plugin access = minimum(folder permission, plugin role)

Например, для SLO:

  • Пользователь с разрешением Edit на папку и ролью SLO Writer может создавать и редактировать SLO в этой папке
  • Пользователь с разрешением View на папку и ролью SLO Writer может только просматривать SLO (ограничен правами на папку)
  • Пользователь с разрешением Edit на папку и ролью SLO Reader может только просматривать SLO (ограничен ролью плагина)

Дополнительные сведения см. в разделе SLO access control.

Управление разрешениями на папки

Доступ к папкам осуществляется через раздел Dashboards в Grafana. Управлять разрешениями можно из контекстного меню папки или из представления папки.

Просмотр текущих разрешений

  1. В левой навигации нажмите Dashboards.
  2. Перейдите к папке, которую хотите просмотреть.
  3. Нажмите на имя папки, чтобы открыть её, или нажмите меню ⋮ рядом с папкой.
  4. Выберите Manage permissions.

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

Добавление разрешения

  1. Откройте диалог Manage permissions папки.
  2. Нажмите Add a permission.
  3. Выберите, кому предоставить доступ:
    • User — конкретная учётная запись пользователя
    • Team — все участники команды
    • Service Account — сервисная учётная запись для доступа через API или автоматизации
    • Role — пользователи с определённой ролью организации (Viewer, Editor, Admin)
  4. Выберите уровень разрешений (View, Edit или Admin).
  5. Нажмите Save.

Изменение разрешения

  1. Откройте диалог Manage permissions папки.
  2. Найдите пользователя, команду или роль в списке.
  3. С помощью выпадающего списка разрешений выберите новый уровень.
  4. Изменение сохраняется автоматически.

Удаление разрешения

  1. Откройте диалог Manage permissions папки.
  2. Найдите пользователя, команду или роль в списке.
  3. Нажмите кнопку ×, чтобы отозвать их доступ.
  4. Подтвердите удаление.

Warning

Удаление разрешения отзывает доступ к папке и всему её содержимому. Пользователь или команда больше не будут видеть дашборды, правила алертов и другие ресурсы в этой папке.

Проектирование структуры папок для управления разрешениями

Хорошо продуманная структура папок упрощает управление разрешениями. Рекомендуемый подход — создавать папки верхнего уровня для каждой команды, а вложенные папки использовать для организации содержимого:

SRE Team/                      # SRE team has Admin
├── Production Monitoring/     # Inherited Admin
├── On-Call Dashboards/        # Inherited Admin
└── Runbooks/                  # Inherited Admin

Platform Team/                 # Platform team has Admin
├── Infrastructure/            # Inherited Admin
└── Cost Tracking/             # Inherited Admin

Shared/                        # Everyone has View, specific teams have Edit
├── Company KPIs/              # Marketing team has Edit
└── Executive Dashboards/      # Leadership has View

Такой подход обеспечивает:

  • Владение командой: каждая команда управляет своей папкой и её содержимым
  • Чёткие границы: ресурсы организованы по зонам ответственности
  • Совместную работу: общие папки обеспечивают видимость между командами

Подробные рекомендации по организации папок, включая автоматизацию с помощью Terraform и провижининга SCIM, см. в разделах:

Связанная документация