1 minute read

오라클 권한에 대해서 알아보자

1. GRANT

1.1. INSERT 권한

특정 사용자에게 데이터 삽입 권한을 부여한다.

GRANT INSERT ON [TABLE NAME] TO [USER];


1.2. SELECT 권한

특정 사용자에게 데이터 조회 권한을 부여한다.

GRANT SELECT ON [TABLE NAME] TO [USER];


1.3. DELETE 권한

특정 사용자에게 데이터 삭제 권한을 부여한다.

GRANT DELETE ON [TABLE NAME] TO [USER];


1.4. UPDATE 권한

특정 사용자에게 데이터 수정 권한을 부여한다.

GRANT UPDATE ON [TABLE NAME] TO [USER];


1.5. SESSION 권한

생성한 계정에 DB에 접근할 수 있는 권한을 생성한다.

GRANT CREATE SESSION TO [USER];


1.6. CREATE USER 권한

사용자를 생성하는 권한

GRANT CREATE USER TO [USER];


1.7. DROP USER 권한

사용자를 삭제하는 권한

GRANT DROP USER TO [USER];


1.8. DROP ANY TABLE 권한

테이블 삭제하는 권한

GRANT DROP ANY TABLE TO [USER];


1.9. QUERY REWRITE 권한

A라는 사용자가 복잡한 쿼리를 이용하여 VIEW를 만들었는데 B라는 사용자가 똑같은 쿼리를 수행했을 경우 A사용자가 만든 VIEW를 조회하도록 하는 권한

즉 이미 동일한 쿼리로 만들어진 VIEW가 존재할 경우 해당 쿼리 수행시 VIEW를 조회하도록 하는 권한이다.

GRANT QUERY REWRITE TO [USER];


1.10. CREATE TABLE 권한

사용자 스키마에서 테이블을 생성할 수 있는 권한

GRANT CREATE TABLE TO [USER];


1.11. CREATE VIEW 권한

사용자 스키마에서 뷰를 생성할 수 있는 권한

GRANT CREATE VIEW TO [USER];


1.12. CREATE SEQUENCE 권한

사용자 스키마에서 함수를 생성할 수 있는 권한

GRANT CREATE SEQUENCE TO [USER];


1.13. CREATE PROCEDURE 권한

사용자 스키마에서 함수를 생성할 수 있는 권한

GRANT CREATE PROCEDURE TO [USER];


1.14. 여러 개 권한 부여

여러 개의 권한을 부여하고 싶을 경우 다음과 같이 나열한다.

GRANT SELECT, INSERT, DELETE, UPDATE ON [TABLE NAME] TO [USER];


1.15. 사용자에게 부여된 권한 조회

SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'HOYA' ;  


1.16. 현재 세션 사용자에게 부여된 ROLE 조회

현재 세션 사용자에게 부여된 ROLE 조회

SELECT * FROM USER_ROLE_PRIVS;  


2. ROLE 역할

여러 개의 권한 묶어 ROLE을 만들고 사용자에게 해당 ROLE을 부여할 수 있다.


2.1. ROLE 생성

ROLE을 생성한다.

CREATE ROLE user_role;


2.2. ROLE에 권한 부여

ROLE에 권한을 부여한다.

 GRANT CREATE SYNONYM, CREATE VIEW to user_role;


2.3. ROLE 부여

생성된 ROLE을 사용자에게 부여한다.

 GRANT user_role TO [사용자];


3. REVOKE 권한 회수

GRANT로 부여된 권한 및 역할을 회수한다.

REVOKE user_role TO [사용자];

REVOKE CREATE TABLE TO [사용자]; 

=끝=

Categories:

Updated:

Leave a comment