앞서 권한 부여에 대한 포스트를 작성하며 , 로 계속 나열하여
한번의 명령어로 여러개의 권한을 부여할 수 있다고 설명하였는데,
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 |