ALTER USER
説明
ALTER USER 文は、パスワードやパスワードポリシーなど、ユーザーのアカウント属性を変更するために使用します。
構文
ALTER USER [IF EXISTS] <user_identity> [IDENTIFIED BY <password>]
[<password_policy>]
[<comment>]
password_policy:
1. PASSWORD_HISTORY { <n> | DEFAULT }
2. PASSWORD_EXPIRE { DEFAULT | NEVER | INTERVAL <n> { DAY | HOUR | SECOND }}
3. FAILED_LOGIN_ATTEMPTS <n>
4. PASSWORD_LOCK_TIME { UNBOUNDED | <n> { DAY | HOUR | SECOND }}
5. ACCOUNT_UNLOCK
必須パラメータ
1. <user_identity>
user_identity はユーザーを一意に識別します。構文は 'user_name'@'host' です。
user_identityは user_name と host の二つの部分で構成されます。user_name はユーザー名、host はクライアントの接続元ホストのアドレスを示します。host には % を使用したあいまい一致を指定できます。host を指定しない場合、デフォルトは '%' となり、そのユーザーはどのホストからでも Doris に接続できます。 host にはドメインも指定できます。構文は 'user_name'@['domain'] です。角括弧で囲まれている場合、Doris はこれをドメインとして扱い、その IP アドレスの解決を試みます。
オプションパラメータ
1. <password>
ユーザーのパスワードを指定します。
2. <password_policy>
password_policyは、パスワード認証によるログインに関するポリシーを指定する句です。現在、次のポリシーがサポートされています。
PASSWORD_HISTORY { <n> | DEFAULT}パスワードを再設定する際に、過去のパスワードの再利用を許可するかどうかを指定します。たとえば、
PASSWORD_HISTORY 10は、過去10回に設定したパスワードを新しいパスワードとして使用できないことを意味します。PASSWORD_HISTORY DEFAULTに設定すると、グローバル変数password_historyの値が使用されます。0はこの機能を有効にしないことを意味します。デフォルトは0です。
PASSWORD_EXPIRE { DEFAULT | NEVER | INTERVAL <n> { DAY | HOUR | SECOND }}ユーザーのパスワードの有効期限を設定します。たとえば、
PASSWORD_EXPIRE INTERVAL 10 DAYは、パスワードが10日後に期限切れになることを意味します。PASSWORD_EXPIRE NEVERは、パスワードに有効期限がないことを意味します。PASSWORD_EXPIRE DEFAULTに設定すると、グローバル変数default_password_lifetimeの値が使用されます。デフォルトは NEVER(または0)で、期限切れにならないことを意味します。
FAILED_LOGIN_ATTEMPTS <n>ユーザーが誤ったパスワードで n 回ログインを試みると、アカウントがロックされます。たとえば、
FAILED_LOGIN_ATTEMPTS 3は、ログインに3回失敗するとアカウントがロックされることを意味します。
PASSWORD_LOCK_TIME { UNBOUNDED | <n> { DAY | HOUR | SECOND }}アカウントがロックされたときのロック期間を設定します。たとえば、
PASSWORD_LOCK_TIME 1 DAYは、アカウントが一日間ロックされることを意味します。
ACCOUNT_UNLOCK
ACCOUNT_UNLOCKは、ロックされたユーザーのロック解除に使用します。
3. <comment>
ユーザーのコメントを指定します。
アクセス制御要件
この SQL コマンドを実行するユーザーには、少なくとも次の権限が必要です。
| 権限 | 対象 | 備考 |
|---|---|---|
| ADMIN_PRIV | USER または ROLE | この操作は、ADMIN_PRIV 権限を持つユーザーまたはロールのみ実行できます。 |
使用上の注意
4.1.5 以降、特別な root ID は 'root'@'%' のみです。'root'@'localhost' などの ID は通常のユーザーのままであり、ユーザー名が root であるという理由だけで、実際の root アカウントを変更する権限は得られません。実際の root アカウントに対する保護は、root という名前のほかのユーザーには適用されません。
-
バージョン 2.0 以降、このコマンドではユーザーロールの変更をサポートしていません。関連する操作には GRANT と REVOKE を使用してください。
-
ALTER USER コマンドでは、次のアカウント属性のうち、一度に変更できるのは一つだけです。
- パスワードの変更
PASSWORD_HISTORYの変更PASSWORD_EXPIREの変更FAILED_LOGIN_ATTEMPTSとPASSWORD_LOCK_TIMEの変更- ユーザーのロック解除
例
準備としてユーザー jack を作成し、以下の例で操作する対象とします。
CREATE USER jack@'%' IDENTIFIED BY "12345";
- ユーザーのパスワードを変更する
ALTER USER jack@'%' IDENTIFIED BY "12345";
- ユーザーのパスワードポリシーを変更する
ALTER USER jack@'%' FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 DAY;
- ユーザーのロックを解除する
ALTER USER jack@'%' ACCOUNT_UNLOCK
- ユーザーのコメントを変更する
ALTER USER jack@'%' COMMENT "this is my first user"