사용자 권한제어
권한
사용자가 데이터베이스 시스템을 관리하거나 객체를 이용할 수 있는 권리
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 |