감사 로그 조회
검색 조건과 일치하는 감사 로그 목록을 조회합니다.
필요 권한
마스터 계정으로 이용할 수 있습니다.
HTTP 요청
GET /api/sonar/audit-logs
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
"https://HOSTNAME/api/sonar/audit-logs?keywords=login&from=2024-06-18%2000:00:00+0900&to=2024-06-18%2023:59:59+0900&limit=50"
요청 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| offset | X | 64비트 정수 | 건너뛸 갯수 | 기본값: 0 |
| limit | X | 64비트 정수 | 최대 갯수 | |
| keywords | X | 문자열 목록 | 검색 키워드 (감사 로그 내용 전반에서 일치 여부를 검색) | 여러 키워드 지정 가능 |
| categories | X | 문자열 목록 | 분류 필터 | |
| actions | X | 문자열 목록 | 동작 필터 | |
| company_guids | X | 문자열 목록 | 회사 GUID 필터 | |
| from | X | 날짜 | 조회 시작 시각 | 형식: yyyy-MM-dd HH:mm:ssZ |
| to | X | 날짜 | 조회 종료 시각 | 형식: yyyy-MM-dd HH:mm:ssZ |
| locale | X | 문자열 | 분류, 동작 라벨을 표시할 로케일 | 예: ko, en |
정상 응답
{
"audit_logs": [
{
"id": 1024,
"user_guid": "a1b2c3d4-1111-2222-3333-444455556666",
"user_name": "admin",
"remote_ip": "192.0.2.50",
"module": "auth",
"method": "login",
"params": null,
"msg_params": null,
"error": null,
"created_at": 1718668800000,
"user": "admin",
"time": 1718668800000,
"result": "성공",
"category": "인증",
"action": "로그인",
"msg": "admin 계정이 로그인했습니다."
}
],
"total": 1,
"categories": ["인증", "설정"],
"actions": ["로그인", "로그아웃"]
}
- audit_logs (배열): 검색 조건과 일치하는 감사 로그 항목 목록. 각 항목은 로케일에 맞게 지역화된 분류, 동작, 메시지 등의 필드를 포함합니다.
- id (32비트 정수): 감사 로그 식별자
- user_guid (문자열, 선택적): 사용자 GUID
- user_name (문자열): 사용자 이름
- remote_ip (문자열): 요청 출발지 IP 주소
- module (문자열): 모듈 이름
- method (문자열): 메소드 이름
- params (맵, 선택적): 요청 매개변수
- msg_params (맵, 선택적): 메시지 매개변수
- error (문자열, 선택적): 오류 내용
- created_at (날짜): 생성 시각 (에포크 밀리초)
- user (문자열): 사용자 이름
- time (날짜): 생성 시각 (에포크 밀리초)
- result (문자열): 처리 결과 (지역화된 문자열)
- category (문자열, 선택적): 분류 (지역화된 문자열). 동작 정의가 있는 경우에만 포함됩니다
- action (문자열, 선택적): 동작 (지역화된 문자열). 동작 정의가 있는 경우에만 포함됩니다
- msg (문자열, 선택적): 지역화된 로그 메시지. 동작 정의가 있는 경우에만 포함됩니다
- total (64비트 정수): 검색 조건과 일치하는 전체 건수
- categories (배열): 필터 구성에 사용할 수 있는 분류 라벨 목록 (지역화된 문자열)
- actions (배열): 필터 구성에 사용할 수 있는 동작 라벨 목록 (지역화된 문자열)
오류 응답
from, to 값의 날짜 형식이 잘못된 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "invalid date format"
}
offset, limit 값이 정수가 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-argument",
"error_msg": "'offset' parameter should be long type"
}
권한이 없는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "no-permission"
}