시스템 권한
오라클에서 권한(Privilege)은 특정 타입의 SQL문을 실행하거나
데이터베이스나 객체에 접근할 수 있는 권리이다.
🎯 시스템권한(System Privileges)이란?
- 시스템권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록 한다.
- 권한의 ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미 한다.
- GRANT 명령은 사용자 또는 ROLE에 대해서 권한을 부여 할 수 있다.
- REVOKE 명령은 권한을 회수 한다.
🎯 대표적인 시스템권한
- CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
- CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
- CREATE VIEW : 뷰의 생성 권한
- ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
- DROP USER : 생성한 사용자를 삭제시키는 권한
시스템권한 부여
🎓 문법
GRANT [system_priviege | role] TO [user | role | PUBLIC]
[WITH ADMIN OPTION]
- system_privilege : 부여할 시스템권한의 이름
- role : 부여할 데이터베이스 역할의 이름
- user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- PUBLIC : 시스템권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다.
- WITH ADMIN OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게된다.
📖 예제
-- SYS 권한으로 접속한다.
SQL>CONN sys/manager AS SYSDBA
-- scott 사용자에게 사용자를 생성, 수정, 삭제 할 수 있는 권한을 부여하고,
-- scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있도록 권한 부여.
SQL>GRANT CREATE USER, ALTER USER, DROP USER TO scott
WITH ADMIN OPTION;
권한이 부여되었습니다.
시스템권한 회수
🎓 문법
GRANT [system_privilege | role]FROM [user | role | PUBLIC]
📖 예제
-- scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수 한다.
SQL>REVOKE CREATE USER, ALTER USER, DROP USER
FROM scott;
권한이 회수되었습니다.
시스템권한 취소
✔️ WITH ADMIN OPTION을 사용하여 시스템권한 취소
- WITH ADMIN OPTION을 사용하여 시스템권한을 부여했어도 시스템권한을 취소 할 때는 연쇄적으로 취소 되지 않는다.
💡 시나리오
- DBA가 STORM에게WITH ADMIN OPTION을 사용하여 CREATE TABLE 시스템권한을 부여 한다.
- STORM이 테이블을 생성 한다.
- STORM이 CREATE TABLE 시스템권한을 SCOTT에게 부여 한다.
- SCOTT가 테이블을 생성 한다.
- DBA가 STORM에게 부여한 CREATE TABLE 시스템권한을 취소 한다.
💡 결과
- STORM의 테이블은 여전히 존재하지만 새 테이블을 생성할 수 있는 권한은 없다.
- SCOTT는 여전히 테이블과 새로운 테이블을 생성 할 수 있는 CREATE TABLE권한을 가지고 있다.
728x90
반응형
'언어 > SQL' 카테고리의 다른 글
예명(Alias) (0) | 2022.06.13 |
---|---|
데이터 제한 및 정렬 (0) | 2022.06.10 |
[USER] USER 생성/변경/삭제 (0) | 2022.06.09 |
SQL 종류 (0) | 2022.06.09 |
SQL_SELECT문 (0) | 2022.05.25 |