티켓 조회
지정한 티켓의 상세 정보를 조회합니다. 여러 티켓을 한 번에 조회하려면 티켓 목록 조회 API를 사용합니다.
필요 권한
사용자 이상의 계정으로 이용할 수 있습니다. 사용자 역할은 권한이 부여된 티켓 분류에 속한 티켓만 조회할 수 있습니다.
HTTP 요청
GET /api/sonar/tickets/:guid
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
https://HOSTNAME/api/sonar/tickets/49272877-75f2-4c2f-9301-d21c4f9a106d
요청 매개변수
경로 매개변수
| 키 | 타입 | 설명 | 비고 |
|---|---|---|---|
| guid | 문자열 | 티켓 GUID | 36자 |
정상 응답
{
"ticket": {
"id": 2,
"repo_guid": "5f0ba741-7551-400d-8bd6-1f14a6e8536d",
"repo_name": "위협분석",
"guid": "49272877-75f2-4c2f-9301-d21c4f9a106d",
"title": "웹 서버 설정 수집 시도: 203.0.113.172",
"priority": "LOW",
"format": "JSON",
"rule_guid": "ad4b9871-d5f0-4a8b-a341-8ac0afcdcddf",
"rule_type": "STREAM",
"rule_name": "웹 서버 설정 수집 시도",
"count": 7,
"content": "{\"first_seen\":\"2022-09-14 17:34:19+0900\",\"last_seen\":\"2022-09-14 23:55:29+0900\",\"priority\":\"LOW\",\"src_ip\":\"203.0.113.172\"}",
"owner_guid": "bfd00bb0-be99-4fd5-8380-166f544975fa",
"owner_name": "구동언",
"status": "APPROVED",
"attack": true,
"incident": false,
"assignees": [
{
"user_guid": "bfd00bb0-be99-4fd5-8380-166f544975fa",
"user_name": "구동언",
"task_type": "ASSIGNEE",
"task_status": "CLOSED",
"x_login": null,
"x_user": null,
"x_dept": null
}
],
"approvers": [
{
"user_guid": "ffaf431b-653a-4329-8f83-913cbb00342d",
"user_name": "홍길동",
"task_type": "APPROVER",
"task_status": "APPROVED",
"x_login": null,
"x_user": null,
"x_dept": null
}
],
"tags": [],
"attachments": [
{
"guid": "d4390b7a-7d64-4a24-bd3e-af74b4f3c204",
"user_guid": "ffaf431b-653a-4329-8f83-913cbb00342d",
"ticket_guid": "49272877-75f2-4c2f-9301-d21c4f9a106d",
"file_name": "3bc31b3d-bc25-4be5-8dae-d3cb1831da02.png",
"file_size": 124118
}
],
"created": "2022-09-14 17:34:19+0900",
"updated": "2022-09-14 23:55:29+0900",
"closed": null,
"comments": [
{
"guid": "b66a31b5-db94-478b-8751-194b5ee5f358",
"user_guid": "ffaf431b-653a-4329-8f83-913cbb00342d",
"user_name": "홍길동",
"type": "TEXT",
"format": "MARKDOWN",
"content": "* 방화벽에서 IP 차단함",
"created": "2022-09-14 23:57:34+0900",
"updated": "2022-09-14 23:57:34+0900",
"x_login": null,
"x_user": null,
"x_dept": null
}
]
}
}
- ticket (맵): 티켓 상세 정보. 티켓이 존재하지 않으면 null입니다.
- id (64비트 정수): 티켓 ID
- repo_guid (문자열): 티켓 분류 GUID
- repo_name (문자열): 티켓 분류 이름
- site_guid (문자열): 사이트 GUID. 사이트가 지정된 경우에만 포함됩니다.
- site_name (문자열): 사이트 이름. 사이트가 지정된 경우에만 포함됩니다.
- guid (문자열): 티켓 GUID
- title (문자열): 제목
- priority (문자열): 중요도. 상 (
HIGH), 중 (MEDIUM), 하 (LOW) 중 하나입니다. - format (문자열): 내용 형식.
PLAIN,JSON,MARKDOWN중 하나입니다. 위협 탐지 티켓은JSON형식으로 기록됩니다. - rule_guid (문자열): 탐지 시나리오 GUID. 탐지로 생성된 티켓에만 포함됩니다.
- rule_type (문자열): 탐지 시나리오 유형.
STREAM,BATCH중 하나입니다. 탐지로 생성된 티켓에만 포함됩니다. - rule_name (문자열): 탐지 시나리오 이름. 탐지로 생성된 티켓에만 포함됩니다.
- count (32비트 정수): 중복 축약 건수
- first_seen (문자열): 최초 관측 일시. 값이 있는 경우에만 포함됩니다.
- last_seen (문자열): 최종 관측 일시. 값이 있는 경우에만 포함됩니다.
- first_event (문자열): 최초 이벤트 일시. 값이 있는 경우에만 포함됩니다.
- last_event (문자열): 최종 이벤트 일시. 값이 있는 경우에만 포함됩니다.
- content (문자열): 티켓 내용. 위협 탐지 티켓은 이벤트 필드가
JSON형식으로 기록됩니다. - owner_guid (문자열): 티켓 작성 계정 GUID. 오퍼레이터가 직접 생성한 경우에만 포함됩니다.
- owner_name (문자열): 티켓 작성 계정 이름. 오퍼레이터가 직접 생성한 경우에만 포함됩니다.
- status (문자열): 상태. 신규 (
NEW), 할당 (ASSIGNED), 처리중 (IN_PROGRESS), 결재중 (SUBMITTED), 승인 (APPROVED), 반려 (REJECTED), 완료 (CLOSED) 중 하나입니다. - attack (불리언): 분석 후 기록한 정탐 여부. 탐지가 정확한 경우
true로 기록합니다. - incident (불리언): 분석 후 기록한 사고 발생 여부. 즉각적인 대응이 필요한 경우
true로 기록합니다. - assignees (배열): 티켓 담당자 목록
- user_guid (문자열): 담당자 계정 GUID
- user_name (문자열): 담당자 이름
- task_type (문자열): 역할 유형. 담당자는
ASSIGNEE입니다. - task_status (문자열): 작업 상태. 할당 (
ASSIGNED), 처리중 (IN_PROGRESS), 완료 (CLOSED) 중 하나입니다. - x_login (문자열): 담당자 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 담당자 계정 삭제 시 기록되는 사용자 이름
- x_dept (문자열): 담당자 계정 삭제 시 기록되는 부서 이름
- approvers (배열): 티켓 결재자 목록
- user_guid (문자열): 결재자 계정 GUID
- user_name (문자열): 결재자 이름
- task_type (문자열): 역할 유형. 결재자는
APPROVER입니다. - task_status (문자열): 작업 상태. 할당 (
ASSIGNED), 승인 (APPROVED), 반려 (REJECTED) 중 하나입니다. - x_login (문자열): 결재자 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 결재자 계정 삭제 시 기록되는 사용자 이름
- x_dept (문자열): 결재자 계정 삭제 시 기록되는 부서 이름
- tags (배열): 티켓 태그 목록
- id (32비트 정수): 태그 ID
- name (문자열): 태그 이름
- color (문자열): 태그 색상
- guid (문자열): 태그 GUID
- company_name (문자열): 회사 (테넌트) 이름
- description (문자열): 태그 설명
- created (문자열): 생성 일시
- updated (문자열): 수정 일시
- attachments (배열): 첨부 파일 목록
- guid (문자열): 첨부 파일 GUID
- user_guid (문자열): 첨부한 계정 GUID
- ticket_guid (문자열): 티켓 GUID
- file_name (문자열): 파일 이름
- file_size (64비트 정수): 파일 크기(바이트)
- created (문자열): 생성 일시. yyyy-MM-dd HH:mm:ssZ 형식
- updated (문자열): 수정 일시. yyyy-MM-dd HH:mm:ssZ 형식
- closed (문자열): 완료 일시. 완료되지 않은 경우 null입니다.
- x_login (문자열): 티켓 작성 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 티켓 작성 계정 삭제 시 기록되는 사용자 이름
- x_dept (문자열): 티켓 작성 계정 삭제 시 기록되는 부서 이름
- x_site (문자열): 사이트 삭제 시 기록되는 사이트 이름
- comments (배열): 티켓 메모 목록
- guid (문자열): 메모 GUID
- user_guid (문자열): 작성자 계정 GUID
- user_name (문자열): 작성자 이름
- type (문자열): 메모 유형.
TEXT입니다. - format (문자열): 내용 형식.
PLAIN,JSON,MARKDOWN중 하나입니다. - content (문자열): 메모 내용
- created (문자열): 생성 일시. yyyy-MM-dd HH:mm:ssZ 형식
- updated (문자열): 수정 일시. yyyy-MM-dd HH:mm:ssZ 형식
- x_login (문자열): 작성자 계정 삭제 시 기록되는 로그인 계정 이름
- x_user (문자열): 작성자 계정 삭제 시 기록되는 사용자 이름
- x_dept (문자열): 작성자 계정 삭제 시 기록되는 부서 이름
오류 응답
티켓이 존재하지 않는 경우
HTTP 상태 코드 200 응답
{
"ticket": null
}
guid가 GUID 형식이 아닌 경우
HTTP 상태 코드 400 응답
{
"error_code": "invalid-param-type",
"error_msg": "guid should be guid type."
}
권한이 부여되지 않은 분류의 티켓을 조회하는 경우
HTTP 상태 코드 500 응답
{
"error_code": "illegal-state",
"error_msg": "ticket 49272877-75f2-4c2f-9301-d21c4f9a106d access is not granted for user"
}