'2011/04/16'에 해당되는 글 1건

  1. 2011.04.16 CHAP6 유저 보안 관리 Summary
IT/Oracle2011. 4. 16. 18:08

> 데이터 베이스 유저 생성 및 관리

> 유저 인증

> 기본 저장 영역 할당

> 권한 부여 및 취소

> 롤 생성 및 관리

> 프로파일 생성 및 관리

> 표준 암호 보안 기능 구현

> 유저별 리소스 사용량 제어

 

< 6-1 DBA User계정 >

데이터 베이스 유저 계정에는 다음의 내용이 포함되어 있다.

1. 고유 유저 이름

2. 인증 방식

3. 기본 테이블 스페이스

4. 임시 테이블 스페이스

5. User Profile

6. consumer group

7. lock상태

 

1. 고유 유저 이름 : 유저 이름은 30바이트를 초과하거나 특수 문자를 포함할 수 없다.

3. 기본 테이블 스페이스 : 유저가 테이블 스페이스를 지정하지 않은 경우 객체를 지정하는 장소.

4. 임시 테이블 스페이스 : 유저가 정렬 및 임시 테이블과 같은 임시 객체를 생성할 수 있는 장소

5. User Profile : user에게 할당되는 리소스 및 암호 제한 집합.

 

테이블 생성시, 테이블의 저장위치는 다음의 우선순위에 따라 결정된다.

1. 지정된 테이블 스페이스

2. 유저가 가진 유저의 디폴트 테이블 스페이스

3. 시스템 defined스페이스

 

< 6-2 미리 정의된 계정 : SYS 및 SYSTEM >

SYS계정

-> DBA 롤이 부여됨

-> ADMIN, OPTION과 함께 모든 권한을 가짐.

-> 시작, 종료 및 일부 유지 관리 명령에 필요

-> 데이터 딕셔너리 소유

-> AWR(Automatic Workload Repository)소유

 

 

SYSTEM계정 - DBA role이 부여됩니다. SYSDBA권한은 없음.

 

* SYS및 SYSTEM계정은 데이터베이스에서 필수 계정이며 삭제할 수 없습니다.

 

< 6-3 Creating a User - 유저 생성 >

Select Administration > Schema > User & Privileges > User

선택한 이후에 Create버튼을 누릅니다.

 

다음의 절차로 진행됩니다.

1. Administration을 선택합니다.

2. Schema > User & Privileges > User

3. Object Name를 입력한 이후에 Create로 선택합니다.

4. 정보 입력창이 뜨면 기본 정보를 입력합니다.

4-1 Name, Password 입력합니다. *표시는 다 기본으로 입력해야 합니다.

4-2 Default Tablespace를 선택합니다. 표시된 부분을 클릭합니다.

선택 창이 보여지면 원하는 테이블 스페이스를 선택합니다.

4-3 초기화면 Schema > User & Privileges > Userd에서 만들어진 것을 확인이 가능합니다.

 

1. Administration을 선택합니다.

 

 

2. Schema > User & Privileges > User

 

 

 

3. Object Name를 입력한 이후에 Create로 선택합니다.

 

 

4. 정보 입력창이 뜨면 기본 정보를 입력합니다.

4-1 Name, Password 입력합니다. *표시는 다 기본으로 입력해야 합니다.

 

 

4-2 Default Tablespace를 선택합니다. 표시된 부분을 클릭합니다.

 

 

선택 창이 보여지면 원하는 테이블 스페이스를 선택합니다.

여기서 기본 테이블 스페이스를 선택하지 않으면 시스템에 정의된 기본 영구 테이블 스페이스가 사용됩니다.

 

4-3 초기화면 Schema > User & Privileges > Userd에서 만들어진 것을 확인이 가능합니다.

 

 

 

< 6-4 Authenticating Users >(유저 인증)

(Authenticating) 인증의 장점

인증은 데이터, 리소스 또는 프로그램을 사용하려는 주체의 ID를 검증하는 작업을 의미합니다.

ID를 검증하며 신뢰성이 향상됩니다. 그리고 ID를 통해 책임 소재를 명확하게 구분하는 것이 가능합니다.

 

유저를 생성시에는 이 유저에 사용할 인증 기법을 결정해야 합니다.

세가지 인증 기법이 있습니다.

Passoword

오라클 DB에 의한 암호 인증을 의미합니다.

 

External :

-> 운영 체제에대한 인증, 유저 이름이나 암호를 지정하지 않음.

-> 운영 체제 또는 네트워크 인증 서비스를 사용하여 데이터 베이스 계정에 대한 액세스를 제한

OS_AUTHENT_PREFIX를 이용

 

