GraphQL API
Panther GraphQL API를 사용하여 Panther 엔터티와 상호 작용하기
개요
Panther는 공개 GraphQL-over-HTTP API를 제공하므로, 일반적인 HTTP 요청을 사용해 GraphQL 쿼리를 작성하고 API를 호출할 수 있습니다. GraphQL에 대한 자세한 내용은 다음을 참조하세요. GraphQL 문서.
현재 GraphQL API를 통해 다음 엔터티와 상호작용할 수 있습니다:
추가 작업은 다음에서 사용할 수 있습니다. REST API.
GraphQL 쿼리 이해하기
클릭하여 GraphQL 쿼리 예시 펼치기
아래 예시 쿼리의 이름은 ListAlerts입니다. 이 쿼리는 각 알러트의 다음 정보를 포함한 알러트 목록을 반환합니다. id, 제목, 심각도 Run Panther AI 상태 제공된 시간 범위를 기준으로 합니다.
the
input다음 유형의 변수AlertsInput는 다음과 같은 조건을 기반으로 알러트를 필터링하는 데 사용됩니다.createdAtAfterRun Panther AIcreatedAtBefore. 이러한 조건은 쿼리의 시간 범위를 제공합니다.the
알러트필드는 다음이 포함된 객체를 반환합니다.edgesRun Panther AIpageInfo. 각 edge에는node필드가 있으며, 여기에는 다음과 같은 실제 알러트 데이터가 포함됩니다.id,제목,심각도Run Panther AI상태.the
pageInfo필드에는 다음과 같은 페이지 매김 정보가 포함됩니다.hasNextPageRun Panther AIendCursor이전 페이지가hasNextPage가 되면 사용자가 모든 알러트 페이지를 순회할 수 있게 해줍니다.false.
query ListAlerts($input: AlertsInput!) {
alerts(input: $input) {
edges {
node {
id
제목
심각도
상태
}
}
pageInfo {
hasNextPage
endCursor
}
}
}Panther GraphQL 스키마 알아보기
GraphQL 스키마를 알아보는 방법은 세 가지가 있습니다:
옵션 1(가장 빠름): 공개적으로 उपलब्ध한 GraphQL 스키마 파일 다운로드
옵션 2(가장 사용자 친화적): 사용 Panther API Playground
옵션 3(도구 및 서비스에 가장 적합): 수행 introspection 쿼리 GraphQL 엔드포인트에 대해
옵션 1: 공개적으로 उपलब्ध한 GraphQL 스키마 파일 다운로드
최신 버전의 GraphQL 스키마 파일을 다운로드할 수 있습니다. 여기.
옵션 2: GraphQL Playground 사용
Panther API Playground는 API에서 지원되는 기능을 쉽게 탐색하고 알아볼 수 있는 사용자 친화적인 방법입니다. 자세한 내용은 다음을 참조하세요. API Playground 문서 이 기능을 검색 메커니즘으로 사용하는 방법에 대한 정보는 여기에서 확인하세요.
옵션 3: introspection 쿼리 수행
introspection 쿼리는 대부분의 서드파티 라이브러리가 구문 분석할 수 있는 형식으로 GraphQL API의 모든 엔터티를 제공합니다. 이 검색 옵션은 다른 라이브러리나 서비스가 Panther API가 제공하는 지원되는 작업과 유형을 인식하도록 하고 싶을 때 유용합니다. 이러한 라이브러리는 일반적으로 자체 버전의 introspection 쿼리를 실행하므로, API URL만 지정해 주면 됩니다.
보안상의 이유로 introspection 쿼리는 권한이 필요한 작업입니다. 즉, 다음을 추가해야 합니다. X-API-Key 헤더를 HTTP 호출에 추가하고, 그 값으로 API Token 를 사용해야 introspection이 작동합니다.
introspection 쿼리의 실제 형태는 사용자 지정이 가능합니다. 제한된 엔터티 집합만 요청할 수도 있고, 스키마에 대한 가능한 모든 정보를 요청할 수도 있습니다. 예를 들어, 다음과 같은 쿼리는 스키마 정보의 모든 항목을 반환합니다:
Panther GraphQL API 사용 방법
1단계: Panther GraphQL API URL 확인
GraphQL API URL을 찾으려면:
Panther Console의 오른쪽 상단에서 기어 아이콘을 클릭한 다음 API 토큰.
페이지 상단에서 다음을 확인하세요. API URL.
GraphQL API URL 구조는 Panther 배포 모델에 따라 다릅니다:
SaaS 배포:
https://api.{YOUR_PANTHER_DOMAIN}.runpanther.net/public/graphqlCloud Connected Run Panther AI 자가 호스팅 배포:
https://{YOUR_PANTHER_DOMAIN}/v1/public/graphql

2단계: API 토큰 생성
자세한 내용은 API 토큰을 만드는 방법에 대한 다음 지침.
3단계: Panther GraphQL API 호출
다음으로 테스트하는 것 외에도 API Playground, GraphQL-over-HTTP API를 호출하는 방법은 두 가지가 있습니다:
옵션 1(권장): GraphQL 클라이언트를 설치하고 사용하여 전송 관련 복잡성을 추상화
옵션 2: HTTP 호출을 수동으로 구성
옵션 1: GraphQL 클라이언트 설치 및 사용 (권장)
모든 GraphQL 작업은 본질적으로 단순한 HTTP 호출이지만, GraphQL 클라이언트를 사용하면 더 사용자 친화적이라는 장점이 있습니다.
다음을 사용하는 것을 권장합니다:
graphql-requestNodeJS 프로젝트에gqlPython 프로젝트에go-graphql-clientGo 프로젝트에
아래는 시스템의 알러트 첫 페이지를 가져오기 위해 GraphQL 쿼리를 구성하는 방법의 예시입니다:
옵션 2: HTTP 호출 수동 구성
요청 예시:
위 쿼리는 Panther의 모든 알러트에 대한 첫 번째 페이지를 반환합니다. GraphQL을 처음 사용하는 경우 다음 사항을 참고하세요:
엔드포인트는 하나뿐입니다.
HTTP 작업은 항상
POST입니다.API 작업은
POST의 본문에 정의됩니다.다음의 본문은
POST작업 항상 다음 키를 포함합니다:query- 실행되어야 하는 GraphQL 작업을 정의하는 GraphQL 문자열variables- 쿼리에 함께 전달되는 선택적 변수 집합operationName- 이 작업에 대한 선택적 "별칭"
반환할 필드 집합은 항상 선택해야 합니다(작업이 데이터를 반환하는 경우).
참고: 한 GraphQL 작업에서 다른 GraphQL 작업으로 바뀌는 유일한 것은 HTTP POST.
마지막 업데이트
도움이 되었나요?

