ALTER USER
Changes ClickHouse user accounts.
Syntax:
ALTER USER
を使用するには、ALTER USER 権限が必要です。
GRANTEES Clause
このクエリを使用するユーザーが、privilegesを受け取ることを許可されたユーザーまたはロールを指定します。条件として、このユーザーにはGRANT OPTIONで必要なアクセス権がすべて与えられている必要があります。GRANTEES
エクスプレスのオプション:
user
— このユーザーが権限を付与できるユーザーを指定します。role
— このユーザーが権限を付与できるロールを指定します。ANY
— このユーザーは誰にでも権限を付与できます。これはデフォルト設定です。NONE
— このユーザーは誰にも権限を付与できません。
EXCEPT
式を使用することで、任意のユーザーまたはロールを除外できます。例えば、ALTER USER user1 GRANTEES ANY EXCEPT user2
という意味は、user1
に権限が付与されていれば、user2
を除く誰にでもその権限を付与できることを示します。
Examples
割り当てられたロールをデフォルトとして設定:
ユーザーにロールが以前に割り当てられていない場合、ClickHouseは例外をスローします。
すべての割り当てられたロールをデフォルトとして設定:
将来的にロールがユーザーに割り当てられると、自動的にデフォルトになります。
role1
と role2
を除いてすべての割り当てられたロールをデフォルトとして設定:
john
アカウントを持つユーザーが jack
アカウントを持つユーザーに権限を付与できるようにします:
既存の認証方法を保持しながら、新しい認証方法を追加:
注:
- 以前のバージョンの ClickHouse は、複数の認証方法の構文をサポートしていない可能性があります。したがって、ClickHouse サーバーにそのようなユーザーが含まれている場合、サーバーをサポートされていないバージョンにダウングレードすると、そのようなユーザーは使えなくなり、一部のユーザー関連の操作が壊れます。適切にダウングレードするためには、ダウングレード前にすべてのユーザーが単一の認証方法を含むように設定する必要があります。あるいは、適切な手順なしでサーバーがダウングレードされた場合、問題のあるユーザーは削除する必要があります。
no_password
は、セキュリティ上の理由から他の認証方法と共存できません。そのため、no_password
認証方法をADD
することはできません。以下のクエリはエラーをスローします:
ユーザーの認証方法を削除し、no_password
に依存したい場合は、以下の置換形式で指定する必要があります。
認証方法をリセットし、クエリで指定されたものを追加(ADD
キーワードなしの先頭の IDENTIFIED の効果):
認証方法をリセットし、最新の追加された方法を保持:
VALID UNTIL Clause
認証方法の有効期限を指定できるようにします。パラメータとして文字列を受け取ります。日付時刻には 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''