<External 인증 방법>

다음과 같이 선언되어 있다. OS_AUTHENT_PREFIX = OPS$

 

운영 체제의 계정 이름이 tsmith의 유저가 오라클 데이터 베이스에 연결하여 운영체제에 의해 인증받는 경우 오라클 데이터 베이스는 해당 데이트베이스 유저인 OPS$smith가 있는 지 확인하고 이 유저가 있는 경우 유저의 연결을 허용함.

 

Global

생물 통계학(Biometrics), x509인증서, 토큰 장치 및 Oracle Internet Directory 를 통해 유저 식별. Oracle Enterprise Identify Management과정 참조.

 

< 6-5 관리자 인증 >

운영 체제 보안

- DBA는 파일을 생성하고 삭제하기 위한 OS권한을 가져야 한다.

- 일반 데이터베이스 유저는 데이터베이스 파일을 생성 또는 삭제할 수 있는 OS권한을 가질 수 없습니다.

 

관리자 보안

- SYSDBA 및 SYSOPER연결은 Password file이나 OS를 통해 인증됩니다.

- OS 인증의 경우, 데이터베이스는 제공되는 유저 이름과 암호를 사용하지 않음.

- 운영체제를 통한 인증이 성공후, 유저명을 기술하지 않은 CONNECT / 연결이 적용

- OS 인증은 Password file인증보다 우선 순위가 높음.

 

< 6-6 유저 계정 Lock 해제 및 암호 재설정 >

(1) 새 암호를 입력합니다.

(2) Unlocked 체크 박스를 선택합니다.

(3) Apply를 눌러 암호를 재설정하고 유저 계정의 lock를 해제합니다.

 

아래의 BI유저를 암호를 재설정하고 Lock해제를 실시합니다.

(1) BI를 선택합니다.

(2) EDIT버튼을 선택합니다.

(3) 새 암호를 입력합니다.

(4) Unlocked 체크 박스를 선택합니다.

(5) Apply를 눌러 암호를 재설정하고 유저 계정의 lock를 해제합니다.

 

(1) BI를 선택합니다.

 

 

 

(2) EDIT버튼을 선택합니다.

 

 

(3) 새 암호를 입력합니다.

(4) Unlocked 체크 박스를 선택합니다.

(5) Apply를 눌러 암호를 재설정하고 유저 계정의 lock를 해제합니다.

 

 

< Lock 해제 확인 >

 

 

< 6-7 권한 >

두가지 권한이 존재함.

시스템 권한 : 유저가 DB에서 특정 작업 수행, 100가지 이상의 시스템 권한 존재, 테이블 스페이스 생성등.

객체 권한 : 유저가 특정 객체만 조작 가능, 유저는 테이블, 뷰, 시퀀스, 프로시저, 함수 또는 패키지 등의 특정 객체에 대해 특정 작업 수행

 

시스템 권한 부여 :

(1) Edit User 페이지 --> System Privileges탭 선택

(2) 사용 가능한 권한 리스트에서 알맞은 권한 선택하여 권한 부여

 

 

 

객체 권한 부여

Edit User페이지에서 Object Privileges를 선택

 

< 6-8 시스템 권한 취소>

 

 

- Grant명령으로 직접 부여된 시스템 권한은 REVOKE SQL문을 사용하여 취소 가능

시나리오

(1) DBA가 ADMIN OPTION을 사용하여 Jeff에게 CREATE TABLE시스템 권한을 부여합니다.

(2) Jeff가 테이블을 생성합니다.

(3) Jeff가 CREATE TABLE시스템 권한을 Emi에게 부여합니다.

(4) Emi 가 테이블을 생성합니다.

(5) DBA가 jeff에게 부여된 CREATE TABLE시스템 권한을 취소합니다.

 

< RESULT >

Jeff테이블은 여전히 존재하지만 새 테이블을 생성할 수 없습니다. Emi의 테이블은 여전히 존재하며

CREATE TABLE시스템 권한을 갖는다.

 

< 6-9 객체 권한 취소>

 

 

 

< 6 - 10 > Roll 사용시의 이점

권한 관리 용이성

동적 권한 관리 :

롤과 연관된 권한을 수정하며 그 롤을 부여받은 모든 유저는 즉시 수정된 권한을 갖는다.

 

권한의 선택적 가용성

롤을 활성화 및 비활성화하여 권한을 일시적으로 사용하지 않게 할 수 있다.

 

< 6 - 11 > user에게 roll를 할당하는 그림예

 

 

왜 사용하나?

각 유저에게 개별적으로 권한을 부여하면 시간이 너무 많이 걸리고 오류 발생 가능성이 높기 때문에

