2020. 7. 1.

[Oracle] 관리자 9장 실습 권한과 Role


9.1 User에 대한 권한와 Role 조회 ()

사용 명령어
 SELECT grantee, privilege, admin_option FROM dba_sys_privs;
  • User 또는 role에 할당된 시스템 권한을 조회 한다.
  • GRANTEE : 권한을 할당 받은 user
  • PRIVILEGE : 권한
  • ADMIN_OPTION : 할당 받은 권한을 관리자와 동일하게 사용할 수 있는지 여부
SELECT grantee, owner, table_name, privilege, grantor FROM dba_tab_privs;
  • User 또는 role에 할당된 객체 권한을 조회 한다.
  • OWNER : 객체 권한이 할당된 개체의 소유 스키마
  • TABLE_NAME : 객체 권한이 할당된 table
  • GRANTOR : 객체 권한을 할당해준 user (sys일 경우 owner와 동일하게 표시된다.)
SELECT grantee, granted_role FROM dba_role_privs;
  • User 또는 role에 할당된 role을 조회 한다.
  • GRANT_ROLE : 할당된 role

CREATE TABLESPACE usr
DATAFILE '/app/ora12c/oradata/disk1/usr01.dbf' SIZE 5M;

CREATE USER u1
IDENTIFIED BY u1
DEFAULT TABLESPACE usr
QUOTA UNLIMITED ON usr;

CREATE USER u2
IDENTIFIED BY u2
DEFAULT TABLESPACE usr
QUOTA UNLIMITED ON usr;

CREATE USER u3
IDENTIFIED BY u3
DEFAULT TABLESPACE usr
QUOTA UNLIMITED ON usr;

SELECT username, default_tablespace, temporary_tablespace, account_status, profile
FROM dba_users
ORDER BY 1;

CREATE ROLE r1;

CREATE ROLE r2;

DESC dba_roles;

SELECT role FROM dba_roles
ORDER BY 1;

GRANT create session TO u1,u2,u3;

GRANT create table TO r1;

DESC dba_sys_privs;

SELECT grantee, privilege, admin_option FROM dba_sys_privs
WHERE grantee in ('U1','U2','U3','R1','R2')
ORDER BY 1;

CREATE TABLE u2.u21 (no NUMBER);

CREATE TABLE u3.u31 (no NUMBER);

GRANT select ON u2.u21 TO u1;

GRANT select ON u3.u31 TO r2;

DESC dba_tab_privs;

SELECT grantee, owner, table_name, privilege, grantor FROM dba_tab_privs
WHERE grantee in ('U1','U2','U3','R1','R2')
ORDER BY 1;

GRANT r1,r2 TO u1;

GRANT r2 TO u2;

DESC dba_role_privs

SELECT grantee, granted_role FROM dba_role_privs
WHERE grantee in ('U1','U2','U3','R1','R2')
ORDER BY 1;


댓글 없음:

댓글 쓰기