Администрирование RBAC

Руководство по разделу Администрирование RBAC: управление пользователями, ролями, правами доступа, внешними группами и просмотр журнала аудита.

На этой странице:

Введение

Администрирование RBAC — раздел платформы Proto Observability для расширенного управления доступом на основе ролей (Role-Based Access Control). Раздел предоставляет единый интерфейс для:

  • Управления пользователями — приглашение, активация/деактивация, назначение ролей, сброс пароля
  • Управления ролями — создание пользовательских ролей, редактирование существующих
  • Настройки прав доступа — матрица разрешений по типам ресурсов и действиям
  • Привязки внешних групп — сопоставление групп из внешних провайдеров (LDAP/OIDC) с ролями платформы
  • Аудита — просмотр журнала всех действий, связанных с управлением доступом

Как открыть: перейдите в раздел Администрирование RBAC в основном меню навигации платформы.


Пользователи

Вкладка «Пользователи» отображает таблицу всех зарегистрированных пользователей платформы.

Столбцы таблицы:

СтолбецОписание
ИмяИмя пользователя
EmailАдрес электронной почты
РолиНазначенные роли (отображаются в виде тегов)
Последний входДата и время последней авторизации

Возможности:

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

Операции с пользователем (доступны через столбец действий):

ОперацияОписание
Управление ролямиНазначение или отзыв ролей пользователя
РедактированиеИзменение данных пользователя
Сброс пароляУстановка нового временного пароля
Включить / ОтключитьАктивация или деактивация учетной записи

Роли

Вкладка «Роли» содержит список всех ролей, доступных в платформе.

Роли делятся на два типа:

  • Системные роли — предустановленные роли платформы (например, «Администратор», «Пользователь»). Системные роли отмечены специальным индикатором и не могут быть удалены.
  • Пользовательские роли — созданные администратором роли для специфических сценариев доступа.

Доступные операции:

  • Создание роли — укажите имя и описание для новой роли
  • Редактирование роли — изменение имени и описания существующей роли
  • Просмотр деталей — подробная информация о роли и связанных разрешениях

Права доступа

Вкладка «Права доступа» отображает матрицу разрешений — какие действия разрешены каждой роли для каждого типа ресурсов.

Структура матрицы:

  • Строки — типы ресурсов платформы (дашборды, алерты, сервисы, настройки и другие)
  • Столбцы — роли
  • Ячейки — действия, разрешенные для данной комбинации роли и типа ресурса (просмотр, создание, редактирование, удаление, администрирование)

Администратор может настроить разрешения для пользовательских ролей, изменяя значения в ячейках матрицы.

Ресурсно-ограниченные права

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

Поддерживаемые типы ресурсов для ограничения по экземпляру:

Тип ресурсаПример ограничения
serviceДоступ только к сервису payment_bank
bt (бизнес-транзакция)Просмотр только конкретных ключевых бизнес-транзакций
sloРедактирование только SLO определённой команды
dashboardРедактирование только выделенных дашбордов

Как настроить:

  1. Откройте редактирование роли на вкладке Роли.
  2. В секции прав доступа выберите тип ресурса и действия (просмотр, редактирование и т.д.).
  3. Вместо подстановочного значения * (все ресурсы) укажите идентификаторы или имена конкретных ресурсов.
  4. Сохраните изменения.

Пользователи с этой ролью получат доступ только к указанным экземплярам. Если для типа ресурса не задано ни одного ограничения, применяется правило «нет доступа».

Ограничение доступа к сигналам по сервисам

Права на тип ресурса service автоматически применяются ко всем запросам данных, которые выполняет пользователь в интерфейсе платформы. Платформа прозрачно добавляет фильтр по списку разрешённых сервисов к следующим источникам:

Источник данныхСпособ применения
PromQLВ каждый запрос добавляется фильтр {service=~"svc1|svc2|..."}
LogsQLК запросу добавляется extra_filter с разрешёнными именами сервисов
CubeJS (OLAP)В JWT-токен CubeJS добавляется claim allowed_services, который преобразуется в WHERE-условие через queryRewrite

Благодаря этому любой виджет на дашборде, Traces Explorer, Logs Explorer, Браузер метрик и SLO показывают пользователю только данные его сервисов — даже если сам запрос написан без явного фильтра.

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

  • Администраторы (правило {admin, *, *}) — видят данные всех сервисов, фильтр не добавляется.
  • Пользователи с разрешённым списком сервисов — видят данные только этих сервисов.
  • Пользователи без прав на сервисы — получают пустой результат запроса (запрос выполняется, но не возвращает данных).

Внешние группы

Вкладка «Внешние группы» позволяет настроить автоматическое назначение ролей платформы на основе групп из внешних провайдеров учетных записей (LDAP, OpenID Connect).

Принцип работы:

При входе пользователя через SSO (LDAP или OIDC) платформа определяет его группы во внешнем провайдере. Если для этих групп настроено сопоставление, пользователю автоматически назначаются соответствующие роли платформы.

Доступные операции:

  • Просмотр сопоставлений — таблица существующих привязок «внешняя группа — роль платформы»
  • Добавить сопоставление — диалоговое окно для создания новой привязки: укажите имя внешней группы и выберите роль платформы

Привязка групп LDAP/OIDC

В таблице сопоставлений каждая запись имеет источник (source_type), который определяет, откуда ожидается имя группы:

ИсточникКогда использовать
LDAPДля пользователей, аутентифицируемых через LDAP-каталог (Active Directory и т.п.)
OIDCДля пользователей, входящих через внешнего OIDC-провайдера
Встроенный (built-in)Предустановленные сопоставления для исторических имён групп — их нельзя удалить, только отключить

Настраиваемое имя claim для OIDC

По умолчанию платформа ожидает, что OIDC-провайдер передаёт список групп пользователя в claim groups. Если ваш провайдер использует другое имя (например, roles, ldap_groups, cognito:groups), его можно указать в настройках Keycloak — платформа корректно извлечёт группы из произвольного claim.


Журнал аудита

Вкладка «Журнал аудита» предоставляет хронологический лог всех действий, связанных с управлением доступом в платформе.

Информация о каждом событии:

ПолеОписание
Дата и времяМомент совершения действия
ПользовательКто выполнил действие
Тип действияКатегория операции (создание роли, назначение роли, изменение разрешений и т.д.)
ДеталиПодробное описание выполненного действия

Журнал аудита помогает отслеживать изменения в настройках доступа и выполнять требования по безопасности и комплаенсу.