Skip to main content
В этом руководстве показаны два способа управления пользователями базы данных: через консоль SQL и непосредственно в базе данных.

Беспарольная аутентификация в консоли SQL

Пользователи консоли SQL создаются для каждого сеанса и проходят аутентификацию с помощью сертификатов X.509, которые автоматически обновляются. Пользователь удаляется после завершения сеанса. При составлении списков доступа для аудита перейдите на вкладку Settings сервиса в консоли и учитывайте доступ к консоли SQL наряду с пользователями базы данных, существующими в базе данных. Если настроены пользовательские роли, доступ пользователя указан в роли, имя которой оканчивается на его имя пользователя.

Пользователи и роли консоли SQL

Базовые роли консоли SQL можно назначать пользователям с разрешениями Service Read Only и Service Admin. Подробнее см. в разделе Управление назначением ролей консоли SQL. В этом руководстве показано, как создать пользовательскую роль для пользователя консоли SQL.
Управление ролями базы данных из консоли (бета)Вы также можете управлять ролями базы данных непосредственно из консоли ClickHouse Cloud, добавляя разрешения на доступ к данным к пользовательским ролям. Эта возможность находится в бета-версии и доступна для сервисов, работающих на ClickHouse версии 26.4 и выше. Роли, назначенные вручную с использованием соглашения об именовании sql-console-role:<email>, имеют приоритет над ролями, назначенными через консоль. Подробнее см. в разделе Управление ролями базы данных.
Чтобы создать пользовательскую роль для пользователя консоли SQL и назначить ей роль общего назначения, выполните следующие команды. Адрес электронной почты должен совпадать с адресом электронной почты пользователя в консоли.
1

Создайте database_developer и выдайте разрешения

Создайте роль database_developer и выдайте разрешения SHOW, CREATE, ALTER и DELETE.
2

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

Создайте роль для пользователя консоли SQL my.user@domain.com и назначьте ей роль database_developer.
3

При использовании консоли SQL пользователю назначается новая роль

Каждый раз, когда пользователь работает в консоли SQL, ему назначается роль, связанная с его адресом электронной почты.

Аутентификация в базе данных

Идентификатор пользователя базы данных и пароль

Используйте метод SHA256_hash при создании учётных записей пользователей для защиты паролей. Пароли пользователей базы данных ClickHouse должны содержать не менее 12 символов и соответствовать требованиям сложности: включать прописные и строчные буквы, цифры и/или специальные символы.
Безопасно генерируйте паролиПоскольку пользователи без административных привилегий не могут сами задавать пароль, попросите пользователя заранее вычислить хеш пароля с помощью генератора, например этого, прежде чем передавать его администратору для настройки учётной записи.

Пользователь базы данных с SSH-аутентификацией

Чтобы настроить SSH-аутентификацию для пользователя базы данных ClickHouse Cloud.
  1. С помощью ssh-keygen создайте пару ключей.
  2. Используйте открытый ключ, чтобы создать пользователя.
  3. Назначьте пользователю роли и/или разрешения.
  4. Используйте закрытый ключ для аутентификации в сервисе.
Подробное пошаговое руководство с примерами см. в статье How to connect to ClickHouse Cloud using SSH keys в нашей базе знаний.

Разрешения на уровне базы данных

Настройте следующие параметры в сервисах и базах данных с помощью SQL-оператора GRANT.
  • Роли базы данных являются аддитивными. Это означает, что если пользователь состоит в двух ролях, он получает максимальный уровень доступа из предоставленных этими ролями. При добавлении ролей доступ не теряется.
  • Роли базы данных могут выдаваться другим ролям, образуя иерархическую структуру. Роли наследуют все разрешения ролей, в которые они входят.
  • Роли базы данных уникальны для каждого сервиса и могут применяться к нескольким базам данных в рамках одного сервиса.
На иллюстрации ниже показаны различные способы выдачи разрешений пользователю.

Начальные настройки

В базах данных автоматически создается учетная запись с именем default, и при создании сервиса ей назначается default_role. Пользователю, который создает сервис, показывается автоматически сгенерированный случайный пароль, назначенный учетной записи default при создании сервиса. После первоначальной настройки пароль больше не отображается, но позже его может изменить любой пользователь с правами Service Admin в консоли. Эта учетная запись или учетная запись с привилегиями Service Admin в консоли может в любое время создавать дополнительных пользователей базы данных и роли.
Чтобы изменить пароль, назначенный учетной записи default в консоли, перейдите в меню Services слева, откройте сервис, перейдите на вкладку Settings и нажмите кнопку Reset password.
Мы рекомендуем создать новую учетную запись пользователя, связанную с конкретным человеком, и выдать этому пользователю default_role. Это нужно для того, чтобы действия пользователей можно было соотнести с их идентификаторами, а учетная запись default оставалась зарезервированной для аварийного доступа.
Вы можете использовать генератор SHA256-хеша или такую библиотеку, как hashlib в Python, чтобы преобразовать пароль длиной не менее 12 символов с достаточной сложностью в строку SHA256 и передать её системному администратору в качестве пароля. Это гарантирует, что администратор не увидит пароль и не будет работать с ним в открытом виде.

Списки доступа к базе данных для пользователей консоли SQL

Следующий процесс можно использовать, чтобы получить полный список доступа в консоли SQL и базах данных вашей организации.
1

Получите список всех привилегий в базе данных

Выполните следующие запросы, чтобы получить список всех привилегий в базе данных.
2

Сопоставьте список привилегий с пользователями консоли, у которых есть доступ к консоли SQL

Сопоставьте этот список с пользователями консоли, у которых есть доступ к консоли SQL.a. Перейдите в консоль.b. Выберите нужный сервис.c. Слева выберите Settings.d. Прокрутите до раздела доступа к консоли SQL.e. Нажмите ссылку с количеством пользователей, имеющих доступ к базе данных: There are # users with access to this service., чтобы открыть список пользователей.

Пользователи хранилища

Пользователи хранилища общие для всех сервисов в рамках одного хранилища. Подробнее см. в разделе управление доступом к хранилищу.
Последнее изменение 14 августа 2026 г.