본문 바로가기
일상

20240409

by 20231113 2024. 4. 9.

GRANT / REVOKE
데이터베이스 관리자가 데이터베이스 사용자에게 권한을 부여하거나 취소하기 위한 명령어이다.
•GRANT : 권한 부여를 위한 명령어
•REVOKE : 권한 취소를 위한 명령어
•사용자등급 지정 및 해제

- GRANT 사용자등급 TO 사용자_ID_리스트 [IDENTIFIED BY 암호];
- REVOKE 사용자등급 FROM 사용자_ID_리스트;

예제1
사용자 ID가 “NABI”인 사람에게 데이터베이스 및 테이블을 생성할 수 있는 권한을 부여하는 SQL문을 작성 하시오.
GRANT RESOURCE TO NABI;

예제2 사용자 ID가 “STAR”인 사람에게 단순히 데이터베이스에 있는 정보를 검색할 수 있는 권한을 부여하는 SQL 문을 작성하시오.
GRANT CONNECT TO STAR;

•테이블 및 속성에 대한 권한 부여 및 취소
- GRANT 권한_리스트 ON 개체 TO 사용자 [WITH GRANT OPTION];
- REVOKE [GRANT OPTION FOR] 권한_리스트 ON 개체 FROM 사용자 [CASCADE];
- 권한 종류 : ALL, SELECT, INSERT, DELETE, UPDATE, ALTER 등
- WITH GRANT OPTION : 부여받은 권한을 다른 사용자 에게 다시 부여할 수 있는 권한을 부여함
- GRANT OPTION FOR : 다른 사용자에게 권한을 부여 할 수 있는 권한을 취소함
- CASCADE : 권한 취소 시 권한을 부여받았던 사용자가 다른 사용자에게 부여한 권한도 연쇄적으로 취소함

예제3
사용자 ID가 “NABI”인 사람에게 <고객> 테이블에 대한 모든 권한과 다른 사람에게 권한을 부여할 수 있는 권한까지 부여하는 SQL문을 작성하시오.
GRANT ALL ON 고객 TO NABI WITH GRANT OPTION;

예제4
사용자 ID가 “STAR”인 사람에게 부여한 <고객> 테이블에 대한 권한 중 UPDATE 권한을 다른 사람에게 부여할 수 있는 권한만 취소하는 SQL문을 작성하시오.
REVOKE GRANT OPTION FOR UPDATE ON 고객 FROM STAR;

-----------------------------
예제 3,4를 보다보면 문법이 오묘함. 저긴 from STAR이고, 여긴 to NABI임. 주체와 객체를 무엇으로 보느냐에 따라서 다른거같은데... 
이 문법의 오묘한 차이가 왜 저렇게 적용되는지를 잘 알게되면, 문법을 외우는게 아니라 논리적으로 이해하고 자동으로 외워질거같은데...
-------------------------------------
캬 프로그래밍 활용 챕터로 넘어가니까 아는거 쭉쭉나오네 좋다.

'일상' 카테고리의 다른 글

20240411  (0) 2024.04.11
20240410  (0) 2024.04.10
20240408  (0) 2024.04.08
20240407  (0) 2024.04.07
20240406  (0) 2024.04.06