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'