감사 로그 추출 및 내려받기
Overview
QueryPie에서 생성된 각종 감사 로그를 추출하고 csv 파일로 내려받을 수 있는 기능입니다. 장기간에 걸친 로그 등 대용량 파일인 경우에도 안정적인 추출 및 다운로드가 가능합니다. 한 번 생성된 로그 추출 파일은 30일 동안 다운로드가 가능합니다. 추출 지원 로그는 Query Audit, Workflow SQL Request 등 전체 18개 종류입니다.
추출 지원 로그 종류 (QueryPie v9.19.0 기준)
Query Audit [CSV]
Workflow SQL Request [CSV]
Workflow SQL Request for Query Details [CSV]
Workflow SQL Export Request [CSV]
Workflow DB Access Request [CSV]
Workflow Server Access Request [JSON]
User Access History [CSV]
Admin Role History [CSV]
DB Access History [CSV]
DB Account Lock History [CSV]
DB Access Control Logs [CSV]
Server Access History [JSON]
Command Audit [JSON]
Session Logs [JSON]
Server Access Control Logs [JSON]
Server Role History
Activity Logs [JSON]
DML Snapshot [JSON]
로그 추출 작업 생성하기
감사 로그 추출 및 다운로드는 크게 다음과 같은 단계로 진행됩니다. (1) 관련 메뉴 진입 → (2) 로그 추출 작업 생성 → (3) 로그 추출 완료까지 대기 → (4) 추출 완료시 파일 다운로드
감사 로그 추출을 시작하기 위해서는 ‘Audit > General > Audit Log Export’ 메뉴 접근 후, 우측 상단의 Create Task
버튼을 클릭해야 합니다. 해당 버튼 클릭시 아래와 같은 화면이 나타납니다.
로그 추출 작업의 이름을 입력합니다.
추출 대상 로그의 종류를 선택합니다.
Query Audit 등 추출하기 원하는 로그 타입을 선택합니다.
로그 종류 선택 후 See Log Template and Description을 클릭하시면 각 로그의 key 등 상세 정보를 조회할 수 있습니다.
로그 출력 파일 형식을 지정합니다. (9.17.0 기준에서는 각 로그마다 다운로드 가능한 형식이 단일로 제한됩니다. 상단의 ‘추출 지원 로그 종류’을 참고해주시기 바랍니다.)
추출 시작 날짜를 지정합니다.
추출 대상 마지막 날짜를 지정합니다.
필터 표현식을 지정합니다.
조건 입력 방법 및 예시는 하단의 ‘필터 표현식’을 참고해주시기 바랍니다.
미리보기를 생성합니다.
미리보기는 필수 단계입니다.
미리보기 결과를 확인해야 다음 단계인 ‘Create’가 가능합니다.
로그 추출 작업을 생성합니다.
필터 표현식
(1) 필터 표현식을 사용하시기 위해 'See Log Template and Description'을 통해 로그별 key와 각각의 type 및 포함하는 value를 참고해주시기 바랍니다.
(2) 사용 가능한 필터 표현식은 데이터의 종류에 따라 아래와 같이 나뉩니다.
- Number Type
지원하는 표현식 : >, <, <=, >=, ==, !=
예 : x > `10`, x == `10`
- String Type
지원하는 표현식 : == (equals), != (not equals), contains
예 : x == 'abc', x != 'abc',
contains(x, 'ab')
- Boolean Type
지원하는 표현식 : == (equals), != (not equals), && (and),
|| (or)
예 : x == `true`, x && y,
(x > `0`) && (y == `0`)
- Array Type
예 : x[? @ == 'value'], list[? @ > `10`]
(3) 여러 조건을 함께 사용하기 위해 아래의 문자를 활용할 수 있습니다.
- AND 조건 : &&
연산자를 활용합니다.
- OR 조건 : ||
연산자를 활용합니다.
- 복합 조건 : 함께 처리해야하는 조건은 괄호(( )
)로 묶어서 활용합니다.
(4) 예시
- Query Audit 중 쿼리 실행 로그만 추출하려는 경우 필요한 표현식 : actionType == 'SQL_EXECUTION'
- Query Audit 중 웹에디터에 수행한 쿼리 실행 로그만 추출하려는 경우 필요한 표현식 : actionType == 'SQL_EXECUTION' && executedFrom == 'WEB_EDITOR'
- DB Access History 중 특정 데이터베이스 2종류 대해서만 추출하려는 경우 필요한 표현식 : connectionName == 'database1' || connectionName == 'database2'
- DB Access History 중 특정 데이터베이스 2종류이면서 Replication Type이 SINGLE인 경우에 대해서만 추출하려는 경우 필요한 표현식 : (connectionName == 'database1' || connectionName == 'database2') && replicationType == 'SINGLE'
Query Audit의 내보내기 파일의 Privilege Type 명시 기준
내보내기 파일의 ‘Privilege Type’ 컬럼에는 실행시점에는 어느 권한이 필요했는지가 기록됩니다. 아래와 같이 작동합니다.
기본 권한으로 실행되는 명령어(SET, SHOW 등)는 해당 컬럼의 값이 공백입니다.
INSERT 등 권한에 따라 수행된 로그에는 SQL Type이 명시됩니다.
Redis의 경우에는 커맨드명이 명시됩니다.
추출 작업 완료시 파일 내려받기
별도의 필터링 조건이 없는 단기간 조회의 경우에는 로그 추출이 몇 분 이내에 완료됩니다. 반면 장기간에 걸친 로그이거나 필터링 조건의 복잡도가 높은 경우 등에서는 로그 추출까지 여러 시간이 소요될 수 있습니다.
추출 작업이 완료된 이후에는 아래 이미지와 같이 두 가지 방법으로 로그 파일을 내려받을 수 있습니다.
다운로드 파일에 암호 포함하기
다운로드 대상 파일은 ‘*.csv 또는 *.json 파일을 압축한 *.zip 파일’입니다.
해당 압축 파일에 대한 암호를 지정하기 위해서는 ‘General Setting > Security’ 메뉴에서 Export a file with Encryption
옵션을 ‘Required’로 지정해야 합니다.
로그 추출 파일 보관기간 정책 안내
추출이 완료된 로그 파일은 작업 생성일로부터 30일간 보관되며, 해당 기간 이내에는 횟수 제한 없이 내려받기가 가능합니다. 하지만 30일을 초과하면 파일이 삭제되고, 이후로는 내려받기가 불가능합니다. 동일한 조건의 로그 추출이 다시 필요하게 될 경우, 로그 추출 작업을 재진행해야 합니다.
관련 토픽