Перейти к основному содержимому
Перейти к основному содержимому

Ролевое управление доступом (RBAC)

ClickStack включает ролевое управление доступом (RBAC), поэтому вы можете определять пользовательские роли с детализированными разрешениями для дашбордов, сохраненных поисковых запросов, источников, оповещений, вебхуков и блокнотов. Права доступа действуют на двух уровнях: доступ на уровне ресурсов (нет доступа, чтение или управление для каждого типа ресурсов) и необязательные детализированные правила, ограничивающие доступ к отдельным ресурсам по имени, тегу или ID. В ClickStack есть три встроенные роли, и вы можете создавать пользовательские роли в соответствии с потребностями вашей команды.

Только для Managed ClickStack

RBAC доступен только в развертываниях Managed ClickStack.

Требования к доступу пользователей

ClickStack выполняет аутентификацию через ClickHouse Cloud. Прежде чем назначать роли ClickStack, необходимо, чтобы каждый пользователь:

  1. Был приглашён в вашу организацию ClickHouse Cloud. Пользователей приглашает администратор организации в консоли Cloud. Подробнее см. в разделе Управление пользователями Cloud.
  2. Имел доступ к SQL Console для сервиса. Перейдите в SettingsSQL Console Access вашего сервиса и установите подходящий уровень доступа:
Доступ к Cloud SQL ConsoleДоступ к ClickStack
SQL Console Admin (Full Access)Полный доступ к ClickStack. Требуется для включения оповещений.
SQL Console Read Only (Read Only)Может просматривать данные обсервабилити и создавать дашборды.
No accessНе имеет доступа к ClickStack.

После того как пользователь получит доступ к Cloud, он появится на странице Team Settings в ClickStack, где вы сможете назначить ему роль ClickStack.

Страница пользователей и ролей в ClickHouse Cloud

Встроенные роли

ClickStack включает три системные роли. Их нельзя изменять или удалять. Роль Admin по умолчанию назначается создателю команды.

РазрешениеAdminMemberReadOnly
Просмотр всех ресурсов
Управление дашбордами
Управление сохранёнными поисковыми запросами
Управление источниками
Управление оповещениями
Управление вебхуками
Управление блокнотами
Изменение настроек команды
Создание/удаление команд
Управление пользователями и приглашениями

Назначение ролей участникам команды

На странице Team Settings перечислены все участники команды и их текущие роли. Чтобы изменить роль, нажмите Edit рядом с именем пользователя и выберите новую роль. У каждого пользователя может быть только одна роль.

Роль по умолчанию для новых пользователей

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

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

Перейдите в Team Settings

Откройте Team Settings и прокрутите страницу до раздела RBAC Roles.

Роли RBAC

Добавьте новую роль

Нажмите + Add Role. Введите Role Name и при необходимости добавьте Description.

Настройте разрешения и сохраните

Настройте разрешения для роли, затем нажмите Create Role.

Модальное окно Add Role

Пользовательские роли отображаются рядом с системными в разделе RBAC Roles; для них доступны элементы управления Edit и Delete.

Права доступа ролей

Разрешения на ресурсы

Для каждого типа ресурса роль задаёт уровень доступа. Всего уровней три:

Уровень доступаЧто он позволяет
Нет доступаЭтот тип ресурса полностью скрыт для роли.
ЧтениеПросматривать ресурс и его конфигурацию, но не создавать, изменять или удалять его.
УправлениеПолный контроль — создание, изменение и удаление ресурсов этого типа.

Можно управлять доступом к следующим типам ресурсов:

  • Дашборды — сохранённые макеты дашбордов и графики.
  • Сохранённые поисковые запросы — сохранённые запросы к логам/трейсам/событиям.
  • Источники — конфигурации источников ингестии.
  • Оповещения — правила оповещений и настройки уведомлений для них.
  • Вебхуки — внешние адресаты уведомлений (например, Slack, PagerDuty и универсальные HTTP-конечные точки), в которые доставляются оповещения. Это не относится к API ClickStack.
  • Блокноты — совместные блокноты для расследований.

Административные права

Помимо прав на ресурсы, у каждой роли есть две административные настройки:

  • Users (Нет доступа · Ограниченный доступ) — определяет, может ли роль просматривать участников команды и их роли. Только Admins могут приглашать, удалять или изменять пользователей.
  • Team (Чтение · Управление) — определяет, может ли роль просматривать или изменять настройки команды, такие как политики безопасности и конфигурация RBAC.

Детализированные правила доступа

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

Доступ по умолчанию и детализированное управление доступом

Для каждого типа ресурса предусмотрен режим управления доступом:

  • Доступ по умолчанию — применяет единый уровень доступа (Нет доступа, Чтение или Управление) ко всем ресурсам этого типа.
  • Детализированное управление — позволяет задавать правила доступа, которые по условию применяются к определённым ресурсам. Если ресурс не подпадает ни под одно правило, доступ к нему по умолчанию отсутствует.

Чтобы переключить режим, нажмите значок-шеврон, чтобы развернуть тип ресурса в редакторе роли, затем переключите режим управления доступом.

Режимы «Доступ по умолчанию» и «Детализированное управление» в редакторе роли

Настройка правил доступа

Каждое правило доступа состоит из условия и уровня доступа. Условия сопоставляют ресурсы по их свойствам:

Подсказка для условия: сопоставление ресурсов по имени или тегу (отображается в заголовке) либо по ID (указанному в URL)
Поле условияОператорыЧто сопоставляетсяПример
Nameis, containsОтображаемое имя ресурса — например, название дашборда.Name contains production — соответствует любому дашборду, в названии которого есть "production".
Tagis, containsТеги, назначенные ресурсу через панель тегов в правом верхнем углу страницы ресурса. Доступно только для дашбордов, сохранённых поисков и блокнотов.Tag is critical — соответствует ресурсам с тегом "critical".
IDis, containsИдентификатор ресурса, который можно увидеть в адресной строке при открытии ресурса.ID is abc123 — соответствует одному конкретному ресурсу.

На следующем снимке экрана показаны и ID дашборда, выделенный в адресной строке, и тег "TESTING" на панели тегов (справа вверху).

Дашборд с ID ресурса в адресной строке и тегом в правом верхнем углу

Для каждого типа ресурса можно добавить несколько правил. Каждое правило проверяется независимо по логике OR — ресурс доступен, если он соответствует любому правилу. Ресурсы, не соответствующие ни одному правилу, недоступны.

Подсказка по правилам доступа с логикой OR

Пример: Чтобы предоставить роли доступ только на чтение к тестовым дашбордам, разверните раздел Dashboards, переключитесь на Fine-Grained Controls и добавьте два правила:

  • Name contains testing с уровнем доступа Read
  • Tag is testing с уровнем доступа Read

Дашборд, соответствующий любому из этих правил, будет доступен.

Два детализированных правила доступа, объединённых по OR: Name contains testing с доступом Read и Tag is testing с доступом Read

Политики безопасности

Раздел Security Policies в Team Settings предоставляет дополнительные возможности управления.

Параметр Default New User Role задаёт роль, которая автоматически назначается новым пользователям, присоединяющимся к команде.

Generative AI позволяет включать или отключать функции на базе LLM (например, генерацию запросов на естественном языке), работающие через Anthropic или Amazon Bedrock. Если эта опция отключена, данные не отправляются поставщикам ИИ.

Политики безопасности