Oracle 권한 및 역할
본문 바로가기
CS/Database

Oracle 권한 및 역할

by IYK2h 2022. 1. 21.
728x90

권한 허가 - GRANT

GRANT Privileges [(Column[,...n]])] [,...]

[ON 객체] TO {사용자 | 롤 | PUBLIC [,...n]}

[WITH GRANT OPTION]

Privileges - 허가할 권한 지정. REFFERNCES는 외래키 제약조건을 생성하기 위한 참조 허가 권한. REFFERNCES(컬럼이름) 형태로 사용 (아래 표 참고)

Column - 사용 권한을 부여할 테이블의 열 이름을 지정. 꼭 ()안에 표시. 권한을 허가받은 사용자만이 대상 테이블의 지정된 Column 사용 가능

객체 - 사용 권한을 부여할 객체를 지정. 테이블이나 뷰 등의 이름이 온다.

TO 사용자 - 사용자나 권한의 묶음인 ROLE에 권한을 추가할 수 있다. PUBLIC은 모든 사용자가 사용할 수 있도록 공개적으로 권한을 부여한다는 의미

WITH GRANT OPTION - 허가받은 권한을 다른 사용자에게 다시 부여할 수 있는 권한.

Object Privileges 테이블 프로시저, 함수
ALTER 가능    
DELETE 가능 가능  
EXECUTE     가능
INDEX 가능    
INSERT 가능 가능  
REFFERENCES 가능 가능  
SELLECT 가능 가능  
UPDATE 가능 가능  

 

System Privileges 설명
CREATE TABLE 테이블 생성할 수 있다
CREATE VIEW 뷰를 생성할 수 있다
CREATE USER 새로운 사용자를 생성할 수 있다
CREATE TABLESPACE 테이블스페이스를 생성할 수 있다
CREATE SESSION 데이터베이스에 접속할 수 있다
DELETE ANY TABLE 다른 사용자의 테이블을 삭제(DELETE) 할 수 있다
ALTER ANY TABLE 다른 사용자의 테이블을 수정 할 수 있다
DROP ANY TABLE 다른 사용자의 테이블을 삭제(DROP) 할 수 있다
CREATE ANY TABLE 다른 사용자의 테이블을 만들 할 수 있다
SELECT ANY TABLE 다른 사용자의 테이블을 조회 할 수 있다
CREATE ANY VIEW 다른 사용자의 뷰를 만들 할 수 있다
ALTER ANY VIEW 다른 사용자의 뷰를 수정 할 수 있다
CREATE ANY INDEX 다른 사용자의 인덱스를 만들 할 수 있다
ALTER ANY INDEX 다른 사용자의 인덱스를 수정(ALTER) 할 수 있다
DROP ANY INDEX 다른 사용자의 인덱스를 삭제(DROP)할 수 있다

 

권한 취소 - REVOKE

REVOKE Privileges [(Column[,...n]])] [,...]

[ON 객체] TO {사용자 | 롤 | PUBLIC [,...n]}

 

역할 - ROLE

권한을 역할에 부여해 사용자의 역할에 따라 사용할 수 있는 권한을 저장해 둔 집합

사용자의 업무가 변경되거나 추가되어도 사용자별 열할을 부여하면 되어 관리가 편하다.

역할별 권한이 변경될 경우 각 역할의 권한만 수정한다면 사용자도 역할도 바로 적용된다.

역할 생성

CREATE ROLE 역할이름

역할 제거

DROP ROLE 역할이름

역할 권한 부여

GRANT 권한 [ON 객체] TO 역할이름

역할 권한 회수

REVOKE 권한 [ON 객체] FROM 역할이름

사용자에게 역할 부여

GRANT 역할이름 TO 사용자

해당 유저는 부여받은 롤을 모두 사용

SET ROLE ALL
728x90

'CS > Database' 카테고리의 다른 글

데이터 모델의 구성요소  (0) 2022.06.14
비 정규화 / 반 정규화(De-Normalization)  (0) 2022.06.10
트랜잭션  (0) 2022.01.14
함수 종속성  (0) 2022.01.07
DB 정규화  (0) 2021.12.31

댓글