ALTER USER
Изменяет учетные записи пользователей ClickHouse.
Синтаксис:
Для использования ALTER USER вы должны иметь привилегию ALTER USER.
CLAUSE GRANTEES
Указывает пользователей или роли, которые могут получать привилегии от этого пользователя при условии, что у этого пользователя также есть все необходимые доступы, предоставленные с помощью GRANT OPTION. Опции clauses 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):
Сбросьте методы аутентификации и сохраните последний добавленный:
CLAUSE VALID UNTIL
Позволяет вам указать дату окончания действия и, при необходимости, время для метода аутентификации. Он принимает строку в качестве параметра. Рекомендуется использовать формат YYYY-MM-DD [hh:mm:ss] [timezone] для даты и времени. По умолчанию этот параметр равен 'infinity'.
Clause VALID UNTIL может быть указан только в сочетании с методом аутентификации, за исключением случая, когда ни один метод аутентификации не был указан в запросе. В этом сценарии Clause 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'