고급 헌팅 API

적용 대상:

엔드포인트용 Microsoft Defender를 경험하고 싶으신가요? 무료 평가판을 신청하세요.

참고

미국 정부 고객인 경우 미국 정부 고객용 끝점용 Microsoft Defender에나열된 URIS를 사용하시기 바랍니다.

성능을 향상시키려면 서버를 지리적 위치에 더 가깝게 사용할 수 있습니다.

  • api-us.securitycenter.microsoft.com
  • api-eu.securitycenter.microsoft.com
  • api-uk.securitycenter.microsoft.com

참고

이 API는 엔드포인트용 Microsoft Defender 속하는 테이블만 쿼리할 수 있습니다. 다른 Microsoft 365 Defender 서비스에 속하는 테이블에는 Microsoft 365 Defender 고급 헌팅 API를 사용해야 합니다.

제한 사항

  1. 지난 30일 동안의 데이터에 대해서만 쿼리를 실행할 수 있습니다.

  2. 결과에는 최대 100,000개의 행이 포함됩니다.

  3. 테넌트당 실행 수가 제한됩니다.

    • API 호출: 분당 최대 45개의 호출, 시간당 최대 1,500개의 호출
    • 실행 시간: 1시간마다 10분의 실행 시간 및 하루 3시간의 실행 시간입니다.
  4. 단일 요청의 최대 실행 시간은 200초입니다.

  5. 429 응답은 요청 수 또는 CPU별로 할당량 한도에 도달하는 것을 나타냅니다. 응답 본문을 읽어 어떤 제한에 도달했는지 이해합니다.

  6. 단일 요청의 최대 쿼리 결과 크기는 124MB를 초과할 수 없습니다. 초과하면 HTTP 400 잘못된 요청이 "쿼리 실행이 허용된 결과 크기를 초과했습니다. 결과 수를 제한하여 쿼리를 최적화하고 다시 시도하세요."

사용 권한

이 API를 호출하려면 다음 권한 중 하나가 필요합니다. 사용 권한을 선택하는 방법을 포함하여 자세한 내용은 엔드포인트용 Microsoft Defender API 사용을 참조하세요.

사용 권한 유형 사용 권한 사용 권한 표시 이름
응용 프로그램 AdvancedQuery.Read.All '고급 쿼리 실행'
위임됨(회사 또는 학교 계정) AdvancedQuery.Read '고급 쿼리 실행'

참고

사용자 자격 증명을 사용하여 토큰을 가져오는 경우:

  • 사용자에게 '데이터 보기' AD 역할이 있어야 합니다.
  • 사용자는 디바이스 그룹 설정에 따라 디바이스에 액세스할 수 있어야 합니다(자세한 내용은 디바이스 그룹 만들기 및 관리 참조).

HTTP 요청

POST https://api.securitycenter.microsoft.com/api/advancedqueries/run

요청 헤더

헤더
권한 부여 전달자 {token}. 필수입니다.
Content-Type application/json

요청 본문

요청 본문에서 JSON 개체에 다음 매개 변수를 제공합니다.

매개 변수 유형 설명
쿼리 텍스트 실행할 쿼리입니다. 필수입니다.

응답

성공하면 이 메서드는 응답 본문에 200 OK 및 QueryResponse 개체를 반환합니다.

예제

요청 예제

다음은 요청의 예입니다.

POST https://api.securitycenter.microsoft.com/api/advancedqueries/run
{
    "Query":"DeviceProcessEvents
|where InitiatingProcessFileName =~ 'powershell.exe'
|where ProcessCommandLine contains 'appdata'
|project Timestamp, FileName, InitiatingProcessFileName, DeviceId
|limit 2"
}

응답 예제

다음은 응답의 예입니다.

참고

여기에 표시된 응답 개체는 간결하게 잘립니다. 모든 속성은 실제 호출에서 반환됩니다.

{
    "Schema": [
        {
            "Name": "Timestamp",
            "Type": "DateTime"
        },
        {
            "Name": "FileName",
            "Type": "String"
        },
        {
            "Name": "InitiatingProcessFileName",
            "Type": "String"
        },
        {
            "Name": "DeviceId",
            "Type": "String"
        }
    ],
    "Results": [
        {
            "Timestamp": "2020-02-05T01:10:26.2648757Z",
            "FileName": "csc.exe",
            "InitiatingProcessFileName": "powershell.exe",
            "DeviceId": "10cbf9182d4e95660362f65cfa67c7731f62fdb3"
        },
        {
            "Timestamp": "2020-02-05T01:10:26.5614772Z",
            "FileName": "csc.exe",
            "InitiatingProcessFileName": "powershell.exe",
            "DeviceId": "10cbf9182d4e95660362f65cfa67c7731f62fdb3"
        }
    ]
}