Oracle DB_사용자 생성 및 권한 설정

JW__1.7·2022년 8월 24일
0

DB 공부일지

목록 보기
2/27

데이터베이스 보안

  • 모든 사용자가 데이터베이스에 접근하거나 수정이 가능하다면 보안상 큰 문제가 발생한다.
  • 각 사용자마다 최소한의 권한을 주어 데이터베이스의 보안을 유지해야 한다.

데이터베이스 사용자

오라클 관리자 계정

SYS

  • SYSDBA 권한을 가짐 (Oracle 시스템 유지 관리 계정)
  • Data Dictionary의 소유자(Owner) 계정
  • 새로운 데이터베이스의 생성과 기존 데이터베이스의 삭제 가능

SYSTEM

  • SYSOPER 권한을 가짐(Oracle 데이터베이스 유지 관리 계정)
  • 어떤 데이터베이스를 운영하기 위한 계정
  • 새로운 데이터베이스의 생성이나 기존 데이터베이스의 삭제는 불가능

사용자 생성

  • 오라클 관리자 계정으로 작업하지 않고, 새로운 사용자 계정을 만들어서 사용해야 한다.
  • 관리자(DBA) 권한을 가진 사용자는 새로운 사용자를 생성할 수 있다.
  • CREATE USER 쿼리문 이용

사용자 삭제

  • 관리자(DBA) 권한을 가진 사용자는 기존 사용자를 삭제할 수 있다.
  • 접속한 사용자 자신을 삭제할 수는 없다.
  • DROP USER 쿼리문 이용

관리자가 생성한 사용자 정보

CREATE USER SCOTT IDENTIFIED BY TIGER;

  • 사용자명 : SCOTT
  • 비밀번호 : TIGER (대소문자 지켜야한다.)

사용자 삭제

DROP USER SCOTT;

DROP USER SCOTT CASCADE;

사용자가 데이터베이스 객체(테이블 등)를 가지고 있는 경우 CASCADE 옵션이 필요하다.

데이터베이스 사용자 목록

데이터 사전 (Data Dictionary)

  • 데이터베이스에 저장된 정보를 요약한 정보(메타 데이터)
  • 데이터베이스 사용자, 테이블, 인덱스 등의 정보를 테이블 및 뷰의 형태로 제공
  • 데이터베이스 사용자 목록을 확인할 수 있는 데이터 사전이 존재한다.
  • 사용자 유형별로 별도로 관리한다.

데이터 사전의 종류

DBA_ : 데이터베이스 전체에 포함된 모든 객체에 대한 정보

USER_ : 자신이 생성한 모든 객체에 대한 정보

ALL_ : 자신이 생성한 모든 객체 + 다른 사용자가 생성한 객체 정보 중 볼 수 있는 정보

X$_ : 데이터베이스 성능 분석 및 통계 정보

V$_ : X$_의 뷰(View)

사용자 목록 확인

DBA_USERS : 데이터베이스 전체 사용자 정보

USER_USERS : 자신이 생성한 사용자 정보

ALL_USERS : 자신이 생성한 사용자 + 다른 사용자가 생성한 사용자

DBA_USERS 테이블 구조 확인

DESC DBA_USERS;

→ DESC : DESCRIBE 명령과 동일하다.

DBA_USERS 테이블의 USERNAME 칼럼 조회

SELECT USERNAME FROM DBA_USERS;

  • SELECT 칼럼 FROM 테이블

데이터베이스 접근 권한

사용자 권한 기본 제공 ROLE

CONNECT : 데이터베이스 접속 권한

RESOURCE : 기본적인 데이터베이스 객체(테이블, 뷰, 인덱스 등)를 생성, 변경, 삭제할 수 있는 권한

DBA : 데이터베이스 관리자 권한

권한 부여 / 취소

관리자(DBA) 권한을 가진 사용자는 다른 사용자의 권한을 조정할 수 있다.

GRANT : 권한 부여

REVOKE : 권한 취소

데이터베이스 접속 권한 부여

GRANT CONNECT TO SCOTT;

→ SCOTT 계정에게 접속(CONNECT) 권한 부여

데이터베이스 접속 및 객체 사용 권한 부여

GRANT CONNECT, RESOURCE TO SCOTT;

→ 접속을 위한 CONNECT 권한과 객체 사용을 위한 RESOURCE 권한 모두 부여

데이터베이스 관리자 권한 부여

GRANT DBA TO SCOTT;

→ SCOTT 계정에게 관리자(DBA) 권한 부여

데이터베이스 접속 권한 취소

REVOKE CONNECT FROM SCOTT;

→ SCOTT 계정의 접속(CONNECT) 권한 취소

데이터베이스 접속 및 객체 사용 권한 취소

REVOKE CONNECT, RESOURCE FROM SCOTT;

→ 접속을 위한 CONNECT 권한과 객체 사용을 위한 RESOURCE 권한 모두 취소

데이터베이스 관리자 권한 취소

REVOKE DBA FROM SCOTT;

→ SCOTT 계정의 관리자(DBA) 권한 취소

0개의 댓글