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의 두 부분으로 구성되며, username은 사용자 이름입니다. 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'@'%'만 특수한 root 계정으로 취급됩니다. 'root'@'localhost'와 같은 계정은 여전히 일반 사용자이며, 사용자 이름만으로 실제 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"