오라클 DB 권한 설정 / 역할 설정
권한설정 (Access Control)
DCL (Data Control Language)
권한 및 역할을 설정하는 언어
특정 테이블에 대한 CRUD (Create / Retrieve / Update / Delete ) 권한 설정
권한 부여 (Grant) / 권한 회수 (Revoke) 로 나뉨 (주로 DBA가 설정)
권한은 주로 시스템 권한과 객체 권한으로 나뉨
- CREATE USER
- DROP USER
- DROP ANY TABLE
- BACKUP ANY TABLE
- QUERY REWRITE
- CREATE SESSION
- CREATE TABLE
- CREATE VIEW
- CREATE SEQUNECE
- CREATE PROCEDURE
예제) 현재 사용자를 확인하시오
show user;
예제) sample 사용자를 추가하시오 (비밀번호 test)
create user sample identified by test;
예제) sample사용자에게 emp테이블의 조회권한을 부여하시오(scott)
select * from scott.emp;
grant select on emp to sample;
예제) sample 사용자에게 emp테이블의 조회권한을 삭제하시오(scott)
revoke select on emp from sample;
역할 설정
개별 테이블에 대한 CRUD권한을 사용자별로 설정하면 경우의 수가 테이블수 * 사용자 수의 조합이 생김.
이런 문제점을 개선하기 위해서 롤(역할)을 정하고 역할별 권한 설정하고 사용자에게 역할을 부여하는 형태로 사용.
사용자가 여러개의 롤을 가지는 것이 가능함. (관리자, 사용자 등)
역할생성
CREATE ROLE 역할명 ;
역할에 대한 권한설정
GRANT CRUD ON 테이블명 TO 역할명;
사용자에게 역할 부여
GRANT 역할 TO 사용자명;
예제) test역할을 생성하시오
CREATE ROLE test;
예제) 접속권한과 테이블 생성권한을 test에 부여하시오
Grant create session, create table to test;
예제) scott , sample에게 test 역할을 지정하시오
Grant test to scott;
예제) test역할에 emp 테이블 검색/추가 권한을 부여하시오
grant select, insert on scott.emp to test;
예제) test 역할에 emp테이블의 ename의 업데이트 권한을 부여하시오
grant update(ename) on scott.emp to test;
예제) test역할에 emp테이블의 모든 권한을 부여하시오
grant all on scott.emp to test;
예제) test에 부여된 emp테이블의 모든 권한을 삭제하시오
revoke all on scott.emp from test;
'Study > 데이터베이스' 카테고리의 다른 글
오라클 12c 자주 사용하는 함수, 오라클 라이센스, 네이밍 (0) | 2018.04.12 |
---|---|
메타데이터, 캐릭터셋 (0) | 2018.04.11 |
오라클 스키마 수정, 스키마 삭제 (0) | 2018.04.09 |
오라클 스키마 정의, 자료형, 제약조건 (0) | 2018.03.30 |
오라클 서브쿼리, 집합연산 (0) | 2018.03.29 |
댓글