본 장에서는 Tibero의 관리자 권한 분할을 위한 특수 기능인 Separation of Duties에 대해서 설명한다.
Tibero DBMS는 SYS 하나의 관리자가 데이터베이스에 대한 관리를 총체적으로 하고 있다. 이로 인해, SYS 관리자의 권한이 남용된다거나, 계정이 탈취되는 등 보안상의 문제가 발생하였을 경우 보안 체계가 무너지며 데이터 유출, 조작, 손상 등이 초래될 수 있다.
Tibero Separation of Duties(이하 SOD)는 이러한 보안상의 취약점을 보완하기 위해 기존 SYS 관리자의 권한을 3개로 나누어서 관리자의 역할을 분리한 체계이다. 관리자를 나누어 각 관리자의 관리 업무에 필요한 권한만 할당 되었으며, 분리된 관리자 단독으로 보안 체계를 붕괴할 수 없는 시스템이다.
SOD 시스템을 설치할 때 다음의 3개의 관리자가 생성된다.
데이터베이스 내 테이블 스페이스, 데이터 파일, 스키마 오브젝트 등에 대한 관리를 담당한다.
데이터베이스 내 보안을 관리하며 권한 관리를 담당한다.
데이터베이스 내의 이력을 관리하며 감사를 담당한다.
데이터베이스의 일상 관리 및 사용을 담당하는 관리자이다. 일반적으로 DBA가 하는 역할을 담당하는 관리자이다. 보안, 감사를 제외한 데이터베이스의 유지보수, 정책 및 절차 확립, 백업 및 복구를 담당하며, 담당하는 부분에 대한 설명은 “2.1.1. DBA”를 참고한다.
일반적인 사용자 권한 부여에 대한 권한은 없지만, 기본 권한인 connect(접속 권한), resource(사용자 자원 사용 권한)에 대한 부여는 가능하다. 감사 관련 뷰를 제외한 모든 static view에 조회 가능하다.
데이터베이스 내 사용자의 접근 관리 및 권한에 대한 관리를 담당하는 관리자이다. SOD에서는 사용자가 특정 행동을 할 수 있는지에 대한 관리를 보안의 기준으로 삼고 있으며, 특권 및 역할에 대한 권한 관리를 통해서 보안을 관리하게 된다. 특권과 역할에 대한 설명은 “5.2. 특권”과 “5.4. 역할”을 참고한다. SOD에서는 권한관리를 오직 보안 관리자만이 할 수 있다.
기존 DBA 역할이 가지는 권한이 보안상의 문제로 축소가 되었으며, 아래의 권한이 철회되었다.
철회된 특권 항목
CREATE ROLE
DROP/GRANT/ALTER ANY ROLE
GRANT ANY PRIVILEGE
GRANT ANY OBJECT PRIVILEGE
AUDIT SYSTEM/ANY
보안 관련된 아래의 정적 뷰들을 조회하여 관리할 수 있다.
데이터베이스의 감사를 담당하는 관리자이다. SOD에서는 감사 관리자와 일반적으로 DBA가 하는 역할을 담당하는 관리자이다. 해당 관리자가 하는 담당하는 부분에 대해서는 “5.6. 감사”를 참고한다.
SOD의 경우 감사 관리자를 제외한 다른 사용자 관리자들은 감사 기능을 사용할 수 없게 된다. 또한, 감사 관리자만이 감사 관련 뷰(DBA_AUDIT_TRAIL)에 대한 조회가 가능하다.
다음은 SOD의 설치 방법에 대한 설명이다.
SOD 기능을 사용하려면 우선 TIP 파일에 'SEPARATION_OF_DUTIES=Y'를 추가 설정해주어야 한다. 해당 파라미터는 SOD를 사용할 경우에 설치 전에 반드시 추가해 주어야 한다. 해당 파라미터는 동적으로 바꿀 수 없으며, 변경할 때에는 데이터베이스를 내린 후 다시 올려야 한다. 패치와 같이 부득이한 상황이 아닌 이상 해당 파라미터를 변경하지 않는 것을 권장한다.
TIP 설정 후 데이터베이스를 mount할 때 옵션 -sod Y를 추가한다. 수동 설치하는 경우에는 데이터베이스를 생성한 이후 system.sh을 수행할 때 옵션 -sod Y를 추가한다.
각 관리자별 권한에 따라 ID와 비밀번호를 설정한다.
SYS 관리자는 아래의 관리자로 분리되었으며, 각 관리자의 ID와 초기 비밀번호는 다음과 같다.
관리자명 | 관리자 아이디 | 기본 암호 |
---|---|---|
시스템 관리자 | SYSADM | SYSADM |
보안 관리자 | SYSSEC | SYSSEC |
감사 관리자 | SYSAUD | SYSAUD |
해당 암호는 추후 제품 설치 후에 각 관리자가 변경하는 것을 권장한다.
다음은 SOD를 사용하는데 주의사항이다.
SOD는 Tibero에서 별도로 제공하고 있는 기능이고, 특성 상 제품 설치할 때에만 기능을 활성화 할 수 있다. 즉, 이미 설치되어 있는 데이터베이스에 해당 기능을 사용할 수 없다. 이는 제품을 설치할 때에 3분류의 관리자로 설정해야 하는 특성 때문이다. 해당 기능을 효율적으로 사용하기 위해서는 각각의 관리자를 세 명이서 나누어야 한다.
기존 데이터베이스는 DBA 권한이 존재하여 해당 권한을 부여받은 사용자는 SYS 사용자와 거의 비슷한 수준의 권한을 가질 수 있게 된다. 이러한 부분이 보안에 문제가 될 수 있다. SOD에서는 DBA 권한이 존재하지 않으며, 관리자의 권한을 다른 일반 사용자에게 부여할 수 없다.
해당 기능을 사용하면 기존의 SYS는 사용 불가능하게 된다(계정이 잠겨있으며, 잠금을 풀 수 없도록 설정되어 있음). SYS 관련 정보는 static view에서도 보여지지 않는다.