Пользователь с ролью Admin
default с правами администратора, который создается при создании сервиса. Пароль задается при создании сервиса, и его могут сбросить пользователи ClickHouse Cloud с ролью Admin.
Когда вы добавляете дополнительных SQL-пользователей для своего сервиса ClickHouse Cloud, им потребуются SQL-имя пользователя и пароль. Если вы хотите предоставить им административные привилегии, назначьте новым пользователям роль default_role. Например, добавим пользователя clickhouse_admin:
default. Вместо этого они будут выполняться от имени пользователя sql-console:${cloud_login_email}, где cloud_login_email — это адрес электронной почты пользователя, который в данный момент выполняет запрос.Эти автоматически созданные пользователи SQL Console имеют роль default.Аутентификация без пароля
sql_console_admin с теми же разрешениями, что и у default_role, и sql_console_read_only с разрешениями только для чтения.
Пользователям с ролью Admin по умолчанию назначается роль sql_console_admin, поэтому для них ничего не меняется. Однако роль sql_console_read_only позволяет предоставить пользователям без роли Admin доступ только для чтения или полный доступ к любому экземпляру. Этот доступ должен настроить пользователь с ролью Admin. Роли можно изменить с помощью команд GRANT или REVOKE, чтобы точнее соответствовать требованиям конкретного экземпляра, и все внесённые в них изменения будут сохранены.
Тонкая настройка управления доступом
sql_console_*, следует создать роли базы данных для отдельных пользователей SQL Console по шаблону sql-console-role:<email>. Например:
sql_console_sa_role и sql_console_pm_role и назначать их конкретным пользователям. Например:
Проверьте права администратора
default и снова войдите под пользователем clickhouse_admin.
Все перечисленные ниже действия должны выполниться успешно:
Пользователи без прав администратора
Подготовка
Создание тестовой базы данных, таблицы и строк
Создайте тестовую базу данных
Создайте таблицу
Заполните таблицу примерными строками
Проверьте таблицу
Создайте column_user
Создайте row_user
Создание ролей
- будут созданы роли с разными привилегиями, например на уровне столбцов и строк
- ролям будут выданы привилегии
- пользователи будут назначены каждой роли
Создайте роль, чтобы ограничить пользователей этой роли просмотром только column1 в базе данных db1 и таблице table1:
Задайте привилегии, разрешающие просмотр column1
Добавьте пользователя column_user в роль column1_users
Создайте роль, чтобы ограничить пользователей этой роли просмотром только выбранных строк — в данном случае только строк, где column1 содержит A
Добавьте row_user в роль A_rows_users
Создайте политику, разрешающую просмотр только строк, где column1 имеет значение A
Задайте привилегии для базы данных и таблицы
Выдайте явные разрешения другим ролям, чтобы у них по-прежнему был доступ ко всем строкам
Проверка
Проверка привилегий роли для пользователя с ограничением доступа к столбцам
Войдите в клиент ClickHouse под пользователем clickhouse_admin
Проверьте доступ к базе данных, таблице и всем строкам под пользователем admin.
Войдите в клиент ClickHouse под пользователем column_user
Проверьте SELECT со всеми столбцами
id и column1Проверьте запрос SELECT, указав только разрешённые столбцы:
Проверка привилегий роли с пользователем с ограничением по строкам
Войдите в клиент ClickHouse под пользователем row_user
Просмотрите доступные строки
B в column1 должны быть исключены.Изменение пользователей и ролей
role1 разрешает только SELECT по column1, а role2 разрешает SELECT по column1 и column2, то пользователь получит доступ к обоим столбцам.
Используя учетную запись администратора, создайте нового пользователя с ограничением доступа и по строкам, и по столбцам, а также с ролями по умолчанию
Удалите ранее выданные привилегии у роли A_rows_users
Разрешите роли A_row_users выполнять SELECT только по column1
Войдите в клиент ClickHouse под пользователем row_and_column_user
Проверка со всеми столбцами:
Проверка с ограниченным набором разрешенных столбцов:
Устранение неполадок
Просмотр привилегий и ролей пользователя
Просмотр ролей в ClickHouse
Просмотреть политики
Просмотрите, как задана политика и какие привилегии действуют сейчас
Пример команд для управления ролями, политиками и пользователями
- удалить привилегии
- удалить политики
- отвязать пользователей от ролей
- удалить пользователей и роли