언어/SQL

[USER] USER 권한 설정

asu2880 2022. 6. 9. 16:02

시스템 권한

오라클에서 권한(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을 사용하여 시스템권한을 부여했어도 시스템권한을 취소 할 때는 연쇄적으로 취소 되지 않는다.

💡 시나리오

  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권한을 가지고 있다.
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