2011년 12월 4일 일요일

[Oracle] 권한

1. 사용자 관리
* 시스템 권한
DBA - CREATE USER
            DROP USER
            DROP ANY TABLE
            QUERY REWRITE
            BACKUP ANY TABLE

일반 사용자 - CREATE SESSION
                          CREATE TABLE
                          CREATE VIEW
                          CREATE SEQUENCE
                          CREATE PROCEDURE

GRANT     system_privilege TO user_name
REVOKE



* 객체 권한 - 객체별로 DML문 사용할 수 있는 권한
GRANT     object_privilege ON object TO user_name
REVOKE



* 사용자에게 부여된 권한 조회
부여한 권한    : user_tab_privs_made
부여받은 권한 : user_tabl_privs_recd



* WITH GRANT OPTION
객체 접근할 권한을 부여받으면서 그 권한을 다른 사용자에게 부여할 수 있는 권한 획득










2. 데이터베이스 롤 권한 제어
* ROLE - 사용자에게 보다 효율적으로 권한을 부여할 수 있도록 여러 개의 권한을 묶음




*사전 정의된 롤
CONNECT ROLE - 데이터베이스에 접속 가능하도록 하기 위한 가장 기본적인 시스템 권한
ALTER SESSION
CREATE CLUSTER
CREATE DATABASE LINK

CREATE SEQUENCE
CREATE SESSION
CREATE SYNONYM
CREATE TABLE
CREATE VIEW


RESOURCE ROLE - 객체를 생성할 수 있도록 하기 위한 시스템 권한
CREATE CLUSTER
CREATE PROCEDURE
CREATE SEQUENCE
CREATE TABLE
CREATE TRIGGER


DBA ROLE - 시스템 관리에 필요한 모든 권한




* ROLE 정의
① 롤 생성
     CREATE ROLE role_name
② 롤에 권한 부여
     GRANT object_priv TO role_name
③ 사용자에 롤 부여
     GRANT role_name TO user_name




* ROLE 관련 DATA DICTIONARY
  user_role_privs : 사용자에게 부여된 롤
  role_tab_privs   : 롤에 부여된 객체 권한
  role_sys_privs  : 롤에 부여된 시스템 권한
    

댓글 없음:

댓글 쓰기