MariaDB User
Database의 중요한 관리 중 하나는 User 에 대한 관리설정이다.
사용자에 맞는 User를 생성하고 발급하며, 해당 User별로 권한을 설정함으로써 보안에 좀 더 신경 쓸 수 있다.
요번 포스팅에서는 MariaDB의 User의 생성, 변경, 삭제를 할 수 있는 DDL에 대해서 알아보도록 하자.
User DDL
MariaDB User의 Create / Alter / Drop 명령어로 유저의 생성과 변경, 삭제를 담당한다.
MariaDB의 User는 다른 Database와 다르게, 접근 위치 별(Host) 계정을 생성 할 수 있다. DDL명령어 설명하며 같이 설명하도록 하겠다.
사용자에 대한 정보는 mysql.user 라는 시스템 뷰로 확인 할 수 있다.
select * from mysql.user;
아래에서는 간략하게 생성과 삭제, 비밀번호 변경에 대해서만 알아보도록한다.
MariaDB의 사용자 정보는 MariaDB가 구동 될때 Memory에 올라가므로, 사용자 정보를 생성하거나 변경한 후 아래의 명령어를 통해 갱신을 해줘야 한다.
flush privileges;
Create User
create user '[User Name]'@'[Host]' identified by '[Password]';
flush privileges;
원하는 User Name의 Password를 설정하여 사용자를 생성한다.
다른 데이터베이스와 다른 점은 Host부분인데. 해당 계정이 로그인 할 수 있는 IP를 지정하는 것이다.
모든 IP대역에서 접근하고 싶다면 '%'를 통해 여타 다른 데이터베이스의 계정과 동일한 느낌으로 사용 할 수 있으며, 100.100.100.% 처럼 100.100.100 이하 모든 대역에서 접속할 수 있도록 설정 할 수도 있다.
또한, %.100.100.100 처럼 사용 할 수도 있다.
동일한 User Name이여도 Host가 다르다면 다른 사용자이므로 패스워드와 권한에 주의할 필요가 있다.
동일한 User Name의 접근 host의 우선순위로는 100.100.100.100의 IP에서 접근할 때,
%.100.100.100의 사용자 계정보다 100.100.100.%을 우선순위로 접근하게 된다.
Alter User
alter user '[User Name]'@'[Host]' identified by '[New Password]';
flush privileges;
사용자의 패스워드 변경을 할 수 있다. 호스트 값을 주의하여 변경하도록 하자.
패스워드 뿐만아니라, 계정을 잠금상태로도 변경 할 수 있다.
[MariaDB] 사용자 계정 접속 잠금, 비활성화(?) - ACCOUNT LOCK
Drop User
drop user '[User Name]'@'[Host]';
flush privileges;
특정 사용자 계정을 삭제하는 명령어 이다.
마찬가지로 Host를 주의하여 삭제를 한다.
사용자를 Drop 할때는 프로시저나 함수의 definer를 주의하여 삭제하여아한다.
프로시저나 함수 등의 오브젝트를 선언한 User가 없으면 해당 오브젝트가 실행될 때 오류가 발생 할 수 있다.
특정 계정에 대해 삭제보다는 위에 언급한 계정 잠금 처리를 하여, 보안 설정을 한 경험이 있다.
Related Posts
[MariaDB] Password 복잡도 설정 - simple_password_check Plugin
[MariaDB][Linux] 보안 설치 - mariadb-secure-installation
[MariaDB] 사용자 계정 접속 잠금, 비활성화(?) - ACCOUNT LOCK
'DATABASE > MariaDB' 카테고리의 다른 글
[MariaDB][Linux] Log Setting (2) - Error Log 설정하기 (0) | 2024.02.02 |
---|---|
[MariaDB][Linux] Log Setting (1) - General Log, Slow Query Log 설정하기 (1) | 2024.01.19 |
[DBA][MariaDB] 사용자 계정 접속 잠금, 비활성화(?) - ACCOUNT LOCK (0) | 2024.01.12 |
[MariaDB] 장애 조치 - Galera Cluster 동기화 전송 지연 (Delete_rows_log_event::find_row) (0) | 2024.01.05 |
[MariaDB][Linux] 보안 설치 - mariadb-secure-installation (0) | 2023.12.29 |
[MariaDB] Password 복잡도 설정 - simple_password_check Plugin (0) | 2023.12.06 |
[MariaDB][Linux] MaxScale 설치 - Load Balancer (1) | 2023.08.03 |
[MariaDB][Linux] Galera Cluster 설치 - 이중화 / HA 구성 (1) | 2023.07.26 |