2.3.1 시스템 권한(System Privileges)

출처 URL : http://www.gurubee.net/lecture/1008

오라클에서 권한(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권한을 가지고 있다.
시스템권한의 회수

답글 남기기 0

Your email address will not be published. Required fields are marked *