共用方式為


適用於雲端的 Defender 應用程式 REST API

本文說明如何透過 HTTPS 與 Defender for Cloud Apps 互動。

Microsoft Defender for Cloud Apps API 可透過 REST API 端點,以程式設計方式存取 Defender for Cloud Apps。 應用程式可以使用 API 對 Defender for Cloud Apps 資料和物件執行讀取和更新作業。 例如,Defender for Cloud Apps API 支援下列使用者物件的常見作業:

  • 上傳用於雲端探索的記錄檔
  • 產生區塊腳本
  • 列出活動和警示
  • 關閉或解決警示

API URL 結構

若要使用 Defender for Cloud Apps API,您必須先從租使用者取得 API URL。 API URL 使用下列格式: https://<portal_url>/api/<endpoint>

若要取得租使用者的 Defender for Cloud Apps API URL,請執行下列步驟:

  1. 在 Microsoft Defender 入口網站中,選取 [設定]。 然後選擇 [雲端應用程式]。 在 [系統] 底下,選取 [ 關於]

  2. 在關於畫面的 Defender for Cloud Apps 中,您可以看到 API URL。

    檢視您的資料中心。

取得 API URL 之後,請將後綴新 /api 增至其中,以取得您的 API URL。 例如,如果您入口網站的網址是 https://mytenant.us2.contoso.com,則您的 API URL 是 https://mytenant.us2.portal.cloudappsecurity.com/api

API 令牌

Defender for Cloud Apps 在伺服器的所有 API 要求標頭中需要 API 令牌,如下所示:

Authorization: Token <your_token_key>

其中 <your_token_key> 是您的個人 API 令牌。

如需 API 令牌的詳細資訊,請 參閱管理 API 令牌

API 令牌 - 範例

curl -XGET -H "Authorization:Token <your_token_key>" "https://<tenant_id>.<tenant_region>.portal.cloudappsecurity.com/api/example-endpoint"

支援哪些動作?

下表描述支援的動作:

資源 HTTP 動詞命令 URI 路由
活動 GET 或 POST /api/v1/activities/
警示 GET 或 POST /api/v1/alerts/
數據擴充 GET、POST 或 DELETE /api/subnet/
實體 GET 或 POST /api/v1/entities/
檔案 GET 或 POST /api/v1/files/

其中 Resource 代表一組相關實體。

支援哪些欄位類型?

下表描述支援的欄位型態:

欄位 描述
字串 文字字串
布林值 代表 true/false 的布爾值
整數 32 位帶正負號的整數
時間戳 Epoch 後的毫秒數

時間 戳

在 Defender for Cloud Apps API 中提及時間戳時,請參閱以毫秒為單位的 Unix 時間戳。 此時間戳取決於自 1970-01-01 0:00:00 起的毫秒數。 您可以使用 get-date PowerShell Cmdlet 將日期轉換成時間戳。

限制

您可以在要求中提供 limit 參數,以選擇限制您的要求。

提供 limit 參数時支援下列方法:

  • 具有標頭的 URL 編碼 (Content-Type: application/x-www-form-urlencoded)
  • 表單資料
  • JSON 主體 (與 Content-Type: multipart/form-data 適當的界限標頭)

注意事項

  • 如果未提供任何限制,則會設定預設值 100。
  • 使用 API 令牌所發出之所有要求的回應限制為最多 100 個專案。
  • 所有 API 要求的節流限制是每個租使用者每分鐘 30 個要求。

篩選

當您有大量結果時,您會發現使用篩選器微調要求會很有用。 本節描述可用於篩選條件的 和運算符結構。

結構

我們的某些 API 端點在執行查詢時支持篩選。 在其相關章節中,您會找到一個參考,其中列出該資源所有可用的可篩選欄位和支援的運算符。

大部分的篩選都支援多個值,為您提供功能強大的查詢。 結合篩選條件和運算符時,我們會使用 AND 做為篩選之間的邏輯運算元。

篩選 - 範例

curl -XGET -H "Authorization:Token <your_token_key>" "https://<tenant_id>.<tenant_region>.portal.cloudappsecurity.com/api/example-endpoint" -d '{
  "filters": {
    "some.field": {
      "eq": ["value1", "value2"],
      "isset": true
    },
    "some.field2": {
      "gte": 5
    }
  },
  "skip": 5,
  "limit": 10
}'

運算子

注意事項

並非所有運算子都與所有篩選相容。

下表描述支援的運算子:

運算子 回應類型 描述
包含 字串清單 傳回包含其中一個所提供字串的所有相關記錄
deq 值清單 傳回包含一個值且不等於所提供值之一的所有記錄
descendantof 值清單 傳回所有符合其值或子系的相關記錄
doesnotstartwith 字串清單 傳回所有未以每個提供字串開頭的相關記錄
endswith 字串清單 傳回以其中一個提供的字串結尾的所有相關記錄
情 商 值清單 傳回包含其中一個所提供值的所有相關記錄
燃氣輪機 單一值 傳回其值大於所提供值的所有記錄
gte 單一值 傳回其值大於或等於所提供值的所有記錄
gte_ndays number 傳回日期晚於 N 天前的所有記錄
isnotset 布林值 當設定為 「true」 時,傳回指定欄位中沒有值的所有相關記錄
isset 布林值 當設定為 「true」 時,傳回在指定欄位中具有值的所有相關記錄
lt 單一值 傳回其值小於所提供值的所有記錄
lte 單一值 傳回其值小於或等於所提供值的所有記錄
lte_ndays number 傳回日期早於 N 天前的所有記錄
ncontains 字串清單 傳回不包含其中一個所提供字串的所有相關記錄
ndescendantof 值清單 傳回所有不相符值或其子系的相關記錄
neq 值清單 傳回未包含所有提供值的所有相關記錄
range 包含 「start」 和 「end」 欄位的物件清單 傳回其中一個所提供範圍內的所有記錄
startswith 字串清單 傳回從其中一個提供的字串開始的所有相關記錄
startswithsingle 字串 傳回以所提供字串開頭的所有相關記錄
文字 字串 執行所有記錄的全文搜索

後續步驟

如果您遇到任何問題,我們在這裡提供協助。 若要取得產品問題的協助或支援,請 開啟支援票證