[SQLD] DCL

younghyun·2023년 6월 8일
0

SQLD

목록 보기
13/18

유저와 권한

DML, TCL 명령어들 이외에도 유저를 생성하고 권한을 제어할 수 있는 DCL(DATA CONTROL LANGUAGE) 명령어

GRANT: 권한을 부여하는 명령

grant <권한 리스트> on <객체명> to <사용자 리스트>

REVOKE: 다른 사용자에게 부여한 권한을 회수하기 위한 명령

revoke <권한리스트> on <객체명> from <사용자 리스트>

WITH GRANT OPTION: 부여받은 권한을 다른 사용자에게 전파할 수 있는 특별한 옵션

// select 권한을 kim에게 부여함과 동시에 이 권한을 다른 사용자에게 다시 전파할 수 있는 자격까지 부여
grant select on student to kim with grant option

ROLE을 이용한 권한 부여

ROLE: 권한별로 사용자 그룹을 만들어 그룹에 권한을 부여하는 방법

// 롤 생성
create role <롤이름>

// 롤에 사용자 배정
grant <롤이름> to <사용자 리스트>

// 롤에 권한을 부여
grant select on <객체명> to <롤이름>

// 롤 삭제
drop role <롤 이름>

[121번]
ROLE는 많은 DBMS 사용자에게 개별적으로 많은 권한을 부여하는 번거로움과 어려움을 해소하기 위해 다양한 권한을 하나의 그룹으로 묶어놓은 논리적인 권한의 그룹이다.

[122번]

REVOKE INSERT ON R FROM KIM CASCADE;

WITH GRANT OPTION으로 KIM으로부터 권한을 부여받았다면, 그 사람은 CASCADE 명령어로, INSERT 권한이 KIM과 동시에 취소된다.

profile
🌱 주니어 백엔드 개발자입니당

0개의 댓글