OracleSQL 핵심정리10 - Oracle DB 권한
시스템 권한 및 관리
- 사용자 생성시 오라클 DB에 접근이 가능하도록 권한을 부여받아야 함
시스템 권한
: 사용자 생성/제거, db접근 및 객체를 생성할 수 있는 권한 등 주로 DBA에 의해 부여- 주요 DBA 시스템 권한
CREATE USER
- 사용자 생성DROP USER
- 사용자 삭제DROP ANY TABLE
- 테이블 삭제QUERY REWRITE
- 함수 기반 인덱스 생성BACKUP ANY TABLE
- 테이블 백업
- 사용자를 위한 시스템 권한
CREATE SESSION
- 세션 시작CREATE TABLE
- 테이블 생성CREATE VIEW
- 뷰 생성CREATE SEQUENCE
- 시퀀스 생성CREATE PROCEDURE
- 프로시저 생성
- 권한부여
- GRANT명령을 사용하여 시스템 권한을 할당
- ex)
GRANT 시스템 권한 TO 유저명
- 고급 옵션
WITH ADMIN OPTION
: 시스템 권한을 이 옵션과 함께 부여하면 관리자가 아니여도 부여받은 시스템 권한을 다른 사용자에게 부여 가능한 권한도 함께 부여
객체 권한
객체 권한
: 특정 객체에 조작할 수 있는 권한. 객체 소유자는 객체에 대한 모든 권한을 가짐- 객체 권한 부여
- ON에 접근 허용할 객체명을 입력하여 객체권한을 부여
- ex)
GRANT 객체권한 ON 객체명 TO 유저명
스키마
: 객체를 소유한 사용자명을 의미. 객체명 앞에 사용자명을 기술하여 사용- 부여된 객체 권한 조회
- ex)
SELECT*FROM USER_TAB_PRIVS_MADE
- ex)
- 부여한 객체 권한을 철회
- ex)
REVOKE 객체권한 ON 객체명 FROM 유저명
- ex)
WITH GRANT OPTION
: 객체 권한을 이 옵션과 함께 부여하면객체를 접근할 권한을 부여받음과 동시에 다른 사용자에게 그 권한을 부여 가능
롤을 사용한 권한 부여
롤
: 여러 개의 권한을 묶어 놓아서 사용자에게 효율적으로 권한을 부여하는 것CONNECT 롤
: 데이터베이스에 접속 가능하도록 가장 기본적인 시스템 권한 8가지를 묶어 놓은 것ALTER SESSION
- 세션 수정CREATE CLUSTER
- 클러스터 생성CREATE DATABASE LINK
- 데이터베이스 링크 생성CREATE SEQUENCE
- 시퀀스 생성CREATE SESSION
- 세션 생성CREATE SYNONYM
- 동의어 생성CREATE TABLE
- 테이블 생성CREATE VIEW
- 뷰 생성
RESOURCE 롤
: 객체를 생성할 수 있도록 하기 위해서 시스템 권한을 묶어놓은 것CREATE CLUSTER
- 클러스터 생성CREATE PROCEDURE
- 프로시저 생성CREATE SEQUENCE
- 시퀀스 생성CREATE TABLE
- 테이블 생성CREATE TRIGGER
- 트리거 생성
DBA 롤
: 소유한 데이터베이스 객체를 관리하고 사용자들을 작성하고 변경하고 제거할 수 있도록 하는 모든 권한을 부여하는 롤- 롤 관리 및 권한 부여
- ex)
CREATE ROLE 롤명
- 롤 생성 - ex)
GRANT 권한명 [ON 객체명] TO 롤명
- GRANT를 호출하여 롤에 권한을 포함시킴 - ex)
SELECT * FROM USER_ROLE_PRIVS
- 현재 사용자에게 부여된 롤을 확인 - ex)
DROP ROLE 롤명 FROM 유저명
- 유저에게 부여한 롤 권한을 회수(제거)
- ex)
동의어
동의어
: 데이터베이스 객체에 대한 별명(대체 이름) 을 의미- 동의어 관리
- ex)
CREATE [PUBLIC] SYNONYM 동의어명 FOR 유저명.객체명
- 동의어 생성- SYNONYM을 사용하여 요약할 PUBLIC 동의어명을 지정해줌
- ex)
DROP [PUBLIC] SYNONYM 동의어명
- 동의어 제거
- ex)
- 관리자로부터 동의어 생성 권한을 부여받은 후에 동의어 생성 가능
- 비공개 동의어는 동의어를 생성한 사용자만이 접근할 수 있음
This post is licensed under CC BY 4.0 by the author.