정의: 권한 없는 사용자의 접근을 막는 것
DBMS 사용권한: 사용자가 특정 객에체 대해 특정 연산을 수행할 수 있는 권한
권한에 따른 사용자 분류
- 데이터베이스 관리자(DBA)
- 모든 권한 보유
- 모든 테이블 생성, 읽기 권한 부여 가능
- 객체 소유자(owner)
- 해당 객체에 대한 테이블 생성, 읽기 권한 부여 가능
- 기타 사용자
오라클에서의 사용자 권한제어

- 시스템 권한: 사용자의 생성, 테이블 테이블 스페이스의 생성 등과 같이 주로 시스템의 자원을 관리할 수 있는 권한
- sys, system 관리자 계정은 모든 시스템 권한을 가짐
- 객체 권한:
- 해당 객체에 대해 select, insert, delete, updata 등과 같은 DML을 실행할 수 있는 권한
SQL에서의 권한 제어문 GRANT
- 정의: 권한을 부여하는 명령
- 형식: grant <권한리스트> on <객체명> to <사용자리스트>
- 예시: grant select on student to USER1 (USER1에게 student 테이블을 선택(조회) 할 수 있는 권한 제공
- references 권한: 다른 테이블의 기본키를 외래키로 등록 할 수 있는 권한
- 모든 사용자들에게 권한 부여: to public (사용자 리스트)
- 해당 테이블의 모든 권한 부여: all privileges (권한 리스트)
- ~with grant option: 다른 사용자에게 권한을 부여할 수 있는 권한도 제공
SQL에서의 권한 제거 REVOKE
- 다른 사용자에게 부여한 권한을 회수하기 위한 명령
- 형식: revoke <권한리스트> on <객체명> from <사용자리스트>
- 예시: revoke select on student from kim
- revoke 된다면 권한을 부여받은 사람이 권한을 부여한 사람도 권한이 회수된다.
롤(ROLE)
- 권한을 부여할 사용자가 많을 경우 사용
- 권한을 부여받을 그룹을 생성
- 형식:
- grant <롤리스트> to <사용자리스트>
- revoke <롤리스트> to <사용자리스트>
- drop roll <롤리스트>
- 예시: grant employee to USER1, USER2