권한기초 공부하던 중
질문거리가 생겨 글 올립니다!
A라는 ID가 있고 이에게는 CONNECT와 RESOURCE 롤이 부여되어있습니다.
(SELECT * FROm DBA_ROLE_PRIVS WHERE GRANTEE = 'A';)
아시다시피 , CONNECT와 RESOURCE라는 ROLE에는 여러가지 Privs가 들어있음을 확인할 수 있습니다.
CONNECT의 경우엔 : CREATE SESSION 1개
RESOURCE의 경우엔 8개
CREATE TRIGGER
CREATE SEQUENCE
CREATE TYPE
CREATE PROCEDURE
CREATE CLUSTER
CREATE OPERATOR
CREATE INDEXTYPE
CREATE TABLE
Q) 여기서 질문!
dba_sys_privs 라는 테이블에서 GRANTEE = 'A'로 하면
저 위의 합집합? privs가 다 보여야하는데 그보다 적게 나옵니다. (6개)
이 말은 dba_sys_privs라는 테이블에서는 A에 할당받은 role에 포함된 privs를 포함해서 나오는게 아니고
privs(권한) 레벨로 따로 부여받은 것들만 나오게되는건가요? ex) grant create view to A 같은식으로.부여받은 것.
그럼 A가 가진 권한을 고려할때
ROLE 테이블에서의 권한 따로, Privs 테이블에서의 권한을 각각 생각하면 될런지요?
|