데이터베이스 보안과 운영의 핵심은 사용자와 권한 관리입니다. Oracle과 Tibero 모두 유사한 구조를 가지고 있어, 계정 생성부터 권한 부여·회수까지 기본 개념만 잘 익히면 쉽게 다룰 수 있습니다. 이번 글에서는 Oracle과 Tibero의 사용자(User) 및 권한(Privilege) 관리 방법을 예제 중심으로 비교 정리합니다.
Oracle에서 사용자(User) 생성과 권한 관리
사용자 생성
-- 사용자 생성
CREATE USER dev_user IDENTIFIED BY strong_pass;
-- 기본 테이블스페이스 지정
CREATE USER dev_user IDENTIFIED BY strong_pass
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
SQL권한 부여
-- 접속 권한
GRANT CREATE SESSION TO dev_user;
-- 객체 생성 권한
GRANT CREATE TABLE, CREATE VIEW TO dev_user;
-- 롤(Role) 부여
GRANT CONNECT, RESOURCE TO dev_user;
SQL권한 회수
REVOKE CREATE TABLE FROM dev_user;
SQL💡 Oracle TIP
- 실무에서는
CONNECT, RESOURCE
롤보다는 필요 최소 권한만 직접 부여하는 것이 보안에 유리합니다. - DBA 권한은 반드시 운영 정책에 따라 제한적으로 부여해야 합니다.
Tibero에서 사용자(User) 생성과 권한 관리
Tibero는 Oracle과 호환성이 높아 대부분의 구문이 동일합니다.
사용자 생성
-- 사용자 생성
CREATE USER dev_user IDENTIFIED BY strong_pass;
-- 기본 테이블스페이스 지정
CREATE USER dev_user IDENTIFIED BY strong_pass
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
SQL권한 부여
-- 접속 권한
GRANT CREATE SESSION TO dev_user;
-- 객체 생성 권한
GRANT CREATE TABLE, CREATE VIEW TO dev_user;
-- 롤(Role) 부여
GRANT CONNECT, RESOURCE TO dev_user;
SQL권한 회수
REVOKE CREATE VIEW FROM dev_user;
SQL💡 Tibero TIP
- Tibero는 대부분 Oracle과 동일하지만, 일부 내장 롤(예: RESOURCE) 의 구성 권한이 다를 수 있습니다.
- 프로젝트 환경에 맞게 직접 커스텀 롤을 만들어 관리하는 방식을 추천합니다.
실무 활용 팁
- 최소 권한 원칙(Principle of Least Privilege): 업무에 필요한 최소 권한만 부여해야 합니다.
- 롤(Role) 기반 관리: 개별 사용자에게 직접 권한을 주는 대신, 역할 단위(Role)를 만들어 관리하면 유지보수가 편리합니다.
- 감사 로깅(Auditing): 중요한 권한 변경 사항은 반드시 감사(Audit) 로깅을 활성화하여 추적 가능하도록 해야 합니다.
- 테스트 환경 분리: 개발/테스트 계정과 운영 계정은 명확히 분리해 관리하는 것이 보안상 안전합니다.
마무리
Oracle과 Tibero의 사용자 및 권한 관리는 거의 동일한 방식으로 처리됩니다. 계정 생성, 권한 부여/회수, 롤 관리라는 기본 원칙만 숙지하면 양쪽 DBMS 모두 무리 없이 다룰 수 있습니다. 실무에서는 반드시 최소 권한 원칙과 롤 기반 관리, 감사 로깅을 통해 보안을 강화하는 것이 중요합니다.