728x90

# 권한

- grant 문장은 권한을 수여하는 데 사용.

  grant <privilege list>

  on <relation name or view name>

  to <user list>

 

<user list> :

         user-id

         public (시스템에서 현재와 앞으로 사용할 모든 사용자)

         역할

- 권한 부여자는 지정된 항목에 대한 권한을 이미 보유해야 함.

- 뷰에 대한 권한을 부여한다 해도 릴레이션에 대한 권한이 부여되는 것이 아님.

 

# 권한 부여

- select : 릴레이션의 투플을 읽는 권한, 릴레이션에 대해서 질의가능.

  예) 사용자 U1, U2, U3 에게 릴레이션 instructor에 대한 select 권한 부여

       grant select on instructor to U1, U2, U3

- insert : 투플 삽입 가능

- update : 투플 수정 가능

- delete : 투플 삭제 가능

- all privileges : 모든 권한 허용

 

# 권한 취소

- revoke 문 사용하여 권한 취소

  revoke <privilege list>

  on <relation name or view name>

  from <user list>

 

) revoke select on branch from U1, U2, U3

- <privilege-list> 는 모든 권한 취소 가능 (all)

- <revoke-list> public 를 포함하는 경우 명시적으로 부여된 사용자를 제외한 모든 사용 자가 권한 취소됨

- 동일한 권한을 두 번 부여 받은 경우 취소 후 권한 유지

 

# 역할

- create role instructor;

- 역할에 권한 부여 가능

  grant select on takes

  to instructor;

- 다른 역할에도 역할 부여 가능

  create role student

  grant instructor to Amit;

  create role dean;

  grant instructor to dean;

  grant dean to Satoshi;

RBAC 역할 기반 접근 제어

 

# 권한의 전달과 취소

- 권한의 전달

  grant select on department to Amit with grant option => 보안 수준 떨어짐

- 권한의 취소

  revoke select on department from Amit, Satoshi cascade =>연쇄 취소

  revoke select on department from Amit, Satoshi restrict => 연쇄 취소 방지

반응형

'전공 공부 > 데이터베이스시스템' 카테고리의 다른 글

프로그래머스 MySQL (level 1)  (0) 2021.01.02
MySQL 실행 예시  (0) 2021.01.02
타입과 도메인  (0) 2021.01.02
단일 릴레이션에서의 제약조건  (0) 2021.01.02
조인  (0) 2021.01.01
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기