I. 계정 관리
1. 데이터베이스 유저 계정
2. 미리 정의된 계정
3. 유저 인증 방법
① Password
② Externa
③ Global
4. 관리자 인증 방법
① 운영 체제 보안
② 관리자 보안
II. 권한관리
1. 시스템 권한
2. 객체 권한
3. ADMIN OPTION
4. GRANT OPTION
5. 롤 이용 시 이점
6. 롤에 권한 할당 및 유저에게 롤 할당
7. 미리 정의된 롤
8. 보안 롤
I. 계정 관리
1. 데이터베이스 유저 계정
• 데이터베이스에 액세스 하기 위해서는 유저가 유효한 데이터베이스 유저 계정을 지정하고 이 유저 계정에 필요한 인증을
성공해야 합니다.
• 유저가 일반 데이터베이스 계정을 공유하는 경우가 있는데 이 경우 운영체제와 응용프로그램은 데이터베이스에 대해
적절한 보안을 제공해야 합니다
• 각 계정에는 아래의 내용들이 포함됩니다
৹ 고유 Username
- Username은 30바이트를 초과하거나 특수문자를 포함할 수 없으며 문자로 시작되어야 합니다
৹ 인증방식
- 가장 일반적인 인증 방식은 암호이지만, Password, Global, External 인증 방식을 지원합니다
৹ 기본 테이블 스페이스 :
- 유저가 다른 테이블 스페이스를 지정하지 않은 경우 객체를 생성하는 장소입니다.
- 기본 테이블 스페이스가 있다고 해서 유저가 객체를 생성할 수 있는 권한이나 객체를 생성할 공간의 할당량이 있는
것이 아니라 모두 별도로 부여되는 것입니다.
৹ 임시 테이블스페이스
- Instance가 정렬 및 임시 테이블 등의 임시 객체를 유저 대신 생성하는 위치입니다
- 임시 테이블 스페이스는 할당량이 적용되지 않습니다
৹ 유저 프로파일
- 유저에게 할당되는 리소스 및 암호 제한 집합입니다
৹ 초기 Consumer Group
- 리소스 관리자가 사용합니다
৹ 계정 상태
- 유저는 open 상태의 계정만 액세스 할 수 있습니다
• 스키마는 데이터베이스 유저가 소유하는 데이터베이스 객체의 모음으로 데이터베이스의 데이터를 직접 참조하는 논리적
구조입니다.
• 스키마 객체에는 테이블, 뷰, 시퀀스, 내장 프로시저, 동의어, 인덱스, 클러스터 및 데이터베이스 링크가 있습니다
2. 미리 정의된 계정
• SYS 및 SYSTEM 계정에는 기본적으로 데이터베이스 관리자 롤이 부여됩니다
• SYS 계정은 ADMIN OPTION에 대한 모든 권한을 포함하며 데이터 딕셔너리를 소유합니다
• SYSDBA, SYSOPER 또는 SYSASM 권한이 부여된 유저만 Instance를 시작 및 종료할 수 있습니다
• SYSTEM 계정에는 SYSDBA 권한이 없고, AQ_ADMINISTRATOR_ROLE 및 MGMT_USER롤이 부여됩니다
• SYS 및 SYSTEM계정은 데이터베이스에서 필수 계정이며 삭제할 수 없습니다
• DBSNMP 계정은 Enterprise Manager의 관리 에이전트가 데이터베이스를 관리하는 데 사용됩니다
• SYSMAN 계정은 Enterpirse Manager 관리 작업을 수행하는 데 사용됩니다
• DBSNMP 또는 SYSMAN 계정에는 SYSDBA 권한이 없습니다
3. 유저 인증 방법
• 유저를 생성할 때 유저에게 사용할 인증 방법을 결정해야 합니다.
• 유저에 대한 인증 방법은 나중에 변경할 수 있습니다
① Password
৹ 유저가 연결을 시도할 때 입력해야 하는 연관된 암호와 함께 각 유저를 생성합니다
৹ 암호 설정 시에는 해당 암호가 즉시 만료되도록 할 수 있으며 이렇게 하면 유저는 첫 로그인 후에 암호를 변경해야 합니다
৹ oracle 11g에서 생성한 모든 함호는 기본적으로 대소문자를 구분하며, 멀티바이트 문자를 포함할 수 있고 30바이트로
제한됩니다
② Externa
৹ 데이터베이스 외부의 방법(운영 체제, kerberos, Radius)을 사용하는 인증입니다.
৹ Kerberos 또는 Radius의 경우에는 Advanced Security Option이 필요합니다.
৹ 데이터베이스는 기본 운영 체제, 네트워크 인증 서비스 또는 외부 인증 서비스를 사용하여 데이터베이스 계정에 대한
액세스를 제한합니다.
৹ 운영 체제 또는 네트워크 서비스에서 허용하는 경우에는 데이터베이스 암호를 사용하여 유저를 인증할 수 있습니다
৹ 운영 체제 인증을 사용하려면 OS_AUTHENT_PREFIX 초기화 파라미터를 설정하고 이 접두어를 Oracle Username에
사용합니다.
৹ OS_AUTHENT_PREFIX 파라미터의 기본값은 OPS$입니다. 유저가 연결을 시도할 때 오라클 데이터베이스는 접두어가
있는 Username을 데이터베이스에 있는 Oracle Username과 비교합니다.
③ Global
৹ Oracle Advanced Security Option으로 Global 인증을 사용하면 Oracle Internet Directory를 사용하여 유저를
식별할 수 있습니다.
4. 관리자 인증 방법
① 운영 체제 보안
৹ UNIX 및 Linux에서 DBA는 기본적으로 데이터베이스 파일을 생성 및 삭제하는 데 필요한 권한을 가진 oinstall
OS 그룹에 속합니다.
② 관리자 보안
৹ 권한이 있는 SYSDBA, SYSOPER 및 SYSASM 유저에 대한 연결은 Password file 또는 OS 권한을 사용한
검증을 수행한 이후에만 인증됩니다
৹ OS 인증을 사용하는 경우 데이터베이스에서 제공되는 Username과 암호를 사용하지 않습니다
৹ OS 인증은 Password file이 없거나, 제공되는 Username 또는 암호가 해당 파일에 없거나, Username과
암호가 제공되지 않는 경우에 사용됩니다
৹ 운영 체제를 통한 인증에 성공하면 특정 유저를 기록하지 않는 CONNECT / 연결이 적용됩니다.
II. 권한관리
1. 시스템 권한
৹ 유저는 각 시스템 권한을 사용하여 특정 데이터베이스 작업이나 특정 유형의 데이터베이스 작업을 수행할 수 있습니다
৹ 시스템 권한은 관리자나 권한을 관리할 수 있는 권한을 명시적으로 받은 유저가 부여할 수 있습니다
• RESTRICTED SESSION 권한을 사용하면 데이터베이스가 제한 모드로 열려 있어도 로그인할 수 있습니다.
• SYSDBA 및 SYSOPER 권한을 사용하면 데이터베이스에서 종료, 시작, recovery 및 다른 관리 작업을
수행할 수 있습니다.
• SYSOPER는 유저가 기본적인 작업을 수행할 수 있지만 유저 데이터를 볼 수 있는 권한은 없습니다.
• SYSOPER는 다음 시스템 권한을 포함합니다.
- STARTUP 및 SHUTDOWN
- CREATE SPFILE
- ALTER DATABASE OPEN/MOUNT/BACKUP
- ALTER DATABASE ARCHIVELOG
- ALTER DATABASE RECOVER (Complete Recovery의 경우만 해당됩니다)
- RESTRICTED SESSION SYSDBA 시스템 권한에는 Incomplete Recovery 및 데이터베이스 삭제 권한이
추가로 부여됩니다.
• SYSDBA 시스템 권한을 통해 유저는 SYS 유저로 연결할 수 있습니다.
৹ SYSASM
- 이 권한을 사용하면 ASM Instance를 시작, 종료 및 관리할 수 있습니다.
৹ DROP ANY object
- DROP ANY 권한을 사용하면 다른 스키마 유저가 소유한 객체를 삭제할 수 있습니다.
৹ CREATE, MANAGE, DROP 및 ALTER TABLESPACE
- 이러한 권한을 사용하면 테이블스페이스 속성 생성, 삭제 및 변경과 같은 테이블스페이스 관리를 수행할 수
있습니다.
৹ CREATE LIBRARY
- 오라클 데이터베이스에서는 개발자가 PL/SQL 내에서 C 라이브러리와 같은 외부 코드를 생성 및 호출할 수
있습니다.
- 라이브러리의 이름은 데이터베이스의 LIBRARY 객체가 지정해야 합니다.
- CREATE LIBRARY 권한을 사용하면 유저가 PL/SQL에서 실행할 수 있는 임의 코드 라이브러리를 생성할 수
있습니다.
৹ CREATE ANY DIRECTORY
- 보안을 위해서 코드가 있는 운영 체제 디렉터리는 가상 오라클 디렉터리 객체에 연결되어야 합니다.
- CREATE ANY DIRECTORY 권한을 사용하면 비보안 코드 객체를 호출할 수 있습니다.
- CREATE ANY DIRECTORY 권한을 사용하면 Oracle 소프트웨어 소유자가 액세스 할 수 있는 임의의 디렉터리에
유저가 읽기 및 쓰기 권한이 있는 디렉터리 객체를 생성할 수 있습니다.
- 유저가 데이터 파일, 리두 로그 및 감사(audit) 로그와 같은 데이터베이스 파일에 대해 직접 읽기/쓰기를 시도할 수
있습니다.
৹ GRANT ANY OBJECT PRIVILEGE
- 이 권한은 자신이 소유하지 않은 객체에 대해 객체 사용 권한을 부여할 수 있습니다.
৹ ALTER DATABASE 및 ALTER SYSTEM
- 매우 강력한 권한으로, 데이터 파일 이름 변경 또는 버퍼캐시 비우기와 같은 데이터베이스 및 Oracle Instance 수정
작업을 수행할 수 있습니다
2. 객체 권한
৹ 유저는 객체 권한을 사용하여 테이블, 뷰, 시퀀스, 프로시저, 함수 또는 패키지 등의 특정 객체에 대해 특정 작업을 수행할 수
있습니다.
৹ 권한이 없는 유저는 자신이 소유한 객체에만 액세스 할 수 있습니다
৹ 객체 권한은 객체의 소유자, 관리자, 또는 객체에 대해 권한을 부여할 수 있는 권한을 명시적으로 받은 유저가 부여할 수
있습니다.
3. ADMIN OPTION
৹ GRANT 명령으로 직접 부여된 시스템 권한은 REVOKE SQL 문을 사용하여 취소할 수 있습니다
৹ 시스템 권한에 대해 ADMIN OPTION을 가진 유저는 다른 데이터베이스 유저의 권한을 취소할 수 있습니다
৹ ADMIN OPTION이 부여되었는지 여부에 관계없이 시스템 권한을 취소할 때는 연쇄적으로 취소되지 않습니다
4. GRANT OPTION
৹ DML 작업과 관련된 시스템 권한을 취소라 때연쇄적인 결과를 관찰할 수 있습니다
৹ 객체 권한 취소는 GRANT OPTION 이 제공되는 경우에도 연쇄적인 결과를 나타 냅니다
৹ 유저는 자신이 부여한 권한만 취소할 수 있습니다.
5. 롤 이용 시 이점
৹ 권한 관리 용이성
- 롤을 사용하여 권한 관리를 단순화합니다.
- 여러 유저에게 일련의 동일한 권한을 부여하는 대신 권한을 롤에 부여한 다음 이 롤을 각 유저에게 부여할 수 있습니다.
৹ 동적 권한 관리
- 롤과 연관된 권한을 수정하면 그 롤을 부여받은 모든 유저는 자동으로 즉시 수정된 권한을 얻게 됩니다.
৹ 권한의 선택적 가용성
- 롤을 활성화 및 비활성화하여 권한을 일시적으로 설정 및 해제할 수 있습니다. 그러면 특정 상황에서 유저의 권한을
제어할 수 있습니다.
6. 롤에 권한 할당 및 유저에게 롤 할당
৹ 각 유저에 대해 개별적으로 필요한 권한을 부여하려면 시간이 많이 걸리고 오류가 발생하기 쉽습니다
৹ Oracle은 롤을 통해 권한 관리를 쉽게 제어할 수 있습니다
৹ 롤은 유저나 다른 롤에 부여된 관련 권한의 명명된 그룹이며 데이터베이스의 권한 관리를 용이하게 하여 보안을 향상하도록
고안되었습니다
৹ 롤의 특성
- 유저와 마찬가지로 롤에도 권한을 부여하고 취소할 수 있습니다
- 시스템 권한과 마찬가지로 롤을 유저나 다른 롤에 부여하거나 취소할 수 있습니다
- 시스템 및 객체 권한으로 구성될 수 있습니다
- 롤을 부여받은 각 유저에 대해 활성화 및 비활성화할 수 있습니다.
- 롤을 활성화하려면 암호가 필요할 수 있습니다
- 롤은 유저가 소유하지 않으면 스키마에 존재하지 않습니다.
7. 미리 정의된 롤
৹ 데이터베이스 생성 스크립트를 실행할 때 오라클 데이터베이스에 대해 여러 가지 롤이 자동으로 정의됩니다
৹ 보안상의 이유로 oracle 10.2.0 이후 버전부터는 CONNECT 롤에 CREATE SESSION 권한만 포함됩니다.
৹ 특수 기능 관리 권한을 부여하는 기타 롤은 해당 기능 설치 시 생성됩니다.
8. 보안 롤
৹ 롤은 기본적으로 활성화되어 있습니다
৹ 롤을 유저에게 할당하면 유저는 롤에 부여된 권한을 행사할 수 있습니다
৹ 롤은 기본값 이외의 값으로 설정하고 필요에 따라 활성화할 수 있습니다
৹ 롤은 인증을 통해 보호할 수 있습니다
৹ 추가 인증이 필요한 롤 생성
- 롤에 대한 기본 인증은 None이지만 이를 설정하기 전에 추가 인증이 필요하도록 설정할 수 있습니다
৹ PL/SQL 프로시저를 성공적으로 실행해야만 활성화될 수 있는 보안 응용 프로그램 툴 생성
- PL/SQL 프로시저에서는 유저의 네트워크 주소, 유저가 실행하고 있는 프로그램, 시간 또는 사용 권한 그룹의 보안을
제대로 유지하는데 필요한 기타 요소를 검사할 수 있습니다
৹ Oracle Database Vault 옵션을 사용하여 손쉽게 롤 관리
- 보안 응용 프로그램 롤이 간소화되며 기존의 롤을 보다 세부적으로 제한할 수 있습니다.
'ORACLE > 관리' 카테고리의 다른 글
데이터베이스 유지 관리 (0) | 2023.10.04 |
---|---|
오라클 데이터베이스 감사(audit) (0) | 2023.10.02 |
언두 데이터 관리 (1) | 2023.10.02 |
데이터 동시성 관리 (0) | 2023.09.22 |
데이터베이스 저장 영역 구조 관리 (0) | 2023.09.19 |