JongTachi의 개발 블로그

[Oracle] WITH GRANT OPTION(권한 다중 부여) 본문

DB/Oracle

[Oracle] WITH GRANT OPTION(권한 다중 부여)

JongTachi 2024. 1. 9. 14:29
728x90
반응형

오늘은 테이블에 대해 권한을 부여받은 사람이 다른 사람에게 권한을 줄 수 있는 옵션인

WITH GRANT OPTION에 대해 알아보겠습니다.

 

예시

사용자 A B
각 사용자가 갖고 있는 테이블 A_TABLE  B_TABLE  C_TABLE

 

상황 : 사용자 B가 사용자 A의 A_TABLE에 대한 권한을 가져와 C에게 공유하려 합니다. 

 

쿼리문은 다음과 같습니다.

-- A_TABLE에 대한 조회 권한을 B사용자에게만 허용
GRANT SELECT ON A_TABLE TO B 

-- A_TABLE에 대한 조회 권한을 B사용자 뿐만아닌 다른 사용자에게도 허용
GRANT SELECT ON A_TABLE TO B WITH GRANT OPTION;

 

여러분 생각해봅시다. 

 

B는 A가 소유한 A_TABLE에 대한 조회 권한을 가져가려 하는데,

권한을 가져와 마구자비로 다른 사용자에가 권한을 넘겨주면 A의 입장이 어떨까요?

기분 드럽죠;; 허락도 안 받고;; 

 

여기서 권한 공유에 대한 허락이 WITH GRANT OPTION라고 생각하시면 됩니다.

 

GRANT SELECT ON A_TABLE TO B  <- 이 쿼리문 뒤에 WITH GRANT OPTION를 붙여줌으로서

 

해석해보자면

 

사용자 B : "A야 A_TABLE에 대한 조회 권한을 내가 갖고 올건데 해당 조회 권한을 나 말고도 다른 사용자(C)에게 공유할 게 알겠지? "

 

라고 선언하는 것입니다.

 

그럼 B는 A_TABLE에 대한 조회 권한을 사용자 C에게 부여할 수 있습니다.

-- A_TABLE에 대한 조회 권한을 C에게 부여
GRANT SELECT ON A_TABLE TO C;

 

어떠한 권한을 가져와 공유하고 싶다면 꼭 뒤에 WITH GRANT OPTION를 붙이세요!!

728x90
반응형