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;
댓글 없음:
댓글 쓰기