ALTER USER
Изменения учетных записей пользователей ClickHouse.
Синтаксис:
Чтобы использовать ALTER USER
, вы должны иметь право ALTER USER.
Класс GRANTEES
Указывает пользователей или роли, которым разрешено получать привилегии от этого пользователя при условии, что у этого пользователя также есть все необходимые права, предоставленные с 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
Позволяет вам указать дату истечения срока действия и, опционально, время для метода аутентификации. Он принимает строку в качестве параметра. Рекомендуется использовать формат 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'