2.3.1. 시스템 권한(System Privileges)
오라클에서 권한(Privilege)은 특정 타입의 SQL문을 실행하거나 데이터베이스나 객체에 접근할 수 있는 권리이다.
시스템권한(System Privileges)이란?
- - 시스템권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록 한다
- - 권한의 ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미 한다.
- - GRANT 명령은 사용자 또는 ROLE에 대해서 권한을 부여 할 수 있다.
- - REVOKE 명령은 권한을 회수 한다.
대표적인 시스템권한
- - CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
- - CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
- - CREATE VIEW : 뷰의 생성 권한
- - ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
- - DROP USER : 생성한 사용자를 삭제시키는 권한
시스템권한 부여 문법
- - 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; 권한이 부여되었습니다.
시스템권한의 회수
시스템권한 회수 예제
-- scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수 한다. SQL>REVOKE CREATE USER, ALTER USER, DROP USER FROM scott; 권한이 회수되었습니다.
WITH ADMIN OPTION을 사용하여 시스템권한 취소
WITH ADMIN OPTION을 사용하여 시스템권한을 부여했어도 시스템권한을 취소 할 때는 연쇄적으로 취소 되지 않는다.
시나리오- 1. DBA가 STORM에게WITH ADMIN OPTION을 사용하여 CREATE TABLE 시스템권한을 부여 한다.
- 2. STORM이 테이블을 생성 한다.
- 3. STORM이 CREATE TABLE 시스템권한을 SCOTT에게 부여 한다.
- 4. SCOTT가 테이블을 생성 한다.
- 5. DBA가 STORM에게 부여한 CREATE TABLE 시스템권한을 취소 한다.
결과
- - STORM의 테이블은 여전히 존재하지만 새 테이블을 생성할 수 있는 권한은 없다.
- - SCOTT는 여전히 테이블과 새로운 테이블을 생성 할 수 있는 CREATE TABLE권한을 가지고 있다.
'Database > Oracle SQL' 카테고리의 다른 글
3.2. 테이블의 제약조건 (0) | 2019.04.17 |
---|---|
3.1. 테이블의 생성 (0) | 2019.04.17 |
2.3.4. 오라클 데이터베이스를 설치하면 기본적으로 생성되는 Role (0) | 2019.04.17 |
2.3.3. 롤(Role) (0) | 2019.04.17 |
2.3.2. 객체 권한(Object Privileges) (0) | 2019.04.17 |
2.2. USER의 변경 및 삭제 (0) | 2018.08.21 |
2.1. USER의 생성 (0) | 2018.08.21 |
1. SQL의 종류 (0) | 2018.08.21 |