Database -Mysql,Oracle

[DB] 롤 - 오라클

은은하게미친자 2022. 11. 9. 15:51
728x90

롤 ? 

: 여러종류의 권한을 묶어놓은 그룹,  여러권한을 한번에 부여하고 해제 할 수있으므로 권한 관리 효율을 높일 수 있습니다.

 

사전정의된 롤

  1. CONNECT 롤
    • 사용자가 데이터베이스를 접속하는데 필요한 CREATE SESSION 권한을 가지고 있습니다.
  2. RESOURCE 롤
    • 사용자가 테이블, 시퀀스를 비롯한 여러 객체를 생성할 수있는 기본 시스템 권한을 묶어놓은 롤입니다.
    • 보통 새로운 사용자를 생성하면 CONNECT롤과 RESOURCE롤을 부여하는 경우가 많은데 SYNONYM권한은 제외 되어있기때문에 동의어 생성 권한을 사용자에 부여하려면 이 두권한을 따로 부여 해주어야합니다.
  3. DBA 롤
    • 데이터 베이스를 관리하는 시스템 권한을 대부분 가지고있습니다.

사용자 정의 롤

: 필요에 의해 직접 권한을 포함 시킨 롤

 

* 롤 생성 방법

0. 데이터관리권한이 있는 사용자계정으로 접속 (EX. SYSTEM계정)

1. CREATE ROLE문으로 롤을 생성

2. GRANT 명령어로 생성한 롤에 권한을 포함

3. GRANT 명령어로 궎나이 포함된 롤을 특정 사용자에게 부여

4. REVOKE 명령어로 롤을 취소 시킵니다.

 

* 부여된 롤과 권한 확인

현재 부여된 권한과 롤확인 : USER_SYS_PRIVS, USER_ROLE_PRIVS 데이터 사전 사용하여 조회

데이터 관리 권한을 가진 계정 : DBA_SYS_PRIVS, DBA_ROLE_PRIVS

CONN 아이디/비번
SELECT * FROM USER_SYS_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;

 

* 부여된 롤 취소

GRANT명령어로 부여한 ROLE을 취소할때 REVOKE문을 사용

REVOKE 롤이름 FROM 사용자이름;

 

* 롤삭제

:DROP명령어를 사용

DROP ROLE 롤이름;

 

728x90