티켓 조회

지정한 티켓의 상세 정보를 조회합니다. 여러 티켓을 한 번에 조회하려면 티켓 목록 조회 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문자열티켓 GUID36자

정상 응답

{
  "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"
}