Это руководство предназначено для пользователей с ролью Admin в ClickHouse Cloud.
Клиенты ClickHouse Cloud могут выбирать из предопределённых системных ролей или создавать пользовательские роли и назначать их пользователям. Дополнительные сведения о системных ролях и связанных с ними разрешениях см. в разделе Роли и разрешения в консоли. В этом руководстве описано управление пользовательскими ролями.
Создание пользовательских ролей
Пользовательские роли могут включать комбинацию разрешений на уровне организации, сервиса и базы данных. Разрешения можно применять ко всем сервисам и базам данных или только к их части.
Откройте настройки организации и выберите Users and roles
На странице сервисов выберите имя своей организации. Во всплывающем меню выберите пункт Users and roles.

[object Object]
Выберите вкладку Roles в верхней части экрана по центру.

[object Object]
Нажмите кнопку Create new role в правом верхнем углу экрана.

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

[object Object]
Нажмите кнопку Allow и выберите разрешения уровня Organization, Service и/или Database. Описание всех разрешений см. в разделе Роли и разрешения в консоли.

Проверьте новую роль
Перед завершением проверьте разрешения, назначенные новой роли. Когда всё будет готово, нажмите Create role.

Управление ролями базы данных (бета)
Помимо разрешений консоли, пользовательские роли могут включать разрешения на доступ к данным, определяющие доступ к базам данных выбранных сервисов. Это позволяет управлять доступом к консоли и базам данных в одном месте, не поддерживая отдельные роли в каждой базе данных.
Когда вы добавляете разрешения на доступ к данным в пользовательскую роль, ClickHouse Cloud создает соответствующую роль в каждом выбранном сервисе с префиксом cloud:. Например, пользовательская роль с именем readonly отображается в базе данных как cloud:readonly. Участники пользовательской роли получают эти разрешения базы данных при подключении к сервису через беспарольную аутентификацию в SQL Console.
Предварительные требования
Пользовательские роли базы данных в сервисе зависят от JWT-аутентификации и не применяются, пока она отключена. Прежде чем добавлять разрешения на доступ к данным в роль, перейдите к сервису, откройте Settings и найдите карточку JWT authentication в разделе Security. Убедитесь, что переключатель SQL Console включен.

Добавьте разрешения на доступ к данным в роль
Создайте пользовательскую роль или отредактируйте существующую. В диалоговом окне роли нажмите кнопку Allow permissions и выберите Data.
Выберите сервис
Выберите сервис, к которому применяются разрешения. Чтобы применить одинаковые разрешения Read-only или Admin к нескольким сервисам, добавьте другие сервисы.
Выберите уровень доступа
Выберите уровень доступа Read-only, Admin или Custom. При выборе Custom задайте конкретные разрешения на доступ к данным с помощью команд ClickHouse GRANT. Доступ Custom можно выбрать только для одного сервиса; чтобы задать пользовательские разрешения для нескольких сервисов, добавьте отдельное разрешение Data для каждого сервиса.

Создайте роль
Нажмите Create role. Роли базы данных будут созданы в выбранных сервисах. Распространение ролей на сервис может занять до 10 минут, но пользователи, которым назначена эта роль, получают ее разрешения сразу при выполнении запросов к сервису.
Проверка ролей базы данных
Роли, управляемые через консоль, создаются в базе данных с префиксом cloud: и типом хранения cloud и могут появиться в течение 10 минут после создания. Чтобы получить их список, выполните запрос к таблице system.roles в сервисе:
SELECT * FROM system.roles;┌─name───────────┬─id───────────────────────────────────┬─storage─┐
│ cloud:readonly │ 9a4910f4-abcf-4904-466a-717c8c75ac42 │ cloud │
└────────────────┴──────────────────────────────────────┴─────────┘Обновление пользовательских ролей
Пользовательские роли можно изменять после создания. Пользователи потеряют все разрешения, удалённые из роли, и получат все добавленные разрешения.
- Откройте настройки организации и выберите
Users and roles - Выберите вкладку
Roles - Нажмите на значок с тремя точками рядом с ролью, которую нужно изменить
- Выберите
Edit - Измените разрешения
- Выберите
Edit role
Удаление пользовательских ролей
Пользовательские роли можно удалить в любое время.
- Откройте настройки организации и выберите
Users and roles - Выберите вкладку
Roles - Нажмите на три точки рядом с ролью, которую хотите удалить
- Проверьте, какие пользователи и ключи API потеряют доступ после удаления роли. При необходимости измените назначения.
- Выберите
Delete role, чтобы завершить процесс