관리 메뉴

fatalite

SECURITY with Oracle SQL 본문

카테고리 없음

SECURITY with Oracle SQL

fataliteforu 2022. 12. 13. 13:28

 

GRANT 권한 (애트리뷰트 리스트)
ON 객체
TO 사용자 | 역할 | PUBLIC
WITH GRANT OPTION

GRANT의 권한은 INSERT, UPDATE 등을 의미한다. 

ON 객체는 릴레이션의 이름을 의미한다.

TO에 사용자는 유저 단위 혹은 역할, 전체에게 부여될 수 있다. 

WITH GRANT OPTION 키워드는, 지금 부여하는 유저에게 똑같이 다른 유저에게 할 수 있는 권한을 주겠다는 것이다.

 

REVOKE 권한리스트 | ALL
ON 객체
FROM 사용자 | 역할 | ALL ;

 

만약 A -> B -> C가 WITH GRANT OPTION으로 순서적으로 권한을 부여했다면, A가 권한 부여를 취소하면 C 또한 권한 부여를 잃게 된다. 

 

위까지가 객체 권한이고, 시스템 권한도 가능하다.

GRANT CREATE TABLE

TO ~ 와 같이 사용할 수 있다.

그리고 WITH ADMIN OPTION이 붙을 수 있는데, 이러면 GRANT OPTION과 같이 권한 부여 자격을 얻게된다.

하지만 WITH GRANT OPTION과는 달리, 연쇄적으로 권한을 잃어버리게 되지는 않는다. 

 

오라클에서는 역할을 쉽게 사용할 수 있게 CONNECT와 RESOURCE로 정의해놓았다.

CONNECT는 말 그대로 연결만 가능하고 갱신, 검색 등이 가능하고

RESOURCE는 자신이 테이블 등을 생성할 수 있다. 또한 자신의 객체에 대해 권한을 부여할 수 있다.

DBA는 데이터베이스 어드민에게 주어지며, 모든 시스템 권한을 보유하게 된다.

 

SYSOPER은 전체적인 관리자, SYSDBA는 데이터 베이스의 관리자라고 생각하면 될 것 같다?

 

REVOKE ALL PRIVILEGES FROM LEE; 와 같이 선언하면 LEE의 모든 권한을 제거한다.

 

USER_TAB_PRIVS 데이터 사전뷰로, 유저의 권한을 볼 수 있다. 

 

CREATE SYNONYM 동의어 FOR 객체; 로 LEE.EMPLOYEES와 같은 걸 EMP로 축약할 수 있게된다.