DBDBDEEP
Oracle 유저 보안 관리 (계정 종류 및 유저 인증) 본문
6장은 유저 보안 관리에 관한 것이다.
데이터베이스 안에서는 user create / alter / drop 등을 할 수 있는데, 각각의 user에 대해 프로파일을 이용하여 DB사용 및 Instance 리소스에 대해 제한을 걸 수 있고 계정 상태 및 암호관리 규칙을 적용할 수 있다.
계정에 권한을 부여할 때는 Role 을 이용하여 편하게 user들에 대해 권한을 부여 가능하다.
* 롤 : 권한 부여 작업을 편하게 할 수 있게 하기 위한 개념
* 프로파일 : 데이터베이스 사용 및 Instance 리소스에 대해 명명된 리소스 제한의 집합을 적용하며, 계정 상태 및 암호 관리 규칙을 관리.
데이터 베이스의 유저 계정에 포함되어 있는 것
1. 고유 Username
2. 인증방식 : db인증 / OS인증 / Global 인증
3. Table Space : 물리적인 데이터파일 하나이다. 테이블이나 인덱스를 저장할 수 있는 파일
4. 기본 Talbe Space : 위치를 따로 지정하지 않고 default한 위치에 오브젝트를 만드는 방법
5. 임시 (Temporary) Table Space : 유저를 대신하여 Instance 에서 정렬, 임시 테이블과 같은 임시객체를 생성하는 장소.
6. 유저 프로파일 : 우저에게 적용되는 리소스 및 암호 제한의 집합.
7. 초기 Consumer Group : 리소스 관리자가 사용
8. 계정 상태 : Unlock / lock
9. 스키마 : 데이터베이스 유저가 소유하는 데이터베이스 객체의 모음. 유저계정과 동일한 이름
미리 정의된 데이터베이스 관리 계정
미리 정의된 계정은 dba_users 테이블에 저장되어 있다.
SQL> select * from dba_users;
⦁ SYS 계정
- 데이터 딕셔너리 및 AWR(성능 및 운용에 대한 통계정보 저장) 소유. 모든권한 가짐
- 데이터 베이스 Instance 시작 및 종료에 사용
⦁ SYSTEM : 추가 관리 테이블 및 뷰 소유.
- sysdba 권한은 없어 db startup, shutdown을 수행할 순 없음.
⦁ SYSBACKUP : ORACLE RMAN 백업 및 RECOVERY 작업 지원
* RMAN (Recovery Manager)
⦁ SYSDG(Data Guard) : Oracle Data Guard 작업 지원
⦁ SYSKM(암호와 관련) : Tranparent Data Encryption(전자지갑) 작업 지원
오라클이 데이터베이스 책임의 분리를 위해 다섯가지 관리권한을 제공한다.
권한 | 설명 |
SYSDBA | 표준 데이터베이스 작업 - 데이터베이스 Instance 시작 및 종료 - 서버 파라미터 파일(SFILE) 생성 - ARCHIVELOG 모드 변경 피부여자에게 유저 데이터 보기 허용 |
SYSOPER | 표준 데이터베이스 작업 - 데이터베이스 Instance 시작 및 종료 - 서버 파라미터 파일(SFILE) 생성 - ARCHIVELOG 모드 변경 |
SYSBACKUP | Oracle RMAN 또는 SQL*Plus를 사용하는 RMAN 백업 및 recovery |
SYSDG | Data Guard Broker 또는 DGMGRL을 사용하는 Data Guard 작업 |
SYSKM | Transparent Data Encryption 전자 지갑(wallet) 관리 |
유저 인증 (일반 유저)
1. password 인증 (DB인증)
Create user new_user // 아이디 지정
Identified by new_password // 패스워드 지정
ㄴ--> 일반 유저는 아이디와 암호를 통해 인증함
* 일반유저 인증할 때 대소문자를 구분한다. but, 관리자 유저는 대소문자 구분 안한다.
2. OS 인증
identified externally
ㄴ--> 패스워드 생성 간 externally 키워드를 사용하여 OS인증을 한다.
- 데이터 베이스 외부의 방식으로 인증한다.
- username이나 password를 지정하지 않고 오라클 데이터베이스에 쉽게 연결할 수 있다.
OS_AUTHNT_PREFIX 파라메터의 값| + OS username 으로 DB user를 생성
ex) CREATE USER ops$oracle IDENTIFIED EXTERNALLY;
3. Global 인증
ㄴ---> LDAP 기반 디렉토리 서비스를 사용하여 유저확인.
oracle advanced security를 구입해야한다.
유저 인증 (SYS,SYSBACKUP,SYSDG..유저)
1. OS 인증 (운영체제 보안)
ㄴ--> 설치시에 지정한 OSDBA, OSOPER OS user group
($ORACLE_HOME/rdbms/lib/config.c)에 속하는 user로 OS 에 로그인 한 후 다음과 같이 DB에 접속.)
ㄴ--> $sqlplus / as sysdba
ㄴ--> OS에 대한 보안(sys에 대한 패스워드도 뚫리면 DB도 위험해짐) 취약
* OS인증은 취약하다. 취약하므로 만약 OS인증을 막으려면? *
1. sqlnet.ora 파일로 들어가서
2. #sqlnet.autehntication_services=(none)을 작성한다.
2. password file 인증
- 관리자 username과 password를 저장한 파일을 인증에 사용
- 파일위치 : $ORACLE_HOME/dbs
- 파일이름 : orapw SID
- $orapwd file=$ORACLE_HOME/dbs/orapwSID password=sys_password
파라미터 REMOTE_LOGIN_PASSWORDFILE = exclusive 또는 share 로 설정
SQL> select * from v$pwfile_users; ---> 패스워드 파일 내용 확인
'Oracle ADMIN' 카테고리의 다른 글
Oracle 프로파일 생성 및 관리 (0) | 2022.07.03 |
---|---|
Oracle 권한 / Role (0) | 2022.07.03 |
Oracle Net 서비스 구성 및 관리 도구 (0) | 2022.06.28 |
Oracle 네트워크 환경구성 , Oracle net 서비스 (0) | 2022.06.28 |
Oracle이 정보를 적는 파일들 / Dynamic performance View / 데이터 딕셔너리 (0) | 2022.06.28 |