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'