2015년 3월 17일 화요일

오라클의 개념_8

ㅇ ㅂㅇ


사용자 및 보안
보안도메인
 데이터베이스 관리자는 데이터베이스를 액세스할 수 있는 사용자의 이름을 정의하며 보안
도메인은 해당 사용자에게 적용되는 설정을 정의합니다.
인증방식
 데이터베이스를 액세스하는 사용자는 다음 중 하나를 통해 인증됩니다.
  • 데이터 딕셔너리
  • 운영 체제 - 관리자는 OS 인증을 해야 함
  • 네트워크
 이러한 인증 방식은 데이터베이스에서 사용자를 정의할 때 지정되며 나중에 변경할 수 있
습니다.
테이블스페이스할당량
 테이블스페이스 할당량은 데이터베이스의 테이블스페이스에서 사용자에게 할당된 물리
적 저장 공간의 양을 제어합니다.
기본테이블스페이스
 기본 테이블스페이스는 세그먼트 생성 시 테이블스페이스를 명시적으로 지정하지 않은 경
우에 사용자가 생성한 세그먼트가 저장되는 위치를 정의합니다.
임시테이블스페이스
 임시 테이블스페이스는 정렬 데이터를 디스크에 써야 하는 작업을 수행할 경우 Oracle 서
버에서 할당되는 확장 영역의 위치를 정의합니다.
계정잠금
 인증받지 못한 사용자가 데이터베이스에 로그인하는 것을 막기 위해 계정을 잠글 수 있습
니다. 자동으로 계정이 잠기도록 설정할 수 있으며 데이터베이스 관리자가 수동으로 잠그
거나 잠금을 해제할 수도 있습니다.
자원제한
 CPU 시간, 논리적 입/출력(I/O), 사용자가 연 세션 수와 같은 자원의 사용을 제한할 수 있습
니다.
 profile에 정의된 대로 제한을 받음
직접권한
 권한은 데이터베이스에서 사용자가 수행하는 작업을 제어하는 데 사용됩니다.
롤권한 (역할 권한)
 롤 사용을 통해 간접적으로 사용자에게 권한을 부여할 수 있습니다.


 스키마란 특정 사용자와 관련된 테이블, 뷰, 클러스터, 프로시저 및 패키지와 같은 객체의
명명된 모음을 의미합니다. 데이터베이스 사용자가 생성될 때 해당 사용자와 동일한 이름
을 가진 스키마가 만들어집니다. 이 사용자는 동일한 이름의 스키마와만 연관되므로
username과 schema는 종종 교환되어 사용됩니다.


사용자 생성 점검 목록은 감사 및 감리 시 확인 하게 되는 사항이며, 준거성 테스트 시 보게 되는 문서 임. 또한 접근 제어를 할시 해당 사항을 기록해 놓습니다.


새로운 사용자 생성 : 데이터베이스 인증

구문:
다음 명령을 사용하여 새 사용자를 생성합니다.
CREATE USER user
IDENTIFIED {BY password | EXTERNALLY}
[ DEFAULT TABLESPACE tablespace ]
[ TEMPORARY TABLESPACE tablespace ]
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
[ QUOTA {integer [K | M ] | UNLIMITED } ON tablespace
]...]
[ PASSWORD EXPIRE ]
[ ACCOUNT { LOCK | UNLOCK }]
[ PROFILE { profile | DEFAULT }]
설명:
user: 사용자의 이름입니다.
BY password: 로그인할 때 데이터베이스에 의해 사용자가 인증되며 암호를 입력해야 함
을 나타냅니다.
EXTERNALLY: 운영 체제에 의해 사용자가 인증됨을 나타냅니다.
GLOBALLY AS: 사용자가 전역적으로 인증됨을 나타냅니다.
DEFAULT 또는 TEMPORARY TABLESPACE: 사용자의 기본 테이블스페이스나 임시 테이블
스페이스를 식별합니다.
QUOTA: 테이블스페이스에서 사용자가 소유한 객체에 허용되는 최대 공간을 정의합니다.
(Quota는 정수 바이트나 KB, MB로 정의할 수 있습니다. UNLIMITED 키워드는 사용자가 소
유한 객체가 테이블스페이스에서 사용할 수 있는 만큼 공간을 사용할 수 있도록 지정할 때
사용됩니다. 기본적으로 사용자는 테이블스페이스에서 할당량을 가질 수 없습니다.)
PASSWORD EXPIRE: 사용자가 SQL*Plus를 사용하여 데이터베이스에 로그인할 때 암호를
재설정하도록 합니다. (이 옵션은 데이터베이스가 사용자를 인증할 경우에만 유효합니다.)
ACCOUNT LOCK/UNLOCK: 사용자 계정을 명시적으로 잠그거나 잠금을 해제하는 데 사용
합니다. (UNLOCK이 기본값입니다.)
PROFILE 자원 사용을 제어하고 사용자에게 사용할 암호 제어 방식을 지정할 때 사용합니
다.


