전이섭
03/31/2026, 7:05 AMRocky
03/31/2026, 7:05 AMroot 계정 관리와 삭제/비활성화 여부에 대해 설명해 드립니다.
1. root 계정의 삭제 및 비활성화 가능 여부
* 삭제 가능 여부: StarRocks에서 root 계정은 시스템 내장 기본 슈퍼유저 계정으로, 삭제할 수 없습니다. 이는 클러스터 관리 및 권한 체계의 근간이 되는 계정이기 때문입니다.
* 비활성화 가능 여부: 별도의 DISABLE 명령어나 LOCK 상태가 공식적으로 존재하지는 않지만, 실질적으로 사용을 제한하는 방식으로 관리합니다.
2. 프로덕션 레벨의 root 계정 관리 베스트 프랙티스
프로덕션 환경에서는 보안을 위해 root 계정을 직접 사용하는 것을 지양하고 다음과 같은 방식으로 관리합니다.
① 강력한 비밀번호 설정 (필수)
StarRocks 설치 직후 root 계정의 비밀번호는 비어 있습니다. 가장 먼저 강력한 비밀번호를 설정해야 합니다.
sql
SET PASSWORD FOR 'root'@'%' = PASSWORD('your_very_strong_password');
② 전용 관리자 계정 생성 및 권한 분산
root 대신 특정 작업에 최적화된 역할을 가진 사용자 계정을 생성하여 사용합니다. StarRocks의 RBAC(Role-Based Access Control)를 활용하세요.
* 사용자 관리자: user_admin 역할을 부여하여 계정 생성 및 권한 관리를 담당하게 합니다.
* 데이터베이스 관리자: db_admin 역할을 부여하여 스키마 및 테이블 관리를 담당하게 합니다.
③ 접속 IP 제한 (Host 제한)
root 계정이 모든 곳(%)에서 접속하지 못하도록 특정 관리용 점프 호스트(Jump Box)나 내부 네트워크 IP에서만 접속 가능하도록 제한하는 것이 좋습니다.
sql
-- 기존 root@'%' 대신 특정 IP로 제한된 root 계정 활용 고려
CREATE USER 'root'@'10.1.1.10' IDENTIFIED BY 'password';
GRANT root TO USER 'root'@'10.1.1.10';
④ root 계정 "봉인" (실질적 비활성화)
root 계정을 비활성화하고 싶다면, 다음 단계를 권장합니다.
1. `root`와 동일한 권한을 가진 *별도의 관리자 계정*을 먼저 생성합니다.
2. root 계정에 매우 복잡한 비밀번호를 설정하고, 이를 안전한 곳(패스워드 금고 등)에 보관합니다.
3. 일상적인 운영 업무에서는 `root`를 전혀 사용하지 않습니다.
3. 만약 root 비밀번호를 분실했다면?
프로덕션 운영 중 root 비밀번호를 잊어버려 관리가 불가능한 경우, 다음 절차를 통해 초기화할 수 있습니다.
1. 모든 FE(Frontend) 노드의 fe.conf 파일에 enable_auth_check = false 설정을 추가합니다.
2. FE를 재시작합니다. (이때는 인증 없이 접속 가능하므로 보안에 주의해야 하며, 작업 중 외부 접근을 차단해야 합니다.)
3. `mysql -h <FE_IP> -P9030 -uroot`로 접속하여 비밀번호를 재설정합니다.
4. fe.conf 설정을 다시 `true`로 돌리고 FE를 재시작합니다.
요약하자면: root 계정은 삭제할 수 없으므로, 강력한 비밀번호를 설정하고 관리자 전용 계정을 따로 만들어 사용하는 것이 프로덕션의 표준 운영 방식입니다.
추가로 궁금하신 점이 있으면 언제든 물어봐 주세요! Rocky가 도와드리겠습니다.
References
• administration/user_privs/authentication/native_authentication.md
• sql-reference/sql-statements/account-management/CREATE_USER.md
• sql-reference/sql-statements/account-management/ALTER_USER.md