Database/Oracle

[SQL]DCL - GRANT, REVOKE

Ma_Sand 2022. 3. 29. 20:20
반응형

DCL(DATA CONTROL LANGUAGE)

   : 데이터 제어 언어로써 계정에게 시스템 권한 또는 객체 접근 권한을 부여(GRANT)하거나 회수(REVOKE)한다.

 

 (1) GRANT(권한 부여)

   ① 시스템 권한: 특정 DB에 접근하는 권한이며, 객체들을 생성할 수 있는 권한이다.

     ⓐ GRANT 권한1, 권한2, ... TO 계정명;

     ⓑ 종류

       - CREATE SESSION: 계정에 접속할 수 있는 권한

GRANT CREATE SESSION TO SAMPLE;

 

       - CREATE TABLE: 테이블을 생성할 수 있는 권한

GRANT CREATE TABLE TO SAMPLE;

 

       - CREATE VIEW: 뷰를 생성할 수 있는 권한

GRANT CREATE VIEW TO SAMPLE;

 

       - CREATE SEQUENCE: 시퀀스를 생성할 수 있는 권한

CREATE SEQUENCE TO SAMPLE;

 

       - CREATE USER: 계정을 생성할 수 있는 권한

CREATE USER SAMPLE IDENTIFIED BY SAMPLE;

 

 

   ② 객체 접근 권한: 특정 객체들에 접근하여 조작할 수 있는 권한이다.

     ⓐ 조작: SELECT, INSERT, UPDATE, DELETE = DML

     ⓑ GRANT 권한 ON 특정객체 TO 계정명;

     ⓒ 권한의 종류와 특정 객체

권한의 종류 특정 객체
SELECT TABLE, VIEW, SEQUENCE
INSERT TABLE, VIEW
UPDATE TABLE, VIEW
DELETE TABLE, VIEW

 

 - SAMPLE 계정에 YJ의 EMPLOYEE 테이블을 조회할 수 있는 권한을 부여하기

GRANT SELECT ON YJ.EMPLOYEE TO SAMPLE;

 

 - SAMPLE 계정에 YJ의 DEPARTMENT 테이블에 행을 삽입할 수 있는 권한을 부여하기

GRANT INSERT ON YJ.DEPARTMENT TO SAMPLE;

 

 - SAMPLE 계정에 최소한의 권한만 부여하기

GRANT CONNECT, RESOURCE TO SAMPLE;

  ** ROLE: 특정 권한들을 하나의 집합으로 모아놓은 것

      - CONNECT: CREATE SESSION(데이터베이스 접속 권한)

      - RESOURCE: CREATE TABLE, CREATE SEQUENCE, SELECT, INSERT, ...(특정 객체들을 생성 및 조작할 수 있는 권한)

 

 

 

 (2) REVOKE(권한 회수)

   : 권한을 회수할 때 사용하는 명령어

  - REVOKE 권한1, 권한2, ... FROM 계정명;

REVOKE CREATE TABLE FROM SAMPLE;
반응형