Перейти к основному содержимому
Перейти к основному содержимому

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:

Добавляет новые методы аутентификации пользователю, сохраняя существующие:

Примечания:

  1. Более ранние версии ClickHouse могут не поддерживать синтаксис нескольких методов аутентификации. Поэтому, если сервер ClickHouse содержит таких пользователей и понижается до версии, которая этого не поддерживает, такие пользователи станут недоступными, и некоторые операции, связанные с пользователями, будут нарушены. Чтобы правильно понизить версию, необходимо установить всех пользователей с единственным методом аутентификации перед понижением. В противном случае, если сервер был понижен без надлежащей процедуры, проблемных пользователей следует удалить.
  2. 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'