1. 개요
- 데이터베이스 관리자는 데이터베이스에 대한 접근 권한을 갖지 못한 사용자로부터 데이터를 안전하게 보호할 의무가 있음
- DBMS에서 제공하는 보안
- 허가받지 않은 사용자, 즉 권한이 없는 사용자로부터 데이터의 접근을 사전에 차단
2. 데이터베이스에서의 사용 권한이란?
✔ 사용자가 데이터베이스 내의 특정 객체에 대해 특정 연산을 실행할 수 있는 권리
- 특정 객체 : 테이블, 필드, 뷰, 저장 프로시저 등 데이터베이스의 구성 요소
3. 권한 제어가 가능한 연산의 종류
예) SQL의 select, insert, delete, update 등
예) create table, alter table, drop table, create index 등
4 . 권한에 따른 사용자 분류
◽ 데이터베이스 관리자(DBA)
- 데이터베이스 내의 모든 객체에 대해 모든 권한을 가짐
- 객체에 대한 연산, 객체의 삭제와 변경 포함
- 사용자에게 해당 객체에 대한 권한을 부여하거나 회수 가능
◽ 객체 소유자(owner)
- 객체를 생성한 사용자
- 생성한 객체에 대해 모든 권한을 소유
- 해당 객체에 대한 권한의 부여나 회수도 포함
◽ 기타 사용자
- 기본적으로 다른 사용자의 객체에 대한 일체의 사용권한이 없음
- 다만 데이터베이스 관리자나 객체 소유자로부터 일부 또는 모든 권한을 별도로 부여받을 수 있음
권한 제어 - GRANT
- 형식 : grant <권한리스트> on <객체명> to <사용자리스트>
- 권한리스트 : select, insert, delete, update, references 중 한 개 이상
- references 권한 : 테이블을 외래키로 참조할 수 있는 권한
- 사용자리스트 : 권한을 부여받는 사용자들의 리스트