● DCL(Data Control Language)
- 데이터 제어어로 객체에 대한 권한을 부여(GRANT)하거나 회수(REVOKE)하는 기능
- 테이블 소유자는 타계정에 테이블 조회 및 수정 권한 부여 및 회수 가능
● 권한
- 일반적으로 본인(접속한 계정) 소유가 아닌 테이블은 원칙적으로 조회 불가(권한 통제)
- 업무적으로 필요시 테이블 소유자가 아닌 계정에 테이블 조회, 수정 권한 부여 가능
* 권한 종류
1) 오브젝트권한
- 테이블에 대한 권한 제어
ex) 특정 테이블에 대한 SELECT, INSERT, UPDATE, DELETE, MERGE 권한
- 테이블 소유자는 타계정에 소유 테이블에 대한 조회 및 수정 권한 부여 및 회수 가능
2) 시스템권한
- 시스템 작업(테이블생성 등)등을 제어
ex) 테이블 생성 권한, 인덱스 삭제 권한
- 관리자 권한만 권한 부여 및 회수 가능
● GRANT
- 권한 부여 시 반드시 테이블 소유자나 관리자계정(SYS, SYSTEM)으로 접속하여 권한을 부여하여야 함
- 동시에 여러 유저에 대한 권한 부여 가능
- 동시 여러 권한 부여 가능
- 동시 여러 객체 권한 부여 불가
** 문법
예제) 오브젝트 권한 부여(PROFESSOR 소유자 실행)
예제) 시스템 권한 부여(관리자 권한으로 실행)
● REVOKE
- 동시 여러 권한 회수 가능
- 이미 회수된 권한 재회수 불가
- 동시 여러 유저로부터의 권한 회수 가능
** 문법
예제) 오브젝트 권한 회수
● 롤(ROLE)
- 권한의 묶음(생성 가능한 객체)
- SYSTEM 계정에서 ROLE 생성 가능
** 문법
예제) 롤(ROLE)
< 생성 >
< 롤에 권한 담기 >
< 롤 부여 >
< HR 계정에서 수행 >
< 롤에서 권한 빼기 >
< 권한 회수 후 HR 계정에서 조회 >
☞ 권한이 불충분하다는 에러
☞ ROLE 에서 회수된 권한은 즉시 반영되므로 다시 ROLE을 부여할 필요가 없음
< 롤을 통해 부여한 권한 직접 회수(SCOTT 에서 실행) >
☞ ROLE을 통해 부여한 권한은 직접 회수 불가
☞ ROLE을 통한 회수만 가능
● 권한부여 옵션(중간관리자의 권한)
1. WITH GRANT OPTION
- WITH GRANT OPTION 으로 받은 오브젝트 권한을 다른 사용자에게 부여할 수 있음
- 중간관리자(WITH GRANT OPTION 으로 권한을 부여받은 자) 가 부여한 권한은 중간관리자만 회수 가능
- 중간관리자에게 부여된 권한 회수 시 제 3자에게 부여된 권한도 함께 회수됨
2. WITH ADMIN OPTION
- WITH ADMIN OPTION 을 통해 부여 받은 시스템 권한/를 권한을 다른 사용자에게 부여할 수 있음
- 중간관리자를 거치지 않고 직접 회수 가능
- 중간관리자 권한 회수시 제 3자에게 부여된 권한도 함께 회수X(남아있음)
예제) WITH GRANT OPTION / WITH ADMIN OPTION TEST
권한부여)
오브젝트 권한 회수 시도)
☞ 중간관리자를 통해 부여한 제 3 계정의 권한은 관리자가 직접 회수 불가
☞ 대신 중간관리자에게 부여된 권한을 회수(회수 시 제 3의 계정에 부여된 권한도 함께 회수됨)
☞ 중간관리자(HDATALAB)에 의해 부여된 제 3의 계정(PARK) 권한도 함께 회수됨
'MySQLD 자격증 공부' 카테고리의 다른 글
2 - 19 (0) | 2024.08.23 |
---|---|
2 - 18 (0) | 2024.08.22 |
2 - 17 (0) | 2024.08.22 |
함수의 종류 (암기용) (0) | 2024.08.19 |
2 - 16 (0) | 2024.08.18 |