공대생의 에러일기

정처기 SQL - GRANT OPTION FOR, CASCADE 동시 사용 문제 본문

DB

정처기 SQL - GRANT OPTION FOR, CASCADE 동시 사용 문제

냥늉냥 2022. 7. 8. 03:05
반응형

특정 테이블에 대해 사용자에게 부여된 DELETE 권한과 사용자가 다른 사람에게 부여한 DELETE 권한을 부여할 수 있는 권한, 사용자가 다른사람에게 부여한 DELETE 권한도 모두 취소하는 경우. 의 문제가 있다.

 

 

사용자에게 부여된 DELETE 권한 취소 -> REVOKE

사용자가 다른 사람에게 부여한 DELETE 권한을 부여할 수 있는 권한 취소 -> GRANT OPTION FOR

사용자가 다른사람에게 부여한 DELETE 권한도 모두 취소하는 경우 -> CASCADE

 

우리는 이런 문제를 만났을 때 GRANT OPTION FOR, CASCADE를 둘 다 써야한다고 생각해서

REVOKE GRANT OPTION FOR DELETE ON <TABLE> FROM <USER> CASCADE;

이렇게 작성하겠지만

실제로 사용한다면 좋지 않은 SQL문이다.

 

왜냐하면

해당 SQL문은 사용자에게 부여된 DELETE 권한을 취소했기 때문에 다른사람에게 부여할 권한도 함께 취소되기 때문.

 

물론 둘다 사용하는 것이 불가능한 것은 아니므로 문제를 풀때는 상관이 없겠지만 실제로 DB를 다룰 땐 문제가 될 수도 있을 것이라 본다.

Comments