developer-soyun 2024. 11. 5. 15:59

12.1 Database Security

Data Security


12.2 권한(Privilege)와 역할(Role)

  • Privilege
    • 시스템 권한(system privilege)
      • 특정한 SQL 문장을 실행할 수 있는 권한
    • 오브젝트 권한(object 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이름;
  1. Role의 생성
  2. Role에 권한 부여
  3. Role을 사용자 또는 Role에게