Chapter 12. DCL (GRANT, REVOKE)

김승현·2021년 10월 16일
0

DCL (Data Control Lnaguage)


  • DB에 대한 보안, 무결성, 복구 등 DBMS를 제어하기 위한 언어
  • GRANT(권한 할당), REVOKE(권한 해제), COMMIT(실행), ROLLBACK(복구)
  • COMMIT, ROLLBACK은 트랜잭션 제어에 관련된 언어로써 TCL로 구분하기도 한다.



GRANT


  • 사용자 또는 ROLE에 대하여 권한 부여
GRANT작성법
접속권한 부여GRANT CONNECT TO 계정명;
객체(생성, 수정, 삭제),
데이터(입력, 수정, 조회, 삭제) 권한 부여
GRANT RESOURCE TO 계정명;
보기 권한 부여GRANT SELECT ON 계정명1.테이블명 TO 계정명2;
데이터 추가 권한 부여GRANT INSERT ON 계정명1.테이블명 TO 계정명2;
데이터 삭제 권한 부여 GRANT DELETE ON 계정명1.테이블명 TO 계정명2;
데이터 수정 권한 부여GRANT UPDATE ON 계정명1.테이블명 TO 계정명2;

  • EX)

GRANT SELECT ON KH.TABLE_A TO TEST_USER;
GRANT INSERT ON KH.TABLE_A TO TEST_USER;
GRANT DELETE ON KH.TABLE_A TO TEST_USER;
GRANT UPDATE ON KH.TABLE_A TO TEST_USER;

REVOKE


  • 사용자 또는 ROLE에 부여된 권한을 회수
REVOKE작성법
접속권한 회수REVOKE CONNECT FROM 계정명;
객체(생성, 수정, 삭제),
데이터(입력, 수정, 조회, 삭제) 권한 회수
REVOKE RESOURCE FROM 계정명;
보기 권한 회수REVOKE SELECT ON 계정명1.테이블명 FROM 계정명2;
데이터 추가 권한 회수REVOKE INSERT ON 계정명1.테이블명 FROM 계정명2;
데이터 삭제 권한 회수REVOKE DELETE ON 계정명1.테이블명 FROM 계정명2;
데이터 수정 권한 회수 REVOKE UPDATE ON 계정명1.테이블명 FROM 계정명2;

  • EX)

REVOKE SELECT ON KH.TABLE_A FROM TEST_USER;
REVOKE INSERT ON KH.TABLE_A FROM TEST_USER;
REVOKE DELETE ON KH.TABLE_A FROM TEST_USER;
REVOKE UPDATE ON KH.TABLE_A FROM TEST_USER;

  • 계정별 부여된 롤 권한 확인 (대문자로 쓰기)
SELECT * FROM DBA_ROLE_PRIVS
WHERE GRANTEE = '계정명' ;

  • 계정별 부여된 테이블 권한 확인(대문자로 쓰기)
SELECT GRANTEE, OWNER, TABLE_NAME, PRIVILEGE, GRANTOR
FROM DBA_TAB_PRIVS
WHERE GRANTEE = '테이블명';
profile
개발자로 매일 한 걸음

0개의 댓글