상세 컨텐츠

본문 제목

ROLE / 사용자 생성, 삭제, 권한 부여

DataBase/Oracle

by H_Develop 2022. 6. 13. 01:30

본문

Oracle 에서는 Role-based 로 관리한다고 한다.

 

1. ROLE 생성

2. ROLE 권한부여

3. 해당 ROLE 사용자 CONNECT

 

C:\Windows\System32>sqlplus hr
SQL> conn sys /as sysdba
암호 입력:
연결되었습니다.
SQL> show user;
USER은 "SYS"입니다
SQL> create user tester1 identified by tester1;

사용자가 생성되었습니다.

 

select * from user_users;

USERNAME                       USER_ID 	  ACCOUNT_STATUS
------------------------------ ---------- --------------------------------
LOCK_DAT EXPIRY_D DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE
-------- -------- ------------------------------ ------------------------------
CREATED  INITIAL_RSRC_CONSUMER_GROUP
-------- ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------

SYS                            0		  OPEN
                  SYSTEM                         TEMP
07/04/17 SYS_GROUP

 

teset2 user 생성

사용자 패스워드 변경, 사용자 계정 잠금(lock), 사용자 권한부여 및 취소

create user tester2 identified by tester2
default tablespace SYSTEM temporary tablespace TEMP;

사용자가 생성되었습니다.
// 조건 default tablespace SYSTEM temporary

alter user
tester1 identified by rootoor;

사용자가 변경되었습니다.
// 사용자 패스워드 변경

alter user tester1 account unlock;
alter user tester1 account lock;
// 사용자 계정을 잠그거나, 풀어주거나.

grant connect, resource, dba to tester1;
// tester1 table에 connect, resource, dba권한 부여(grant 주다)

revoke dba from tester1;
// tester1 table의 dba 권한 취소

 

Role // 사용자 권한 조절, 사용자 생성 및 삭제

create ROLE user_create;
// 롤 생성

grant create user, alter user to user_create;
// user_create role에 create user, alter user 의 권한 부여

grant user_create to scott, hr;
// scott, hr 사용자에게 user_create 권한 부여

conn oe
// oe 사용자 로그인

create user tester4 identified by tester4;
1행에 오류:
ORA-01031: 권한이 불충분합니다
// scott, hr 사용자에게만 user_create 권한을 주었기 때문에, 현재 oe 사용자는 user 생성 불가

conn scott
// scott 사용자 로그인
create user tester4 identified by tester4;

사용자가 생성되었습니다.
// role base 를 scott 사용자에 권한을 부여하였기에 scott 사용자는 생성 가능

conn sys
// sys 관리자 로그인

drop role user_create;
// sys 최상위 관리자로 로그인하여 role 삭제

 

create user mary identified by mary;
// 사용자 생성

grant connect, resource to mary with admin option;
// 권한 부여, connect, resource를 관리자 급(with admin option)으로

conn mary/mary
// mary 사용자 로그인

grant connect, resource to tester1;
// tester1에 권한부여

// mary 사용자는 connect, resource를 관리자가 다른 사용자에게 부여하듯, 다른 사용자에게 부여할 수 있다.

grant select, insert, delete, update on hr.employees to tester2;
// tester2 에 권한부여
// hr 사용자의 employees table 작업할 수 있는 select, insert, delete, update 명령어 사용 권한을 부여

 

 *** oracle 권한 정리 *** (google에 검색하면 잘 나옴)
https://pridiot.tistory.com/128

'DataBase > Oracle' 카테고리의 다른 글

MERGE 머지  (0) 2022.06.13
SYNONYM 동의어  (0) 2022.06.13
INDEX 인덱스  (0) 2022.06.13
View 가상테이블  (0) 2022.06.12
Transaction, lock, Rollback, View, Compile  (0) 2022.06.09

관련글 더보기