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

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

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

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

Базовые роли консоли SQL можно назначать пользователям с разрешениями Service Read Only и Service Admin. Подробнее см. в разделе Управление назначением ролей консоли SQL. В этом руководстве показано, как создать пользовательскую роль для пользователя консоли SQL. Чтобы создать пользовательскую роль для пользователя консоли 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., чтобы открыть список пользователей.

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

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