신문지한장

[SQL] oracle user 권한 부여 및 회수 (role) 본문

카테고리 없음

[SQL] oracle user 권한 부여 및 회수 (role)

신문지한장 2024. 12. 2. 16:50

OS : CentOS 7.9

 

DB : Oracle Database 19c(19.23.0)

 

1. connect, resource 권한 부여

SQL> grant connect, resource to testuser;

 

* 12c 부터 적용되는 quota

SQL> alter user testuser quota unlimited on USERS;
SQL> grant unlimited tablespace to testuser;

 

2. connect, resource 권한 회수

SQL> revoke connect,resource from testuser;

 

3. 사용자 권한(role) 확인

SQL> select * from dba_sys_privs where grantee='testuser';

 

4. 어떤 사용자가 어떤 Role 사용하는지 조회

SQL> select GRANTEE,GRANTED_ROLE,ADMIN_OPTION,DEFAULT_ROLE from dba_role_privs where grantee='TESTUSER';

 

5. 어떤 Role 에 어떤 권한이 있는지 확인

SQL> select * from dba_sys_privs where grantee='CONNECT';

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

 

 

💡 Role 생성 및 삭제 방법

1. Role 생성

SQL> create role krole;

 

2. Role에 create session, create table 권한 할당

SQL> grant create session, create table to krole;

 

3. 사용자에게 Role 할당

SQL> grant krole to testuser;

 

4. Role 삭제

SQL> drop role krole;