개인공부
롤 권한 제어 본문
롤이란
롤은 사용자에게 보다 효율적으로 권한을 부여할 수 있도록 여러 개의 권한을 묶어 놓은 것입니다.
다수의 사용자에게 공통적으로 필요한 권한들을 롤에 하나의 그룹으로 묶어두고 사용자에게는 특정 롤에 대한 권한 부여를 함으로서 간단하게 권한 부여를 할 수 있습니다.
또한 여러 사용자에게 부여된 권한을 수정하고 싶을 때에도 일일이 사용자마다 권한을 수정하지 않고 롤만 수정하면 그 롤에 대한 권한 부여를 한 사용자들의 권한이 자동 수정됩니다.
사전에 정의된 롤의 종류
CONNECT 롤
사용자가 데이터베이스에 접속 가능하도록 하기 위해서 다음과 같이 가장 기본적인 시스템 권한 8가지를 묶어 놓았습니다.
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 롤
사용자들이 소유한 데이터베이스객체를 관리하고 사용자들을 작성하고 변경하고 제거할 수 있도록 하는 모든 권한을 가집니다. 즉, 시스템 자원을 무제한적으로 사용하며 시스템 관리에 필요한 모든 권한을 부여할 수 있는 강력한 권한을 보유한 롤입니다.
롤 부여하기
GRANT CONNECT, RESOURCE TO USER04;
롤 권한 확인
SELECT * FROM DICT WHERE TABLE_NAME LIKE '%ROLE%';
사용자 롤 정의
CREATE ROLE role_name;
GRANT privilege_name TO role_name;
CONN system/1234
롤을 생성합니다.
CREATE ROLE MROLE;
생성된 롤에게 권한을 부여합니다.
GRANT CREATE SESSION, CREATE TABLE, CREATE VIEW TO MROLE;
사용자를 생성하여 롤을 부여합니다.
CREATE USER USER05 IDENTIFIED BY TIGER;
GRANT MROLE TO USER05;
확인
CONN USER05/TIGER
SELECT * FROM USER_ROLE_PRIVS;
롤 회수하기
REVOKE role_name FROM user_name;
롤 삭제하기
DROP ROLE MROLE02;
'데이터베이스' 카테고리의 다른 글
PL / SQL - 1 (0) | 2018.04.27 |
---|---|
동의어 (0) | 2018.04.26 |
사용자 관리 - 2 (0) | 2018.04.26 |
사용자 관리 - 1 (0) | 2018.04.25 |
인덱스 (0) | 2018.04.25 |