[ORACLE] 권한

privatekim·2024년 6월 24일
0

ORACLE

목록 보기
14/38

권한

특정 SQL문을 실행하기 위한 권리

DCL은 각 시스템 객체에 대한 권한을 부여, 제거하는 명령어이다.

시스템권한

데이터베이스에 직접적인 영향을 줄 수 있는 권한으로 오로지 DBA로 부터만 권한을 위임받을 수 있다.

객체권한

각 객체(TABLE)에 대해 접근할 수 있는 권한으로 DBA 또는 객체 소유자에게 위임받을 수 있다. 하지만 보통 DBA로부터 권한을 위임받는 것이 일반적이다.

ROLE

사용자에게 부여할 수 있는 권한을 모아노은 객체로 이를 사용하면 권한 관리가 좀 더 편리해 질 수 있다.

하지만 무분별하게 사용할 경우 같은 권한이 중복되어 부여될 수 있으니 주의해야 한다.

권한 조회

내가 받은 시스템 권한 조회

select * from user_sys_privs;

hr계정에서 위 코드를 실행하면 dba로 받은 시스템권한을 PRIVILEGE칼럼을 통해 확인할 수 있다.

단, ROLE을 통해 부여받은 권한을 확인할 수 없다.

부여받은 권한의 내용은 다음과 같다.

  • unlimited tablespace : 데이터베이스의 저장공간을 다 사용할 수 있다. 함부로 부여X
  • create sequence : 자동으로 일련번호 생성.
  • create synonym : 테이블의 긴 이름 별명 지정.
  • create session : 로그인 접근 권한. 회수시 접속 불가

내가 받은 ROLE 권한 확인

select * from session_roles;

내가 받은role 권한 안의 시스템 권한 확인

select * from role_sys_privs;

  • CLUSTER : 관련성있는 객체들의 모음
  • PROCEDURE : 함수 패키지 프로시져 생성 가능
  • TPYE : 타입 생성
  • OPERATOR : 오퍼레이트 객체 생성

내가 받은 객체 권한 조회

-- 내가 받은 객체 권한 또는 내가 부여한 객체 권한 확인
select * from user_tab_privs;

내가 받은 ROLE 안의 객체 권한 확인

-- 내가 받은 롤안에 객체 권한 확인
select * from role_tab_privs;

중복으로 부여받은 권한 확인

select privilege from role_sys_privs
union all
select privilege from user_sys_privs
order by 1;

0개의 댓글