Post

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) REVOKE 객체권한 ON 객체명 FROM 유저명
  • 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) CREATE [PUBLIC] SYNONYM 동의어명 FOR 유저명.객체명 - 동의어 생성
      • SYNONYM을 사용하여 요약할 PUBLIC 동의어명을 지정해줌
    • ex) DROP [PUBLIC] SYNONYM 동의어명 - 동의어 제거
  • 관리자로부터 동의어 생성 권한을 부여받은 후에 동의어 생성 가능
  • 비공개 동의어는 동의어를 생성한 사용자만이 접근할 수 있음
This post is licensed under CC BY 4.0 by the author.