행위

Role 생성 조회 관리

DB CAFE

Dbcafe (토론 | 기여)님의 2024년 5월 30일 (목) 22:50 판 (Role 생성/부여/조회)
thumb_up 추천메뉴 바로가기


1 롤 (role)[편집]

1.1 Role 부여 / 조회[편집]

  • 리소스 ,접속 롤 부여
grant resource,connect 
   to dbcafe ;
  • 부여된 롤 조회
SELECT * 
  FROM DBA_ROLE_PRIVS 
  WHERE GRANTEE = 'dbcafe' ; -- 사용자에게 부여된 Role

1.2 Role에 부여된 시스템 권한 조회[편집]

  • RESOURCE 롤에 부여된 시스템 권한 조회
SELECT * 
  FROM DBA_SYS_PRIVS 
 WHERE GRANTEE='RESOURCE' ; => resource role에 부여된 권한

GRANTEE    PRIVILEGE            ADM COM INH 
---------- -------------------- --- --- --- 
RESOURCE   CREATE TABLE         NO  YES YES 
RESOURCE   CREATE OPERATOR      NO  YES YES 
RESOURCE   CREATE TYPE          NO  YES YES 
RESOURCE   CREATE CLUSTER       NO  YES YES 
RESOURCE   CREATE TRIGGER       NO  YES YES 
RESOURCE   CREATE INDEXTYPE     NO  YES YES 
RESOURCE   CREATE PROCEDURE     NO  YES YES 
RESOURCE   CREATE SEQUENCE      NO  YES YES 

8 행이 선택되었습니다.
SELECT * 
  FROM DBA_SYS_PRIVS 
 WHERE GRANTEE='CONNECT' ; connect role에 부여된 권한

GRANTEE              PRIVILEGE            ADM COM INH 
-------------------- -------------------- --- --- --- 
CONNECT              SET CONTAINER        NO  YES YES 
CONNECT              CREATE SESSION       NO  YES YES


1.3 Role에 시스템 권한 부여[편집]

GRANT PRIVILEGE to RoleName ;

grant create view to resource ;  => view 테이블을 생성할수 있는 시스템 권한을 resource 롤에 부여
SELECT * 
  FROM DBA_SYS_PRIVS 
 WHERE GRANTEE='RESOURCE' ; 

GRANTEE    PRIVILEGE            ADM COM INH 
---------- -------------------- --- --- --- 
RESOURCE   CREATE VIEW          NO  NO  NO 
RESOURCE   CREATE TABLE         NO  YES YES 
RESOURCE   CREATE OPERATOR      NO  YES YES 
RESOURCE   CREATE TYPE          NO  YES YES 
RESOURCE   CREATE CLUSTER       NO  YES YES 
RESOURCE   CREATE TRIGGER       NO  YES YES 
RESOURCE   CREATE INDEXTYPE     NO  YES YES 
RESOURCE   CREATE PROCEDURE     NO  YES YES 
RESOURCE   CREATE SEQUENCE      NO  YES YES 

9 행이 선택되었습니다.

1.4 Role에 시스템 권한 회수[편집]

revoke create view from resource ; 

권한이 취소되었습니다.
SELECT * 
  FROM DBA_SYS_PRIVS 
 WHERE GRANTEE='RESOURCE' ; 

GRANTEE    PRIVILEGE            ADM COM INH 
---------- -------------------- --- --- --- 
RESOURCE   CREATE TABLE         NO  YES YES 
RESOURCE   CREATE OPERATOR      NO  YES YES 
RESOURCE   CREATE TYPE          NO  YES YES 
RESOURCE   CREATE CLUSTER       NO  YES YES 
RESOURCE   CREATE TRIGGER       NO  YES YES 
RESOURCE   CREATE INDEXTYPE     NO  YES YES 
RESOURCE   CREATE PROCEDURE     NO  YES YES 
RESOURCE   CREATE SEQUENCE      NO  YES YES 

8 행이 선택되었습니다.


1.5 롤 생성 / 테이블 권한 부여 / 롤 회수[편집]

  1. DBCAFE 유저에 테이블 생성
  2. RL_DBCAFE_ALL 롤을 생성
  3. DBCAFE 유저에 생성된 테이블의 CRUD 권한을 RL_DBCAFE_ALL롤에 부여
  4. RL_DBCAFE_ALL롤을 CYKIM 유저에게 부여
  5. CYKIM 유저가 DBCAFE 유저 테이블 CRUD 처리 확인
-- 1. DBCAFE 유저에 테이블 생성 
CREATE TABLE DBCAFE.TB_DBCAFE (A NUMBER);
INSERT INTO DBCAFE.TB_DBCAFE VALUES (1);
COMMIT;

-- 2. 롤 생성
CREATE ROLE RL_DBCAFE_ALL;

-- 3.DBCAFE.TB_DBCAFE 테이블 CRUD 권한을 RL_DBCAFE_ALL 에게 부여 
GRANT SELECT,INSERT,UPDATE,DELETE ON DBCAFE.TB_DBCAFE TO RL_DBCAFE_ALL ; 

-- 4. 일반사용자 CYKIM 에게 RL_DBCAFE_ALL 롤 부여  
GRANT RL_DBCAFE_ALL TO CYKIM;

-- 5.일반사용자 CYKIM유저가 DBCAFE.TB_DBCAFE 테이블에 CRUD 되는지 확인
INSERT INTO DBCAFE.TB_DBCAFE
VALUES (2); 
COMMIT;

SELECT * FROM DBCAFE.TB_DBCAFE;

1.6 Role 생성/부여/조회[편집]

1.6.1 롤 생성 Syntax[편집]

create_role.gif

CREATE ROLE ROLE_NAME;

create role create_synonym_view ;   => create_synonym_view ROLE 생성

롤이 생성되었습니다.

1.6.2 롤에 권한 부여[편집]

grant create synonym
    , create view 
   to create_synonym_view ;  => ROLE(create_synonym_view) 에 synonym, view 테이블 생성 권한 부여

권한이 부여되었습니다.
select grantee,granted_role 
  from dba_role_privs 
 where granted_role='CREATE_SYNONYM_VIEW' ; => ROLE 조회

GRANTEE    GRANTED_ROLE 
---------- ------------------------------ 
SYS        CREATE_SYNONYM_VIEW 

<source lang=sql>
SELECT * 
  FROM DBA_SYS_PRIVS 
 WHERE GRANTEE='CREATE_SYNONYM_VIEW' ; => Role에 부여된 권한 조회

GRANTEE              PRIVILEGE            ADM COM INH 
-------------------- -------------------- --- --- --- 
CREATE_SYNONYM_VIEW  CREATE VIEW          NO  NO  NO 
CREATE_SYNONYM_VIEW  CREATE SYNONYM       NO  NO  NO
GRANT CREATE_SYNONYM_VIEW to dbcafe ;  => 생성된 Role을 사용자(dbcafe) 에게 부여

권한이 부여되었습니다.

1.7 부여된 롤 조회[편집]

SELECT * 
  FROM DBA_ROLE_PRIVS 
 WHERE GRANTEE = 'DBCAFE' ;  => 사용자에게 부여된 Role 조회

SELECT * FROM USER_ROLE_PRIVS ;  => 현재 세션 사용자에게 부여된 Role 조회