-
롤(ROLE)oracle/15장_사용자 권한 제어 2022. 12. 12. 17:16
롤 개념
- 다수 사용자와 다양한 권한을 효과적으로 관리하기 위하여 서로 관련된 권한을 그룹화한 개념- 일반 사용자가 데이터베이스를 이용하기 위한 공통적인 권한(데이터베이스 접속권한, 테이블 생성, 수정,
삭제, 조회 권한, 뷰 생성 권한)을 그룹화
- 이러한 권한을 그룹화하여 롤로 정의해서 사용자에게 롤에 대한 접근 권한을 부여하면 권한 관리를 효과적으로 함
롤 부여
- 활성화 또는 비활성화를 통한 일시적 권한 부여 철회 가능
- 암호 부여 가능
- 사용자 또는 다른 롤에 대한 접근 권한 부여 및 철회 가능
- 자신에 대한 롤 부여나 순환적인 부여는 불가능
- 롤은 특정 소유자나 특정 객체에 속하지 않음
사전에 정의된 롤
- 사용자 접속, 자원 생성, DBA 등과 같이 공통적으로 사용되는 권한은 사전에 롤로 정의하여 제공됨
- 사전에 정의된 롤도 부여, 철회 가능
사전에 정의된 롤의 종류
- CONNECT 롤 : 사용자가 데이터베이스에 접속하여 세션을 생성할 수 있는 권한
테이블 또는 뷰와 같은 객체를 생성할 수 있는 권한
- RESOURCE 롤 : 사용자에게 자신의 테이블, 시퀀스, 프로시져, 트리거 객체 생성 할 수 있는 권한
사용자 생성시 CONNECT 롤과 RESOURCE 롤을 부여
- DBA 롤 : 시스템 자원의 무제한적인 사용이나 시스템 관리에 필요한 모든 권한
DBA 권한을 다른 사람에게 부여할 수 있음
모든 사용자 소유의 CONNECT, RESOURCE, DBA 권한을 포함한 모든 권한을 부여 및 철회 가능
롤 생성
- CREATE ROLE 명령문으로 생성, 롤에 암호 부여 가능, 롤 이름은 사용자나 다른 롤과 중복될 수 없음
롤 생성(사용법) 롤 생성 예시 (hr_clerk 와 hr_mgr 롤 생성)
CREATE ROLE hr_clerk; --hr_mgr 롤 생성 및 암호 지정 CREATE ROLE hr_mgr IDENTIFIED BY manager;
롤 권한 부여
롤에 시스템 권한이나 객체 권한 또는 다른 롤을 부여 가능 , GRANT 명령문 사용
롤 권한 부여 예시
--hr_mgr 롤에 create session 시스템 권한을 부여하라 grant create session TO hr_mgr; --scott 사용자의 student 테이블의 모든 칼럼에 대한 select,insert,delete 객체 권한을 hr_clerk에 부여하라 grant select, insert, delete ON scott.student TO hr_clerk;
롤에 롤 부여
롤은 사용자 또는 다른 롤에게 롤 부여 가능
롤에 롤 부여 예시
-- 롤에 롤 권한 부여 grant hr_clerk TO hr_mgr;
롤 조회
롤에 부여한 시스템 권한 조회
-- 롤에 부여한 시스템 권한 조회 select * from role_sys_privs;
롤에 부여한 시스템 권한 조회 'oracle > 15장_사용자 권한 제어' 카테고리의 다른 글
DATABASE 15장 연습문제 (0) 2022.12.12 동의어 (0) 2022.12.12 객체 권한의 철회 (0) 2022.12.12 객체 권한 (0) 2022.12.12 데이터베이스 보안 (0) 2022.12.12