Настройка доступа к silences

Эта статья описывает, как Grafana Alerting управляет доступом к silences и как настроить его для ваших команд. Используйте эту статью, когда вам нужно предоставить некоторым пользователям полное управление silences, ограничивая других отключением только их собственных правил.

Перед началом убедитесь, что у вас есть:

Типы silences

В Grafana Alerting есть два типа silences:

  • Общие silences — не привязаны к какому-либо конкретному правилу оповещения. Они могут сопоставлять оповещения от любого правила в организации. Только пользователи с разрешениями на silences в области действия организации могут их создавать.
  • Silences для конкретных правил — связаны с одним правилом оповещения через его UID. Доступ контролируется папкой, содержащей правило.

Когда вы отключаете срабатывающее оповещение напрямую из списка оповещений, Grafana автоматически создаёт silence для конкретного правила, добавляя сопоставитель метки __alert_rule_uid__=<rule UID>. Вы также можете создать silence для конкретного правила вручную, включив этот сопоставитель.

Разрешения на silences

В Grafana есть два независимых набора разрешений для silences. Они служат разным целям и применяются к разным областям действия.

Разрешения в области организации

Эти разрешения применяются ко всей организации и охватывают оба типа silences.

Действие Описание
alert.instances:read Чтение всех silences — общих и для конкретных правил
alert.instances:create Создание любого silence, включая общие silences
alert.instances:write Обновление или истечение любого silence

Встроенная роль Editor включает все три через фиксированную роль fixed:alerting.instances:writer.

Разрешения в области папки

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

Действие Описание
alert.silences:read Чтение silences для конкретных правил для правил в папке, плюс всех общих silences во всей организации
alert.silences:create Создание silences для конкретных правил для правил в папке
alert.silences:write Обновление или истечение silences для конкретных правил для правил в папке

Note

alert.silences:read всегда включает все общие silences, независимо от области действия папки. Общие silences могут подавлять уведомления для любого правила, поэтому пользователям, управляющим правилами в папке, нужно видеть silences, которые могут влиять на их оповещения.

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

Следующие фиксированные роли относятся к управлению silences.

Фиксированная роль Разрешения Что она позволяет
fixed:alerting.instances:writer (Silences Writer) alert.instances:create, alert.instances:write (область организации) Создание и управление общими и специфичными для правил silences во всей организации
fixed:alerting.instances:reader (Instances and Silences Reader) alert.instances:read (область организации) Чтение всех silences
fixed:alerting.rules:writer (Rules Writer) alert.silences:create, alert.silences:write для folders:* Создание и управление silences для конкретных правил
fixed:alerting.rules:reader (Rules Reader) alert.silences:read для folders:* Чтение silences для конкретных правил и всех общих silences

Отображение разрешений на папки в Grafana OSS

В Grafana OSS пользовательский RBAC недоступен. Вместо этого разрешения на папки автоматически предоставляют соответствующий доступ к silences.

Разрешение на папку Доступ к silences
View Чтение всех общих silences; чтение silences для конкретных правил для правил в папке
Edit Доступ на просмотр плюс создание и обновление silences для конкретных правил для правил в папке
Admin То же, что и Edit

В Grafana Enterprise и Grafana Cloud разрешения на папки предоставляют тот же доступ к silences, что и в OSS, но вы можете пойти дальше, назначая разрешения RBAC в области действия папки независимо от доступа к правилам — например, предоставляя доступ на запись к silences без предоставления доступа на запись к правилам.

Сценарий: ограничение пользователей только silences для конкретных правил

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

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

Разрешение Область действия
alert.silences:read folders:<FOLDER_UID>
alert.silences:create folders:<FOLDER_UID>
alert.silences:write folders:<FOLDER_UID>

Эти разрешения включены в fixed:alerting.rules:writer и также автоматически предоставляются разрешением Edit на папку.

Не предоставляйте alert.instances:create или alert.instances:write в области действия организации — они позволяют создавать общие silences. Они включены в fixed:alerting.instances:writer и встроенную роль Editor, поэтому избегайте назначения любого из них пользователям, которые должны быть ограничены папкой.

С этой конфигурацией:

  • Пользователи могут создавать silences только для правил в своей папке.
  • Пользователи могут читать все общие silences.
  • Любая попытка создать общий silence отклоняется.

Сценарий: предоставление полного доступа к silences

Используйте эту настройку для дежурных инженеров или администраторов, которым нужен полный контроль над всеми silences.

Назначьте следующие фиксированные роли:

Фиксированная роль Предоставляет
fixed:alerting.instances:writer Создание и управление общими и специфичными для правил silences во всей организации
fixed:alerting.rules:writer Создание и управление silences для конкретных правил во всех папках

В качестве альтернативы назначьте встроенную роль Editor, которая включает обе.

С этой конфигурацией:

  • Пользователи могут создавать общие silences для окон обслуживания во всей организации.
  • Пользователи могут создавать и истекать silences для конкретных правил для любого правила.
  • Пользователи видят все silences во всей организации.

Соображения безопасности

Учитывайте следующее при настройке доступа к silences.

  • Действия на запись в области организации мощны. Предоставление alert.instances:create или alert.instances:write в области действия организации — даже пользователю, который иначе имеет доступ только на уровне папки — позволяет им создавать или изменять silences, влияющие на всю организацию. Проверьте все пользовательские и унаследованные роли, включающие эти действия.
  • Общие silences всегда видны пользователям папки. Вы не можете скрыть общие silences от пользователей, имеющих любое разрешение alert.silences:read в области действия папки. Если общие silences несут конфиденциальный контекст (например, имя активного инцидента), используйте понятные и последовательные соглашения об именовании.
  • Используйте silences для конкретных правил для изоляции команд. В развёртываниях с несколькими командами или тенантами silences для конкретных правил — рекомендуемый шаблон. Они уважают границы папок, чего не делают общие silences.

Дальнейшие шаги