Создание пользовательских ролей
Пользовательские роли могут включать комбинацию разрешений на уровне организации, сервиса и базы данных. Разрешения можно применять ко всем сервисам и базам данных или только к их части.1
Откройте настройки организации и выберите Users and roles
На странице сервисов выберите имя своей организации. Во всплывающем меню выберите пункт
Users and roles.2
Выберите вкладку Roles
Выберите вкладку
Roles в верхней части экрана по центру.3
Выберите Create new role в правом верхнем углу
Нажмите кнопку
Create new role в правом верхнем углу экрана.4
Назовите роль
Введите понятное имя роли. Это имя будет отображаться при назначении ролей пользователям и ключам API.
5
Нажмите Allow и выберите область действия разрешений
Нажмите кнопку
Allow и выберите разрешения уровня Organization, Service и/или Database. Описание всех разрешений см. в разделе Роли и разрешения в консоли.Доступ к вкладке Data SourcesДля доступа к вкладке Data Sources роль в настоящее время должна иметь разрешение
Manage selected services.6
Проверьте новую роль
Перед завершением проверьте разрешения, назначенные новой роли. Когда всё будет готово, нажмите
Create role.Управление ролями базы данных
Помимо разрешений консоли, пользовательские роли могут включать политикуData, определяющую доступ к базам данных выбранных сервисов. Это позволяет управлять доступом к консоли и базам данных в одном месте, не поддерживая отдельные роли в каждой базе данных.
Эта возможность доступна для сервисов с ClickHouse версии 26.4 и выше.
Data в пользовательскую роль, ClickHouse Cloud создает соответствующую роль в каждом выбранном сервисе с префиксом cloud:. Например, пользовательская роль с именем readonly отображается в базе данных как cloud:readonly. Участники пользовательской роли получают эти разрешения базы данных при подключении к сервису через беспарольную аутентификацию в SQL Console.
Предварительные требования
Пользовательские роли базы данных в сервисе зависят от JWT-аутентификации и не применяются, пока она отключена. Прежде чем добавлять политикуData в роль, перейдите к сервису, откройте Settings и найдите карточку JWT authentication в разделе Security. Убедитесь, что переключатель SQL Console включен.
1
Откройте диалоговое окно роли
Создайте пользовательскую роль или отредактируйте существующую.
2
Добавьте политику организации
В диалоговом окне роли нажмите
Allow, выберите Organization и включите разрешение Access organization.3
Добавьте политику сервиса
Нажмите
Allow permissions, выберите Service, укажите сервисы, к которым будет применяться политика Data, и включите разрешение View selected services.Участникам роли нужны оба разрешения, чтобы войти в консоль и открыть сервис в SQL console, где применяется политика Data.4
Добавьте политику Data
Нажмите
Allow permissions и выберите Data.5
Выберите сервис
Выберите сервис, к которому применяется политика. Чтобы применить одинаковые разрешения
Read-only или Admin к нескольким сервисам, добавьте другие сервисы.6
Выберите уровень доступа
Выберите уровень доступа
Read-only, Admin или Custom. При выборе Custom задайте конкретные разрешения на доступ к данным с помощью команд ClickHouse GRANT. Доступ Custom можно выбрать только тогда, когда политика распространяется на один сервис; чтобы задать пользовательские разрешения для нескольких сервисов, добавьте отдельную политику Data для каждого сервиса.7
Создайте роль
Нажмите
Create role. Роли базы данных будут созданы в выбранных сервисах. Распространение ролей на сервис может занять до 10 минут, но пользователи, которым назначена эта роль, получают ее разрешения сразу при выполнении запросов к сервису.Проверка ролей базы данных
Роли, управляемые через консоль, создаются в базе данных с префиксомcloud: и типом хранения cloud и могут появиться в течение 10 минут после создания. Чтобы получить их список, выполните запрос к таблице system.roles в сервисе:
Обновление пользовательских ролей
- Откройте настройки организации и выберите
Users and roles - Выберите вкладку
Roles - Нажмите на значок с тремя точками рядом с ролью, которую нужно изменить
- Выберите
Edit - Измените разрешения
- Выберите
Edit role
Удаление пользовательских ролей
- Откройте настройки организации и выберите
Users and roles - Выберите вкладку
Roles - Нажмите на три точки рядом с ролью, которую хотите удалить
- Проверьте, какие пользователи и ключи API потеряют доступ после удаления роли. При необходимости измените назначения.
- Выберите
Delete role, чтобы завершить процесс