엔티티 목록 API

엔티티 목록 API는 페이지 단위로 나뉜 엔티티 목록에 대한 액세스를 제공하며, 위험 관련 기준에 따른 필터링 및 정렬 기능을 지원합니다.

개요

엔티티 목록 API는 해당 GET /api/entity_list 엔드포인트를 통해 엔티티 데이터를 조회하고 관리할 수 있게 해주는 RESTful 엔드포인트입니다. 이 API는 페이지 분할, 필터링 및 정렬 기능을 기본적으로 지원하여 엔티티 정보에 대한 포괄적인 접근을 제공합니다.

주요 기능

엔티티 목록 API는 다음과 같은 기능을 제공합니다:

  • 효율적인 데이터 처리를 위해 엔티티를 페이지 단위로 불러오기
  • 위험 점수 기준치, 최근 위험도 및 사용자 이름을 기준으로 엔티티를 필터링합니다
  • 결과를 위험 점수 또는 이상 점수 순으로 정렬

조회 매개변수

이 API는 데이터 검색 및 필터링을 제어하기 위해 여러 가지 쿼리 매개변수를 지원합니다:

표 1. 쿼리 매개변수
매개변수 유형 기본값 설명
제한 정수 50 단일 요청에서 반환되는 엔티티의 최대 개수. 유효 범위: 1–1000. 요청당 최대 1,000개의 엔티티만 허용됩니다.
오프셋 정수 0 결과를 반환하기 전에 건너뛸 개체 수. 페이지 나누기에 사용됩니다. 0보다 작은 값은 0으로 처리됩니다.
risk_score_min 플로트(스위치일 경우) 해당사항 없음 지정된 값 이상인 위험 점수를 가진 엔티티를 반환합니다. 위험도가 높은 주체를 식별하는 데 사용됩니다. risk_score_max 와 함께 사용할 수 없습니다.
risk_score_max 플로트(스위치일 경우) 해당사항 없음 지정된 값 이하인 위험 점수를 가진 엔티티를 반환합니다. 위험도가 낮은 주체를 식별하는 데 사용됩니다. risk_score_min 과 함께 사용할 수 없습니다.
위험 점수 플로트(스위치일 경우) 해당사항 없음 risk_score_min 과 동일합니다. 지정된 값 이상인 위험 점수를 가진 엔티티를 반환합니다.
최근 위험 플로트(스위치일 경우) 해당사항 없음 가장 최근의 위험 점수( latest_risk )가 지정된 값 이상인 엔티티를 반환합니다.
username 문자열 해당사항 없음 지정된 사용자 이름과 관련된 엔티티를 반환합니다.
sortBy 문자열 해당사항 없음 반환된 엔티티를 정렬합니다. 지원되는 값: risk (위험 점수 기준 정렬) 및 anomalyScore (종합 이상 점수 기준 정렬). 이 항목이 지정되면 anomalyScore , 응답에는 각 엔티티에 대한 total_sum_risk 필드가 포함됩니다.

필터링 규칙

필터 매개변수를 사용할 때는 다음 규칙이 적용됩니다:

  • risk_score_minrisk_score_max는 상호 배타적이며, 동일한 요청에서 함께 사용할 수 없습니다.
  • 여러 필터 매개변수를 조합하여 검색 결과를 더욱 세밀하게 조정할 수 있습니다.

정렬 옵션

이 API는 두 가지 정렬 방법을 지원합니다:

표 2. 정렬 옵션
설명
risk 엔티티를 위험 점수 순으로 정렬합니다.
anomalyScore 엔티티를 집계된 이상 점수 순으로 정렬하고, 응답에 total_sum_risk를 포함하십시오.

페이지 매김

대규모 결과 집합을 탐색하려면 다음 매개변수를 사용하십시오:

  • limit – 요청당 반환되는 레코드 수
  • 오프셋 – 결과 집합의 시작 위치

응답 구조

이 API는 다음과 같은 정보를 반환합니다:

  • 엔티티 세부사항
  • 위험 관련 지표
  • 일치하는 개체의 총 개수
  • 페이지 나누기 정보 ( 한도오프셋 )

이상 점수 기준으로 정렬할 경우, 응답에 추가적인 집계 위험 지표가 포함됩니다.

응답 예시

다음 예시는 일반적인 API 응답을 보여줍니다:

{
  "risk_threshold": 50.0,
  "entities": [
    {
      "entity_id": 12345,
      "username": "john.doe",
      "risk_score": 78.5,
      "latest_risk": 82.0,
      "total_sum_risk": 156.3
    },
    {
      "entity_id": 12346,
      "username": "jane.smith",
      "risk_score": 65.2,
      "latest_risk": 68.7,
      "total_sum_risk": 121.8
    }
  ],
  "total_count": 250,
  "limit": 50,
  "offset": 0
}

응답 항목은 다음과 같습니다:

  • risk_threshold는 쿼리에 적용되는 유효한 위험 임계값을 나타냅니다.
  • 'entities'에는 일치하는 엔티티 목록이 포함되어 있습니다.
  • sortBy=anomalyScoretotal_sum_risk는 다음 조건이 충족 될 때만 포함됩니다.
  • total_count는 지정된 필터 조건에 부합하는 엔티티의 총 개수를 나타냅니다.
  • limitoffset은 현재 결과 집합에 대한 페이지 분할 정보를 제공합니다.

오류 처리

이 API는 표준 HTTP 상태 코드를 반환합니다:

  • 200 OK– 요청 성공
  • 400 Bad Request– 잘못된 요청 매개변수
  • 500 Internal Server Error– 예기치 않은 서버 오류