IT 꿈나무의 일상

[ORACLE] 오라클에서 사용자 권한 부여 및 회수 정리 (DCL) 본문

DB

[ORACLE] 오라클에서 사용자 권한 부여 및 회수 정리 (DCL)

viera 2021. 7. 15. 11:44
반응형

DB에서 유저를 생성 후 기본으로 아래 세가지 권한을 주면 사용자 계정처럼 사용할 수 있습니다.

GRANT RESOURCE, CONNECT, DBA TO [계정이름]
RESOURCE 개체 생성, 변경, 제거 권한
CONNECT DB 연결 권한
DBA DB 관리자 권한

 

# 권한 종류와 역할

 

1. 시스템 권한 : 시스템 작업시 사용하는 권한

  • DB 수준의 작업을 수행하기 위한 권한 (유저생성, 접속권한, 테이블생성, 모든 테이블 조회)
CREATE USER 데이터베이스 유저생성 권한
SELECT ANY TABLE 모든 유저의 테이블 조회
CREATE ANT TABLE 모든 유저의 테이블 생성
CREATE SESSION 데이터베이스 접속 권한
CREATE TABLE 테이블 생성 권한

 

2. 오브젝트 권한(DB 객체) : 테이블, 인덱스, 함수 및 프로시저 등 오브젝트에 대한 작업

  • 테이블에 대한 데이터 삽입 갱신 및 삭제 권한
  • ALTER, INSERT, SELECT, UPDATE, DELETE테이블에 대한 데이터 삽입 갱신 및 삭제 권한

3. 기타옵션

WITH GRANT OPTION 권한을 할당받은 유저가 다른 유저에게 해당 권한을 재할당
PUBLIC 해당 권한을 DB에 존재하는 모든 유저에게 할당

 

# 권한 부여

GRANT [권한1],[권한2..] USER TO [유저명];
GRANT [오브젝트권한] ON [유저명].[테이블명] TO [권한을부여할유저명];

# 권한 해지

REVOKE [권한1], [권한2..] USER FROM [유저명];
REVOKE [오브젝트권한] ON [유저명].[테이블명] FROM [권한을부여할유저명];

 

# 실습

- 시스템 계정이 아닌 일반 유저에게 계정생성하는 권한을 부여하고 확인해보았다.

 

1) 시스템 계정에서 viera 계정에 권한부여

# 시스템 계정으로 접속
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Thu Jul 15 10:31:02 2021
Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

# 권한부여
SQL> GRANT CREATE USER TO VIERA;
Grant succeeded.

2) viera 계정으로 이동하여 유저 생성 

# viera 계정으로 이동
SQL> conn viera/viera
Connected.

# 12c 부터는 C##를 붙여 유저를 생성해주어야 하지만 아래 명령어 입력하여 해결
SQL> ALTER SESSION SET "_ORACLE_SCRIPT"=true;
Session altered.

# 유저생성
SQL> CREATE USER VIERKA IDENTIFIED BY VIERKA;
User created.

3) 생성한 유저에 conn을 입력하여 접속  --> 해당 유저에 Connect 권한 없어서 접근할 수 없음

SQL> conn VIERKA/VIERKA     
ERROR:
ORA-01045: user VIERKA lacks CREATE SESSION privilege; logon denied

Warning: You are no longer connected to ORACLE.

4) 시스템 계정으로 접속하여 connect 권한을 주고 재접속 시도

시스템 계정에서 권한주기
SQL> conn / as sysdba
Connected.
SQL>  grant connect to vierka;

Grant succeeded.

# 권한 준 후에 재접속 성공
SQL> conn VIERKA/VIERKA
Connected.
반응형
Comments