권한 관리
- 시스템 권한 : 사용자가 데이터베이스에서 특정 작업을 수행할 수 있도록 함
- 객체 권한 : 사용자가 특정 객체를 액세스 및 조작할 수 있도록 함
시스템 권한
- 100개 이상의 구분 시스템 권한이 있음
- 권한의 ANY 키워드는 사용자가 임의의 스키마에서 권한을 가짐을 의미
- GRANT 명령은 사용자 또는 사용자 그룹에 권한을 추가함
- REVOKE 명령은 권한을 삭제함
시스템 권한 : 예제
범주 | 예제 |
INDEX | CREATE ANY INDEX ALTER ANY INDEX DDROP ANY INDEX |
TABLE | CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE |
SESSION | CREATE SESSION ALTER SESSION RESTRICTED SESSION |
TABLESPACE | CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE |
시스템 권한 부여
- GRANT 명령을 사용하여 시스템 권한을 부여함
- 권한을 부여받은 사용자는 ADMIN 옵션을 사용하여 시스템 권한을 부여할 수 있음
시스템 권한 취소
- REVOKE 명령을 사용하여 사용자의 시스템 권한 제거
- 시스템 권한에 대한 ADMIN OPTION 권한이 있는 사용자는 시스템 권한을 취소할 수 있음
- GRANT 명령을 사용하여 부여받은 권한만 취소할 수 있음
객체 권한 부여
- GRANT 명령을 사용하여 객체 권한 부여
- 객체가 권한을 부여한 사용자의 스키마에 있어야 하거나 권한을 부여한 사용자가 GRANT OPTION 권한을 가져야 함
객체 권한 취소
- REVOKE 명령을 사용하여 객체 권한을 취소함
- 권한을 취소하는 사용자는 취소될 객체 권한을 부여한 사용자여야 함
권한 정보 얻기
- DBA_SYS_PRIVS : 사용자와 롤에 부여된 시스템 권한 확인
- SESSION_PRIVS : 사용자가 현재 사용할 수 있는 권한 확인
- DBA_TAB_PRIVS : 데이터베이스의 모든 객체에 대한 모든 권한 부여 확인
- DBA_COL_PRIVS : 데이터베이스의 모든 객체-열 부여 권한 확인