高级搜寻 API

适用于:

警告

此高级搜寻 API 是功能有限的旧版本。 Microsoft Graph 安全 API 中已经提供了一个更全面的高级搜寻 API 版本,可以查询更多表。 请参阅 使用 Microsoft Graph 安全 API 的高级搜寻

希望体验 Microsoft Defender for Endpoint? 注册免费试用版

注意

如果你是美国政府客户,请使用 适用于美国政府客户的 Microsoft Defender for Endpoint 中列出的 URI。

提示

为了提高性能,可以使用离地理位置更近的服务器:

  • us.api.security.microsoft.com
  • eu.api.security.microsoft.com
  • uk.api.security.microsoft.com
  • au.api.security.microsoft.com
  • swa.api.security.microsoft.com
  • ina.api.security.microsoft.com

限制

  1. 只能对过去 30 天的数据运行查询。

  2. 结果最多包含 100,000 行。

  3. 每个租户的执行次数受到限制:

    • API 调用:每分钟最多 45 个调用,每小时最多 1,500 个调用。
    • 执行时间:每小时运行 10 分钟,每天运行 3 小时。
  4. 单个请求的最大执行时间为 200 秒。

  5. 429 响应表示按请求数或 CPU 达到配额限制。 阅读响应正文以了解达到的限制。

  6. 单个请求的最大查询结果大小不能超过 124 MB。 如果超出,则 HTTP 400 错误请求,并显示消息“查询执行已超出允许的结果大小。 通过限制结果数来优化查询,然后重试。

权限

要调用此 API,需要以下权限之一。 若要了解详细信息(包括如何选择权限),请参阅 使用 Microsoft Defender for Endpoint API

权限类型 权限 权限显示名称
应用程序 AdvancedQuery.Read.All Run advanced queries
委派(工作或学校帐户) AdvancedQuery.Read Run advanced queries

注意

使用用户凭据获取令牌时:

  • 用户需要在 View Data Entra ID Microsoft分配角色
  • 用户需要基于设备组设置 (请参阅 创建和管理设备组 ,了解详细信息)

Defender for Endpoint 计划 1 和计划 2 支持创建设备组。

HTTP 请求

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

请求标头

标头
Authorization 持有者 {token}。 必需。
Content-Type application/json

请求正文

在请求正文中,提供具有以下参数的 JSON 对象:

参数 类型 说明
查询 Text 要运行的查询。 必需。

响应

如果成功,此方法在响应正文中返回 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"
        }
    ]
}

提示

想要了解更多信息? 在技术社区中与 Microsoft 安全社区互动: Microsoft Defender for Endpoint 技术社区