Rdbms/Database
[Database] Grant
hikr90
2025. 1. 10. 00:04
# 권한
권한이란 특정 쿼리문을 수행할 수 있는 권리를 뜻한다.
종류
- system 관련 권한은 DB에 영향이 미치는 권한이며, 객체 권한은 객체를 사용할 수 있는 권한을 의미한다.
권한
|
설명
|
|
connect
|
DB에 접속할 수 있는 권한
|
|
alter session
|
환경 변수를 변경할 수 있는 권한
|
|
unlimited tablespace
|
DB안에 있는 모든 tablespace를 사용할 수 있는 권한
|
|
resource
|
객체 및 데이터 조작 권한
|
|
dba |
테이블에 대한 접근 권한
|
권한 부여
- 직접 부여와 role이라는 덩어리의 형태로 부여하는 방식 두가지가 존재한다.
- role이란, DB엔지니어가 특정 용도를 위해서 남겨둔 권한 묶음을 뜻한다.
- 기본적으로는 유저 생성 시 create session, create table 두가지의 권한이 필요하다.
grant 권한 명칭 to 권한 부여 대상;
권한 조회
사용 영역
|
쿼리문
|
설명
|
user
|
select * from session_privs;
|
받은 권한 (role/직접)을 확인
|
select * from user_sys_privs;
|
DB로부터 직접 받은 시스템 권한 확인
|
|
select * from session_roles;
|
부여받은 role에 대해서 확인
|
|
select * from role_sys_privs;
|
DB로부터 받은 role안의 시스템 권한 확인
|
|
select * from role_tab_privs;
|
소유자로부터 받은 권한과 부여한 객체 권한 확인
|
|
select * from role_tab_privs;
|
내가 받은 role안에 객체 권한 확인
|
|
select * from dba_sys_privs where grantee = "유저명"; |
권한이 부여되었는지 확인 (유저명은 대문자로 검색)
|
|
DB
|
select * from dba_tab_privs;
|
시스템 권한을 어떤 유저한테 부여했는지 확인
|
select * from dba_roles;
|
DB에 생성된 role에대한 정보 확인
|
|
select * from dba_role_privs;
|
role을 어떤 유저에게 부여했는지 확인
|
|
select * from dba_ts_quotas;
|
DB가 어떤 유저한테 테이블 사용을 허락했는지 확인
|
권한 회수
revoke 권한명칭 from 권한 회수할 테이블 명칭;