사용자 권한제어


권한

사용자가 데이터베이스 시스템을 관리하거나 객체를 이용할 수 있는 권리


DBA의 시스템 권한

시스템 권한

기  능

CREATE USER

사용자를 생성할 수 있는 권한

DROP USER

사용자를 삭제할 수 있는 권한

DROP ANY

TABLE

모든 테이블을 삭제 할 수 있는 권한

QUERY REWRITE

함수기반 인덱스를 생성하기 위한 권한

BACKUP ANY

TABLE

익스포트 유틸리티를 사용해서 임의의 테이블을 백업할 수 있는 권한




일반 사용자의 시스템 권한

시스템 권한

기  능

CREATE SESSION

데이터베이스에 접속할 수 있는 권한

CREATE TABLE

테이블을 생성할 수 있는 권한

CREATE SEQUENCE

시퀀스를 생성할 수 있는 권한

CREATE VIEW

뷰를 생성할 수 있는 권한

CREATE PROCEDURE

프로시져, 함수, 패키지를 생성 할 수 있는 권한




권한 할당하기

예제 : query rewrite 시스템 권한을 scott 사용자와 모든 사용자에게 부여하라.

SQL> connect system/manager;

SQL> grant query rewrite to scott

SQL> grant query rewrite to PUBLIC;




권한 해제 하기

예제 :  scott 사용자에게 있는 query rewrite 시스템 권한을 해제하라.

SQL> connect system/manager;

SQL> revoke query rewrite from scott;


ROLL (롤)

사용자 별로 일일이 권한을 주기보다 그룹에 권한을 주는 것이 훨씬 효과적이기 때문에 권한을 그룹화해서 관리


사전 정의된 롤

롤 종류

롤에 부여된 권한

CONNECT

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

WITH ADMIN OPTION이 있는 모든 시스템 권한


롤 생성

예제 : 암호를 지정한 롤과 지정하지 않은 롤을 생성하여라

 SQL> connect system/manager;

 SQL> CREATE ROLE hr_clerk;

 SQL> CREATE ROLE hr_mgr

      IDENTIFIED BY manager;   → hr_mgr 롤의 암호가 manager 이다.



롤에 권한 부여하기

Grant 권한 to 롤

Grant 롤 to 롤

Grant 롤 to 사용자



롤에 시스템 권한 부여

SQL> GRANT create session TO hr_MGR;



롤에 객체 권한 부여

SQL> GRANT select, insert, delete ON hr_clerk;



사용자와 롤에게 특정 롤 부여하기

SQL> GRANT hr_clerk TO hr_mgr;

SQL> GRANT hr_clerk TO tiger;

SYNONYM (동의어)

- 하나의 특정 객체에 다른 이름을 지정하는 방법이다.

- 테이블에서 칼럼의 별명과 비슷한 개념이다.

- 테이블 이름 바꿀 상황이 안될때 별명을 지어줌.



만든사람만 알수있음

CREATE SYNONYM 별명 FOR 원래이름;

SQL> CREATE SYNONYM my_project FOR system.project;




다른사람들도 알게 하려면

CREATE PUBLIC SYNONYM 별명 FOR 원래이름;


예제: system 사용자의 project 테이블에 대해 공용 동의어를 생성하여라

SQL> connect system/manger;

SQL> CREATE PUBLIC SYNONYM project FOR project;




SYNONYM 삭제 방법

SQL> DROP SYNONYM my_project;

연습문제

1. scott 사용자에게 함수 기반 인덱스를 생성할 수 있는 query rewrite 권한을

   부여하여라.


2. scott 사용자가 소유한 부서 테이블을 조회 및 수정할 수 있는 권한을 tiger

   사용자에게 부여하여라.


3. tiger 사용자에게 부여한 부서 테이블을 조회 할 수 있는 권한을 철회하여라.


'Oracle > Oracle - SQL' 카테고리의 다른 글

SQL정리 12장 View  (0) 2012.01.12
SQL정리 11장 Index  (0) 2012.01.11
SQL정리 10장 제약조건 (Constraint)  (0) 2012.01.11
SQL정리 9장 DDL  (0) 2012.01.10
SQL정리 8장 DML  (0) 2012.01.10
Posted by 딩구르
,