ㅁDCL(Data Control Language): 데이터 제어어
① GRANT문: DB 사용자의 사용 권한 부여
2가지 타입이 있다
1. 객체 권한 부여 by 객체소유자
GRANT 권한 ON 객체 TO 사용자 [WITH GRANT OPTION];
객체 소유자가 다른 사용자에게 객체에 대한 사용 권한을 부여한다
(여러 권한을 한 번에 부여할 수도 있으나 GRANT문으로 부여된 권한은 기본적으로 다른 사용자에게 재부여가 불가능하다)
(옵션)
PUBLIC 키워드: 모든 사용자에게 똑같은 권한을 부여하는 키워드 ("사용자" 대신 작성)
WITH GRANT OPTION: 사용자가 자신이 부여받은 권한을 다른 사용자에게도 부여할 수 있도록 허락하는 옵션
예제 1
예제 2
2. 시스템 권한 부여 by DBA(데이터베이스 관리자)
데이터베이스 관리와 관련된 작업에 대한 권한 부여
GRANT CREATE TABLE TO 사용자 -- 1. 테이블 생성 권한
GRANT CREATE VIEW TO 사용자 -- 2. 뷰 생성 권한
(특정 객체에 대한 권한 부여가 아니므로 객체 지정 불필요)
예제
역할기반 접근제어(RBAC, Role-Based Access Control)
역할(ROLE)을 생성하고, 특정 객체에 ROLE을 부여하고, 사용자에게 다수의 ROLE을 부여함으로써 다양한 권한을 사용자에게 부여
② REVOKE문: 권한 취소
GRANT 명령을 통해 부여했던 권한을 취소하는 것, 이것도 역시 2가지 타입이 있다
1. 객체 권한 취소 by 권한소유자
REVOKE 권한 ON 객체 FROM 사용자 CASCADE | RESTRICT;
CASCADE: 전체 취소
RESTRICT: 부분 취소
예제 1
예제 2
2. 시스템 권한 취소 by DBA(데이터베이스 관리자)
REVOKE CREATE TABLE FROM 사용자 -- 1. 테이블 생성 권한 취소
REVOKE CREATE VIEW FROM 사용자 -- 2. 뷰 생성 권한 취소
예제
출처 및 참고: 세종대학교 K-MOOC 데이터베이스 보안(김영갑)
'DBMS > 데이터베이스' 카테고리의 다른 글
[데이터베이스] 빅데이터(Big Data) (2) | 2024.07.03 |
---|---|
[데이터베이스] ep5) 뷰(view) (0) | 2024.07.01 |
[데이터베이스] ep4-2) SQL: DML (0) | 2024.06.29 |
[데이터베이스] ep4-1) SQL: DDL (0) | 2024.06.21 |
[데이터베이스] ep3) RDB (2) | 2024.06.21 |