원장 테이블 통제 정책 설정하기
Overview
조직 내에서 전산원장에 해당하는 데이터에 대해 수정을 시도할 경우 SQL Request Workflow를 반드시 거치도록 정책을 설정할 수 있습니다.
Ledger Approval Rules 메뉴에서 전산원장 전용 결재 규칙을 생성하고, 이어서 Ledger Table Policy에서 해당 규칙을 전산원장 테이블에 맵핑하는 절차를 따릅니다. 설정 이후, 지정된 결재 규칙을 통해 SQL Request결재 승인을 받아야만 사용자는 해당 테이블에 대해 UPDATE 구문 등 수정 행위를 할 수 있습니다.
원장 테이블 통제 라이선스 적용하기
CHEQUER 담당자 혹은 파트너사 담당자가 고객사 환경에 Ledger Management를 활성화하는 절차가 선행되어야 합니다. 라이선스 구매 요청은 CHEQUER 혹은 공식 파트너사에 문의해주시기 바랍니다.
기능 활성화 및 업그레이드가 완료되었다면, Settings -> Database Settings
의 좌측 사이드메뉴에 Ledger Management
라는 그룹 및 Ledger Table Policy
, Ledger Approval Rules
라는 메뉴아이템이 생성된 것을 확인할 수 있습니다.
해당 메뉴그룹에 접근할 수 있는 관리자는 Owner와 DB Audit Admin입니다. 관리자별 역할 지정시 참고해주시기 바랍니다.
전산원장 전용 결재 규칙 생성하기
원장 테이블에 강제화할 결재 규칙을 생성합니다.
Database Settings 메뉴에서 Ledger Management > Ledger Approval Rules 메뉴로 이동합니다.
우측 상단의 Add Approval Rule 버튼을 클릭합니다.
정책 생성을 위한 다음의 정보들을 입력합니다.
Rule Name: 결재 규칙을 화면상에서 구별할 수 있는 이름입니다.
Request Type : 결재 규칙을 추가할 요청 타입을 선택합니다. 결재 규칙은 요청 타입별로 구분됩니다.
Approval Steps : 단계별 승인이 가능하도록 승인 규칙을 설정할 수 있습니다.
*Add Step
버튼을 클릭하여 승인 단계를 추가할 수 있습니다. 최대 3단계까지 가능합니다.
* 승인자 선택 관련 세부 옵션은 아래 결재 규칙 세부 옵션 설명을 참고합니다.Execution Steps : SQL / Export Request 타입의 경우 실행자에 대한 규칙을 설정할 수 있습니다.
* 실행자 선택 관련 세부 옵션은 아래 결재 규칙 세부 옵션 설명을 참고합니다.
Urgent Mode : 해당 결재 규칙을 선택할 경우, 사후승인 기능 허용 여부를 설정합니다. (Default = Off)
Save
버튼을 통해 저장합니다.
승인자 관련 세부 옵션과 실행자 관련 세부 옵션은 결재 규칙 설정하기 와 동일합니다. 해당 문서를 참고해주시기 바랍니다.
결재 규칙을 테이블에 맵핑하기
앞서 생성한 결재 규칙을 원하는 테이블에 맵핑합니다. 데이터베이스 단위의 Policy를 생성하고, 그 내부에서 원하는 테이블에 결재 규칙을 맵핑할 Rule을 설정합니다. 이후에는 해당 테이블에서 UPDATE 등 수정 쿼리를 시도하는 사용자는 해당 결재 규칙을 통한 SQL Request가 강제됩니다.
Database Settings 메뉴에서 Ledger Management > Ledger Table Policy 메뉴로 이동합니다.
우측 상단의 Create Policy 버튼을 클릭합니다.
정책 생성을 위한 다음의 정보들을 입력합니다.
Target Connection : 정책 적용의 대상인 테이블이 포함된 커넥션을 선택합니다.
Target Databases : 정책 적용의 대상인 테이블이 포함된 데이터베이스를 선택합니다. 동시에 복수의 데이터베이스를 선택할 수 있습니다.
Save
버튼을 통해 저장합니다.
1개 데이터베이스를 단위로 하는 정책이 Ledger Table Policy 목록에 생성된 것을 확인할 수 있습니다.
원장 테이블 관리를 지원하는 벤더는 MySQL 1종으로, 커넥션 목록에는 MySQL만 노출됩니다.
이어서 1개의 Policy를 클릭해 디테일 페이지로 이동하면, 해당 데이터베이스가 보유한 모든 테이블이 나열됩니다. 여기서 원장으로 관리해야 할 테이블에 대해 Ledger Approval Rule을 맵핑해주세요. 맵핑 후 Save Changes까지 하면 정책 설정이 완료됩니다.
설정 완료시 QueryPie 이용 변경사항
원장으로 지정된 테이블에 대해 SELECT를 시도할 경우, 요청에 대한 사유를 항상 입력해야 합니다.
UPDATE 등 데이터 수정에 해당하는 DML 명령어를 시도할 경우, 에러 메시지 및 SEND SQL REQUEST 텍스트버튼이 나타납니다. 해당 버튼 클릭시 SQL Reqeust화면으로 이동합니다. 해당 버튼을 클릭하여 SQL REQUEST 화면으로 이동했을 때에 사용자는 Approval Rule를 변경할 수 없습니다.
이처럼 원장 테이블을 포함하는 기안의 경우, 아래와 같이 목록에서 “L” 아이콘과 함께 표시됩니다.
해당 기안을 통해 실행된 구문은 향후 Query Audit에서 ‘Ledger’라는 레이블을 포함하게 됩니다.