앞서 권한 부여에 대한 포스트를 작성하며 , 로 계속 나열하여

한번의 명령어로 여러개의 권한을 부여할 수 있다고 설명하였는데,

grant create session, create table to user01;

 

부여해야 하는 권한이 많으면 그것을 일일히 다 나열해야 한다.

이 때, 롤에 대해 알고 있다면 그런 불상사는 일어나지 않는다.

 

 

사용자에게 효율적으로 권한을 부여할 수 있도록 여러 개의 권한을 묶어 놓은 것

 

1. Connect 롤 

데이터베이스에 접속 가능한 가장 기본적인 시스템 권한 8가지

2. Resource 롤

테이블, 뷰, 인덱스 등의 객체를 생성할 수 있는 시스템 권한 20여가지

3. DBA 롤

데이터베이스 객체를 관리하고 계정을 작성,변경,제거할 수 있는 모든 권한 130여가지

가장 강력한 권한을 가진 롤이다.

 

grant (connect, resource, dba) to 부여받을계정이름;

--connect, resource, dba 중 필요한 것을 하나 또는 두개 이상 나열한다

 

 

4. 사용자 정의 롤

사용자가 필요한 권한만 묶어 임의의 롤을 생성할 수 있다.

(DBA 권한이 있는 계정에서 생성 가능)

 

create role 롤이름 grant 추가할권한1,추가할권한2 to 롤이름;

 

 

1) 롤 생성

create role mrole;

 

 

 

 

2) mrole에 시스템 권한을 추가한다.

grant create session, create table, create view to mrole;

 

 

 

 

3) mrole을 적용해보기 위한 계정 생성 : user05 / user05

 

create user user05 identified by user05;

 

 

 

 

4) user05에 mrole 적용 시키기

 

grant mrole to user05;

 

 

 

 

 

5) cmd로 user05 접속해보기.

방금 생성된 계정은 아무런 권한이 없어 로그인조차 되지 않으니,

접속만 잘 되어도 사용자 정의 롤인 mrole 부여에 성공한 것이다.

 

 

성공.

 

 

5) 부여했던 롤 회수하기

 

revoke 롤이름 from 계정이름;

rovoke mrole from user05;

 

 

 

 

6) 사용자 정의 롤 삭제하기

 

drop role 롤이름;

drop role mrole;

 

 

 

 

 

 

디폴트 롤 생성

 

 

 

1) 생성

 

 

2) 롤을 구성하는 시스템 권한 넣기

 

 

3)  롤을 구성하는 객체 권한 넣기

객체 소유자인 scott 계정으로 진행한다.

 

 

 

4) 롤을 적용하기 위한 일반 계정 3개 생성

 

 

5) 생성된 계정 3개에 def_role을 부여

 

 

 

6) 디폴트 롤이 잘 부여되었는지 확인

'오라클 데이터베이스' 카테고리의 다른 글

PL / SQL  (0) 2022.08.01
동의어 Synonym  (0) 2022.07.29
DCL> 사용자 관리와 Grant, Revoke  (0) 2022.07.29
인덱스 Index  (0) 2022.07.29
시퀀스 Sequence  (0) 2022.07.29

+ Recent posts