ClickHouse/docs/ru/sql-reference/statements/alter/user.md
Dmitriy d0db5623c1 Translate to Russian
Выполнил перевод на русский язык.
2021-05-10 22:51:26 +03:00

3.7 KiB
Raw Blame History

toc_priority toc_title
45 USER

ALTER USER

Изменяет аккаунты пользователей ClickHouse.

Синтаксис:

ALTER USER [IF EXISTS] name1 [ON CLUSTER cluster_name1] [RENAME TO new_name1] 
        [, name2 [ON CLUSTER cluster_name2] [RENAME TO new_name2] ...]
    [NOT IDENTIFIED | IDENTIFIED {[WITH {no_password | plaintext_password | sha256_password | sha256_hash | double_sha1_password | double_sha1_hash}] BY {'password' | 'hash'}} | {WITH ldap SERVER 'server_name'} | {WITH kerberos [REALM 'realm']}]
    [[ADD | DROP] HOST {LOCAL | NAME 'name' | REGEXP 'name_regexp' | IP 'address' | LIKE 'pattern'} [,...] | ANY | NONE]
    [DEFAULT ROLE role [,...] | ALL | ALL EXCEPT role [,...] ]
	[GRANTEES {user | role | ANY | NONE} [,...] [EXCEPT {user | role} [,...]]]
    [SETTINGS variable [= value] [MIN [=] min_value] [MAX [=] max_value] [READONLY | WRITABLE] | PROFILE 'profile_name'] [,...]

Для выполнения ALTER USER необходима привилегия ALTER USER.

Секция GRANTEES

Указываются пользователи или роли, которым разрешено получать привилегии от указанного пользователя при условии, что этому пользователю также предоставлен весь необходимый доступ опцией GRANT. Параметры секции GRANTEES:

  • user — указывается пользователь, которому разрешено получать привилегии от указанного пользователя.
  • role — указывается роль, которой разрешено получать привилегии от указанного пользователя.
  • ANY — любому пользователю или любой роли разрешено получать привилегии от указанного пользователя. Используется по умолчанию.
  • NONE — никому не разрешено получать привилегии от указанного пользователя.

Вы можете исключить любого пользователя или роль, используя выражение EXCEPT. Например, ALTER USER user1 GRANTEES ANY EXCEPT user2.

Примеры

Установить ролями по умолчанию роли, назначенные пользователю:

ALTER USER user DEFAULT ROLE role1, role2;

Если роли не были назначены пользователю, ClickHouse выбрасывает исключение.

Установить ролями по умолчанию все роли, назначенные пользователю:

ALTER USER user DEFAULT ROLE ALL;

Если роль будет впоследствии назначена пользователю, она автоматически станет ролью по умолчанию.

Установить ролями по умолчанию все назначенные пользователю роли кроме role1 и role2:

ALTER USER user DEFAULT ROLE ALL EXCEPT role1, role2;

Разрешить пользователю с аккаунтом john предоставить свои привилегии пользователю с аккаунтом jack:

ALTER USER john GRANTEES jack;