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'