롤을 사용하여 권한 관리를 쉽게 제어한다. 보안이 향상시키도록 고안됨.

 

Roll 특성

-> 롤에도 권한 부여 취소가 가능하다.

-> 롤을 유저나 다른 롤에게 부여혹은 취소 가능

-> 롤은 롤을 부여받은 각 유저에 대해 활성화나 비활성화 가능

-> 롤은 암호를 사용할 수있다.

-> 롤은 유저가 소유하지 않고 스키마에 존재하지 않음.

 

EM에서의 롤 생성(User생성과 유사함)

(1) Administration > Schema > User & Privileges > Roles선택

(2) Create 버튼을 누릅니다.

 

유저에게 롤 할당하기

(1) EM에서 Administration > Schema > User & Privileges > User선택

(2) User를 선택하고 Edit버튼을 누른다.

* (1), (2)는 위의 내용을 그림을 참조하면 알수 있습니다.

 

(3) Role탭을 누른다음 Edit List버튼을 누릅니다.

 

(4) Available Roles에서 원하는 롤을 선택하고 Selected Roles로 이동합니다.

(5) 롤을 모두 할당한 후에 OK버튼을 누릅니다.

 

 

 

< 6-12 프로파일 >

- 프로파일은 DB사용 및 instance리소스에 명명된 리소스 제한 집합을 적용

- 프로파일은 계정 상태를 관리하고 유저의 암호의 길이, 만료 시간등을 제한을 지정한다.

- 모든 유저에게 프로파일이 할당되고 언제나 하나의 프로파일에만 속한다.

- 현재 로그인상태에서 변경할 때, 변경 내용은 다음 로그인 때부터 적용

 

- 프로 파일을 통해 다음의 리소스 제한이 가능합니다.

CPU :

네트워크/메모리 : 각 데이터 베이스 세션은 시스템 메모리 리소스 및 네트워크 리소스를 소모합니다.

Connect Time

Idle Time

Concurrent Sessions

Private SGA

 

디스크 I/O : 유저가 세션 단위 레벨 또는 호출 단위레벨에서 읽을 수 있는 데이터 양을 제한한다.

 

프로파일 생성하기

(1) Administration > Schema > User & Privileges > Profiles

(2) Create 버튼을 클릭합니다.

 

< 6 - 13 암호 보안 기능 구현 >

계정 lock : 유저가 지정한 시도 횟수 내에 시스템에 로그인하지 못하면 일정 기간 동안 계정을 자동으로 Lock합니다.

암호 aging 및 만료 : 유저 암호에 수명이 있어서 암호가 만료되면 암호를 변경해야 합니다.

PASSWORD_LIFE_TIME

PASSWORD_GRACE_TIME

과거 암호 기록

PASSWORD_REUSE_TIME

PASSWORD_REUSE_MAX

암호의 복잡성 기록 : 암호의 복잡성을 검사하여 특정 규칙을 만족하는지 확인합니다.

PASSWOR_VERIFY_FUNCTION

 

암호 프로파일 생성

(1) Administration > Schema > User & Privileges > Profiles

(2) Create 버튼을 선택합니다.

 

암호의 프로파일 삭제시

SQL *PLUS에서 CASCADE옵션을 사용하여 프로파일을 삭제하면 해당 프로파일을 가진 모든 유저가 자동으로 DEFAULT프로파일에 할당됩니다.

 

제공되는 암호 확인 함수 : VERIFY_FUNCTION

최소 길이는 4자입니다.

암호는 유저 이름과 같을 수 없습니다.

암호에는 최소한 하나의 영문자, 하나의 숫자 및 하나의 특수문자가 포함됩니다.

암호는 이전 암호와 최소한 3자이상 달라야 합니다.

이 함수는 <oracle_home>/rdbms/admin/utlpwdmg.sql스크립트를 통해 생성.

 

< 6 - 14 유저에게 할당량 지정 >

할당량은 테이블 스페이스에 허용된 공간입니다.

테이블 스페이스의 대한 할당량 제공 옵션에는 세가지가 있습니다.

 

Unlimited : 원하는 만큼 사용 가능

Value : 할당량 지정

UNLIMITED TABLESPACE 시스템 권한 : 모든 개별 테이블 스페이스 할당량이 무시되고 유저에게 SYSTEM및 SYSAUX 를 포함한 모든 테이블 스페에스에 대해 무제한 할당량이 주어집니다. 이 권한을 부여시 주의해야함.

 

SYS 및 SYSTEM유저만 SYSTEM 또는 SYSAUX 테이블 스페이스에 객체를 생성할 수 있어야 합니다.

 

 

 

 

 

Posted by 예영교육 연구소