ALTER USER
Изменяет учетные записи пользователей ClickHouse.
Синтаксис:
Чтобы использовать ALTER USER
, вы должны иметь привилегию ALTER USER.
GRANTEES Clause
Определяет пользователей или роли, которым разрешено получать привилегии от этого пользователя при условии, что у этого пользователя также есть все необходимые доступы, предоставленные с помощью GRANT OPTION. Опции клаузулы GRANTEES
:
user
— Указывает пользователя, которому этот пользователь может предоставить привилегии.role
— Указывает роль, которой этот пользователь может предоставить привилегии.ANY
— Этот пользователь может предоставлять привилегии любому. Это значение по умолчанию.NONE
— Этот пользователь не может предоставлять привилегии никому.
Вы можете исключить любого пользователя или роль, используя выражение EXCEPT
. Например, ALTER USER user1 GRANTEES ANY EXCEPT user2
. Это означает, что если user1
имеет какие-то привилегии, предоставленные с помощью GRANT OPTION
, он сможет предоставить эти привилегии любому, кроме user2
.
Примеры
Установите назначенные роли по умолчанию:
Если роли ранее не были назначены пользователю, ClickHouse выбросит исключение.
Установите все назначенные роли по умолчанию:
Если в будущем роли будут назначены пользователю, они автоматически станут значением по умолчанию.
Установите все назначенные роли по умолчанию, исключая role1
и role2
:
Разрешает пользователю с учетной записью john
предоставить свои привилегии пользователю с учетной записью jack
:
Добавляет новые методы аутентификации для пользователя, сохраняя существующие:
Примечания:
- Более старые версии ClickHouse могут не поддерживать синтаксис нескольких методов аутентификации. Следовательно, если сервер ClickHouse содержит таких пользователей и будет понижен до версии, которая этого не поддерживает, такие пользователи станут неработоспособными, и некоторые операции, связанные с пользователями, будут нарушены. Для корректного понижения необходимо установить для всех пользователей единственный метод аутентификации перед понижением. В противном случае, если сервер был понижен без соответствующей процедуры, проблемные пользователи должны быть удалены.
no_password
не может сосуществовать с другими методами аутентификации по соображениям безопасности. Поэтому невозможноADD
метод аутентификацииno_password
. Следующий запрос вызовет ошибку:
Если вы хотите удалить методы аутентификации для пользователя и полагаться на no_password
, вы должны указать в следующей форме замещения.
Сбросьте методы аутентификации и добавьте указанные в запросе (эффект ведущего IDENTIFIED без ключевого слова ADD):
Сбросьте методы аутентификации и сохраните последний добавленный:
VALID UNTIL Clause
Позволяет вам указать дату истечения и, при необходимости, время для метода аутентификации. Принимает строку в качестве параметра. Рекомендуется использовать формат YYYY-MM-DD [hh:mm:ss] [timezone]
для даты и времени. По умолчанию этот параметр равен 'infinity'
.
Клаузу VALID UNTIL
можно указывать только вместе с методом аутентификации, за исключением случая, когда ни один метод аутентификации не был указан в запросе. В этом случае клаузу VALID UNTIL
применят ко всем существующим методам аутентификации.
Примеры:
ALTER USER name1 VALID UNTIL '2025-01-01'
ALTER USER name1 VALID UNTIL '2025-01-01 12:00:00 UTC'
ALTER USER name1 VALID UNTIL 'infinity'
ALTER USER name1 IDENTIFIED WITH plaintext_password BY 'no_expiration', bcrypt_password BY 'expiration_set' VALID UNTIL '2025-01-01'