1. 데이터 베이스 보안을 위한 권한
(1) 시스템 권한 : 사용자 생성, 제거, DB 접근 및 각종 객체를 생성할 수 있는 권한. (DBA가 부여)
1) 데이터 베이스 관리자가 가지고 있는 시스템 권한
CREATE USER : 사용자를 새롭게 생성하는 권한
DROP UWER : 사용자를 삭제하는 권한
DROP ANY TABLE : 임의 테이블을 삭제할 수 있는 권한
QUERY REWRITE : 함수 기반 인덱스를 생성하는 권한
BACKUP ANY TABLE : 임의 테이블을 백업할 수 있는 권한
2) 시스템 관리자가 사용자에게 부여하는 권한
CREATE SESSION : 데이터 베이스에 접속할 수 있는 권한
CREATE TABLE : 사용자 스키마에서 테이블을 생성할 수 있는 권한
CREATE VIEW : 사용자 스키마에서 뷰를 생성할 수 있는 권한
CREATE SEQUENCE : 사용자 스키마에서 시퀀스를 생성할 수 있는 권한
CREATE PROCEDURE : 사용자 스키마에서 함수를 생성할 수 있는 권한
※ 스키마(SCHEMA) : 객체를 소유한 사용자명
(2) 객체 권한 : 객체를 조작할 수 있는 권한. ex) 테이블, 뷰, 시퀀스, 인덱스, 동의어 등
2. 사용자 생성하기 CREATE USER
[형식]
CREATE USER user_name
IDENTIFIED BY password;
3. 권한을 부여하는 GRANT
[형식]
GRANT {privilege_name|role}
TO user_name
[WITH ADMIN OPTION];
※ user_name 대신에 PUBLIC이라 쓰면 모든 사용자에게 해당 시스템 권한이 부여된다.
※ role(롤) : 사용자에게 보다 효율적으로 권한을 부여할 수 있도록 여러 개의 권한을 묶어놓은 권한의 집합
GRANT CREATE SESSION TO USER01 -- USER01 사용자에게 CREATE SESSION 권한을 부여한다.
WITH ADMIN OPTION; -- 자신이 부여받은 권한을 다른 사용자에게 부여할 수 있는 권한을 줄 때 붙인다.
4. 객체 권한
1) 객체와 권한 설정
객체의 소유자는 객체에 대한 모든 권한을 가진다. 객체 권한은 테이블, 뷰, 시퀀스, 함수 같은 객체별로 DML문(SELECT, INSERT, DELETE)을 사용할 수 있는 권한을 설정하는 것이다.
[형식]
GRANT privilege_name[(column_name)]|ALL -- 줄 권한
ON object_name | role_name | PUBLIC -- 객체
TO user_name; -- 권한을 줄 사용자
GRANT SELECT ON EMP TO USER01;
-- EMP 테이블을 조회(SELECT)할 수 있는 권한을 USER01에게 준다.
2) 스키마 (SCHEMA)
REVOKE {privilege_name|ALL} -- 철회할 객체 권한
ON object_name -- 해당 테이블명
FROM {user_name | role_name | public}; -- 사용자명
'오라클 기초' 카테고리의 다른 글
PL/SQL 대입문: SELECT INTO, TABLE TYPE, RECORD TYPE (0) | 2016.01.20 |
---|---|
동의어 (SYNONYM, 시노늄) (0) | 2016.01.20 |
인덱스(INDEX) (0) | 2016.01.19 |
시퀀스(SEQUENCE): 자동 번호 발생기 (0) | 2016.01.19 |
가상 테이블 뷰(VIEW) (0) | 2016.01.19 |