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:
Добавляет пользователю новые методы аутентификации, при этом сохраняя существующие:
Notes:
- Более старые версии 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''