-
2.12 SQL (권한 제거)SQL 과정 2019. 2. 12. 11:35
REVOKE 명령어
- 사용자에게 부여한 객체 권한을 데이터베이스 관리자나 객체 소유자로부터 회수하기 위한 명령어
REVOKE 명령어 형식
- REVOKE 다음에는 철회하고자 하는 객체 권한을 기술하고
- ON 다음에는 어떤 테이블에 부여된 권한인지 해당 테이블 명을 기술하고
- FROM 다음에는 어떤 사용자에게 부여한 권한인지 사용자명을 기술한다.
WITH GRANT OPTION
- 사용자에게 객체 권한을 부여하면, 사용자는 객체를 접근할 권한을 부여 받으면서 그 권한을 다른 사용자에게 부여할 수 있는 권한도 함께 부여 받게 된다.(다른사용자에게 부여할 수 있는 권한을 받은 계정은 이 권한을 다른 계정에 부여할수는 없다.)
- scott 계정에서 labuser계정에 부여한 emp테이블 SELECT할 권한 부여를 취소(REVOKE)하였다.
- scott 계정에 부여한 권한이 있는 조회시 위 권한을 취소하였기 때문에 조회가 되지 않는다.
- labuser 계정에 접속하여 scott.emp 를 SELECT를 해도 출력되지 않게 된다.
- scott 계정에서 labuser에 emp테이블 select 권한을 부여하고
- WITH GRANT OPTION(labuser 계정이 다른 계정이 권한 부여 기능)을 적용
- scott 계정에서 권한 조회시 GRA(다른 계정에 권한 부여 기능)에 YES가 표시되어 있다.
- labuser 계정에 접속하여 사용자명(scott).emp 테이블을 SELECT할 권한을 labuser01에 부여할수 있게 된다.
- scott 계정으로 로그인하여 부여한 권한을 조회시 labuser가 다른계정에 SELECT권한을 부여한 계정도 조회가 된다.(GRA 차이 유의)
- conn labuser01/oracle_11g로 labuser01계정으로 접속하여 labuser에게 부여받은 권한으로 scott.emp 테이블을 SELECT가 가능하다.
- labuser01 계정에서 부여 받은 권한을 조회하면 주인은 scott이고, 작동자가 labuser라는 것을 볼수 있다.
- 특정 조건을 걸어서 권한을 부여한 계정을 조회하는 것도 가능하다.
- system 계정에서 SCOTT계정에 부여한 권한을 조회한 것
'SQL 과정' 카테고리의 다른 글
2.12 SQL(DBA 권한, 계정 비밀번호 변경) (0) 2019.02.12 2.12 SQL (객체권한 부여) (0) 2019.02.12 2.12 SQL (데이터베이스 사용자 생성) (0) 2019.02.12 2.12 SQL (데이터 제어어[GRAND, REVOKE]) (0) 2019.02.12 2.12 SQL (데이터베이스 관리자 및 권한) (0) 2019.02.12