새로운 사용자 생성 : 운영 체제 인증

운영체제인증
 운영 체제가 사용자를 인증하도록 지정하려면 CREATE USER 명령의 IDENTIFIED
EXTERNALLY 절을 사용합니다. 이 옵션은 대개 Oracle 서버가 실행 중인 시스템에 사용자
가 직접 로그인할 때 유용합니다.
운영체제인증을위한사용자이름
 OS_AUTHENT_PREFIX 초기화 매개변수는 운영 체제 인증을 위한 사용자 이름 형식을 지
정하는 데 사용됩니다. 이 값은 이전 버전의 Oracle 서버와 역 호환이 가능하도록 기본값이
OPS$로 설정되어 있습니다. 접두어를 NULL 값으로 설정하려면 이 초기화 매개변수를 다
음과 같이 지정합니다.
    OS_AUTHENT_PREFIX = ““
슬라이드의 예제는 aaron 사용자를 데이터베이스에서 정의하는 방법을 보여주고 있습니
다. 이렇게 하면 운영 체제 사용자인 aaron이 Oracle 서버의 인증을 거치지 않고 데이터베
이스를 액세스할 수 있습니다. SQL*Plus를 사용하여 UNIX 시스템에 로그인하려면 aaron
사용자는 운영 체제에서 다음 명령을 입력해야 합니다.
$ sqlplus /


테이블스페이스의 사용자 할당량 변경
 다음 명령을 사용하여 테이블스페이스 할당량을 수정하거나 테이블스페이스를 재할당합
니다.
   ALTER USER user
   [ DEFAULT TABLESPACE tablespace]
   [ TEMPORARY TABLESPACE tablespace]
   [ QUOTA {integer [K | M] | UNLIMITED } ON tablespace
   [ QUOTA {integer [K | M] | UNLIMITED } ON tablespace ]
   ...]
할당량을 0으로 지정하면 사용자가 소유한 객체는 권한이 취소된 테이블스페이스에 남아
있지만 새로운 공간에 할당될 수는 없습니다. 예를 들어 10MB의 테이블이 테이블스페이스
USERS에 있을 때 테이블스페이스 USERS 할당량을 0으로 바꾸면 해당 테이블은 더 이상의
새로운 확장 영역에 할당될 수 없습니다.
변경되지 않은 옵션은 그대로 있습니다.


사용자 삭제
 DROP USER user [CASCADE]
 지침:
  • CASCADE 옵션은 사용자를 삭제하기 전에 먼저 스키마의 모든 객체를 삭제합니다. 스키마에 객체가 포함되어 있으면 이 옵션을 지정해야 합니다.
  • Oracle 서버에 현재 연결되어 있는 사용자는 삭제할 수 없습니다.


사용자 정보 얻기

 다음 질의를 사용하여 모든 사용자에 대한 default_tablespace를 찾습니다.
SQL> SELECT username, default_tablespace
 2      FROM dba_users;

USERNAME DEFAULT_TABLESPACE
-----------  ------------------
SYS              SYSTEM
SYSTEM        SYSTEM
OUTLN         SYSTEM
DBSNMP        SYSTEM
HR               SAMPLE
OE               SAMPLE














댓글 없음:

댓글 쓰기