본문 바로가기
🖊️Certificate/📌SQLD

[SQLD] 2과목 - 3장) 4절. DCL

by 빛나고요 2024. 3. 8.
BIG

2과목. SQL 기본 및 활용

3장. 관리구문

4절. DCL

 

# DCL(Data Control Language)

- 데이터 제어어로 객체에 대한 권한을 부여(GRANT)하거나 회수(REVOKE) 하는 기능

- 테이블 소유자는 타계정에 조회 및 수정 권한 부여 및 회수 가능

 

# 권한

- 일반적으로 본인(접속한 계정) 소유가 아닌 테이블은 원칙적으로 조회 불가(권한 통제)

- 업무적으로 필요 시 테이블 소유자가 아닌 계정에 테이블 조회, 수정 권한 부여 가능

- 종류

오브젝트 권한

  · 테이블에 대한 권한 제어

  · 테이블 소유자는 타계정에 소유 테이블에 대한 조회, 수정 권한 부여, 회수  가능

 

② 시스템 권한

  · 시스템 작업(테이블 생성 등) 등을 제어

  · 관리자 권한만 권한 부여 및 회수 가능

 

# GRANT

- 권한 부여 시 반드시 테이블 소유자나 관리자계정(SYS, SYSTEM)으로 접속하여 권한을 부여해야 함

- 동시에 여러 유저에 대한 권한 부여 가능

- 동시 여러 권한 부여 가능

- 동시 여러 객체 권한 부여 불가능

- 문법

GRANT 권한 ON 테이블명 TO 유저;

 

 

# REVOKE

- 동시 여러 권한 회수 가능

- 이미 회수된 권한 재회수 불가

- 동시 여러 유저로부터 권한 회수 가능

- 문법

REVOKE 권한 ON 테이블명 FROM 유저;

 

# 롤(ROLE)

- 권한의 묶음(생성 가능한 객체)

- SYSTEM 계정에서 ROLE 생성 가능

- 문법

CREATE ROLE 롤이름;

 

 

# 권한부여 옵션(중간관리자(: WITH GRANT OPTION으로 권한을 부여받은 자)의 권한)

① WITH GRANT OPTION

- WITH GRANT OPTION으로 받은 오브젝트 권한을 다른 사용자에게 부여 가능

- 중간관리자가 부여한 권한은 중간관리자만 회수 가능

- 중간관리자에게 부여된 권한 회수 시 제 3자에게 부여된 권한도 함께 회수됨

 

② WITH ADMIN OPTION

- WITH ADMIN OPTION을 통해 부여받은 시스템 권한/롤 권한을 다른 사용자에게 부여 가능

- 중간관리자를 거치지 않고 직접 회수 가능

- 중간관리자 권한 회수 시 제 3자에게 부여된 권한은 회수되지 않음

 

 

댓글