"Role 생성 조회 관리"의 두 판 사이의 차이
DB CAFE
(→Role 생성/부여/조회) |
(→롤 생성 / 테이블 권한 부여 / 롤 회수) |
||
100번째 줄: | 100번째 줄: | ||
− | === 롤 생성 / 테이블 권한 부여 / | + | === 롤 생성 / 테이블 권한 부여 / 확인 === |
# DBCAFE 유저에 테이블 생성 | # DBCAFE 유저에 테이블 생성 | ||
# RL_DBCAFE_ALL 롤을 생성 | # RL_DBCAFE_ALL 롤을 생성 |
2024년 5월 30일 (목) 22:55 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
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 롤 생성 / 테이블 권한 부여 / 확인[편집]
- DBCAFE 유저에 테이블 생성
- RL_DBCAFE_ALL 롤을 생성
- DBCAFE 유저에 생성된 테이블의 CRUD 권한을 RL_DBCAFE_ALL롤에 부여
- RL_DBCAFE_ALL롤을 CYKIM 유저에게 부여
- 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 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 조회