ALTER USER を使用するには、ALTER USER 権限を持っている必要があります。
GRANTEES 句
GRANTEES 句のオプションは次のとおりです。
user— このユーザーが権限を付与できるユーザーを指定します。role— このユーザーが権限を付与できるロールを指定します。ANY— このユーザーは誰にでも権限を付与できます。これはデフォルト設定です。NONE— このユーザーは誰にも権限を付与できません。
EXCEPT 式を使用すると、任意のユーザーまたはロールを除外できます。たとえば、ALTER USER user1 GRANTEES ANY EXCEPT user2 です。これは、user1 が GRANT OPTION 付きでいくつかの権限を付与されている場合、それらの権限を user2 を除く誰にでも付与できることを意味します。
例
role1 と role2 を除き、割り当てられているすべてのロールをデフォルトに設定します。
john アカウントのユーザーが、自身の権限を jack アカウントのユーザーに付与できるようにします。
- 古いバージョンのClickHouseでは、複数の認証方式の構文がサポートされていない場合があります。そのため、ClickHouse serverにそのようなユーザーが存在する状態で、その構文をサポートしていないバージョンにダウングレードすると、それらのユーザーは使用不能になり、一部のユーザー関連操作も正常に行えなくなります。問題なくダウングレードするには、事前にすべてのユーザーが単一の認証方式のみを持つように設定しておく必要があります。あるいは、適切な手順を踏まずにserverをダウングレードしてしまった場合は、問題のあるユーザーを削除する必要があります。
no_passwordは、セキュリティ上の理由から他の認証方式と併用できません。 そのため、no_password認証方式をADDすることはできません。以下のクエリはエラーになります:
no_password を使用する場合は、以下の置換形式で指定する必要があります。
認証方式をリセットし、クエリで指定したものを追加します (ADD キーワードを伴わない先頭の IDENTIFIED の効果) :
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''