SQL의 정석/Ch12. 데이터 제어어(DCL)
Ch12. Database Security
developer-soyun
2024. 11. 5. 15:59
12.1 Database Security
12.2 권한(Privilege)와 역할(Role)
- Privilege
- 시스템 권한(system privilege)
- 특정한 SQL 문장을 실행할 수 있는 권한
- 오브젝트 권한(object privilege)
- 특정한 오브젝트에 대한 접근을 제어하는 권한
- 시스템 권한(system privilege)
- Role
- 연관된 권한들의 집합을 묶어서 정의해 놓은 것
- 권한 부여와 접근제어 관리를 손쉽게 하기 위해서
- 연관된 권한들의 집합을 묶어서 정의해 놓은 것
12.3 System Privileges
- 시스템 권한은 대개 데이터베이스 관리자 (DBA)가 부여한다
GRANT 권한 [, 권한...] TO 사용자 [, 사용자...] [WITH ADMIN OPTION];
REVOKE 권한[, 권한...] FROM 사용자 [, 사용자...]
12.4 Object Privileges
- DBA는 특정한 Object에 대해서 사용자에게 action을 수행하도록 허가할 수 있다
- Object Privileges 는 Object type에 따라서 다양하다
- Objects 소유자는 다른 사용자에게 특정 Object Privileges를 부여할 수 있다
GRANT 권한 [(컬럼명)] [권한 ...|ALL]
ON Object명
TO 사용자 | ROLE | PUNLIC [,사용자...];
[WITH GRANT OPTION];
REVOKE 권한 [(컬럼명)] [권한 ...|ALL]
ON Object명
FROM 사용자 | ROLE | PUNLIC [,사용자...];
12.5 Role
- Role이란 사용자에게 허가할 수 있는 관련된 Privileges의 그룹이다
- Role을 이용하면 권한부여와 회수를 쉽게할 수 있다
- 한 사용자가 여러 Role을 access 할 수 있고, 여러 사용자에게 같은 Role을 부여할 수 있다
- 사용자는 Role에 Role을 부여할 수도 있다
12.6 Role의 생성
CREATE ROLE role이름;
- Role의 생성
- Role에 권한 부여
- Role을 사용자 또는 Role에게