在 Server & Workload Security保護 上搜尋政策以檢索相關資訊。例如,您可以搜尋已關閉建議模式的政策,或按名稱搜尋特定政策並查看保護模組的配置狀態。在此範例中,您將使用 搜尋政策 操作按名稱搜尋政策。
在您開始之前
您應該已經驗證過您的環境是否已經設置為使用 Bash 或 PowerShell 來使用 API。
收集您需要完成此食譜的以下資訊:
-
Server & Workload Security保護 上的政策名稱或部分名稱
-
您管理員的 URL
-
您 API 金鑰的密鑰
Bash
步驟
- 打開終端機或您偏好的命令行工具。
- 輸入以下命令來儲存有關您請求的詳細資訊,將
<YOUR URL>
替換為 Server & Workload Security保護 的 URL,並將<YOUR SECRET KEY>
替換為您 API 金鑰的密鑰:-
url=<您的 URL>
例如,url=https://cloudone.trendmicro.com
-
secret=<您的秘密金鑰>
例如,secret=5C58EADA-04BC-4ABC-45CF-B72925A0B674:aFBgpPV8eJQGaY2Dk0LmyQMD7nUGvyIDfIbIQo8Zgm8=
-
- 輸入以下命令來儲存您的搜尋字串,將
<您的策略名稱>
替換為要搜尋的策略名稱的全部或部分:keyword="%<您的策略名稱>%"
例如,keyword="%Base Policy%"
- 輸入以下命令來指定您要儲存回應資料的 JSON 檔案,將
<FILE PATH>
替換為要建立的檔案。請指定副檔名為 .json 的檔案名稱:file=<檔案路徑>
例如,file=~/Documents/policy_search.json
- 輸入以下命令以發送請求:
curl -X POST "$url/api/policies/search" -H "api-secret-key: $secret" -H "api-version: v1" -H "Content-Type: application/json" \ -d "{ \ \"searchCriteria\": [ \ { \ \"fieldName\": \"name\", \ \"stringTest\": \"equal\", \ \"stringValue\": \"$keyword\", \ \"stringWildcards\": true \ } \ ] \ }" \ -k > $file
-k
選項僅在 Server & Workload Security保護 使用自簽憑證建立 TLS 連線時才需要,這不適合在生產環境中使用。秘訣
- 在網頁瀏覽器中打開 JSON 文件。(網頁瀏覽器應該會格式化 JSON 以便於閱讀。)您應該會看到表示一個或多個策略的 JSON 代碼,類似於以下示例:
{ name: "Base Policy", description: "A policy from which all other policies can inherit. ", policySettings: {...}, recommendationScanMode: "ongoing", autoRequiresUpdate: "on", ID: 1, antiMalware: {...}, webReputation: {...}, sensingMode: {...}, firewall: {...}, intrusionPrevention: {...}, integrityMonitoring: {...}, logInspection: {...}, applicationControl: {...} }
秘訣
為了保持範例簡潔,由多個屬性(即對象)組成的值表示為。您將在搜尋結果中看到所有資訊。
- (可選)嘗試更改關鍵字變數的值,看看它如何影響搜索結果。例如,輸入
keyword=%linux%
並重新運行curl
命令。
接下來需執行的動作
PowerShell
步驟
- 開啟 PowerShell。
- 輸入以下命令以使用 TLS 1.2,管理員需要它來建立安全連接:
[Net.ServicePointManager]::SecurityProtocol += [Net.SecurityProtocolType]::Tls12
- 輸入以下命令來儲存有關您請求的詳細資訊,將
<YOUR URL>
替換為 Server & Workload Security保護 的 URL,並將<YOUR SECRET KEY>
替換為您 API 金鑰的密鑰:-
$url = "<您的 URL>"
例如,url=https://cloudone.trendmicro.com
-
$secret = "<您的 API 金鑰密鑰>"
例如,$secret="5C58EADA-04BC-4ABC-45CF-B72725A0B674:aFBgpPV8eJQGaY2Dk0LmyQMD7nUGvyIDfIbIQo8Zgm8="
-
$headers = @{‘api-version’ = “v1”; ‘api-secret-key’ = $secret; 'Content-Type' = "application/json"}
-
- 輸入以下命令來儲存您的搜尋字串,將
<您的策略名稱>
替換為要搜尋的策略名稱的全部或部分:$keyword="%<您的策略名稱>%"
例如,$keyword="%Base Policy%"
- 輸入以下命令來指定您要儲存回應資料的 JSON 檔案,將
<FILE PATH>
替換為要建立的檔案。請指定副檔名為 .json 的檔案名稱:$file="<檔案路徑>"
例如,$file="$HOME\Documents\policy_search.json"
- 輸入以下命令以發送請求:
Invoke-RestMethod -Method 'Post' -Uri "$url/api/policies/search" -Headers $headers -Body @" {"searchCriteria": [ { "fieldName": "name", "stringTest": "equal", "stringValue": "$keyword", "stringWildcards": true } ]} "@ -OutFile $file
如果您收到錯誤訊息基礎連接已關閉:發送時發生意外錯誤
,請關閉 PowerShell,重新打開 PowerShell,並嘗試重複步驟。 - 在網頁瀏覽器中打開 JSON 文件。(網頁瀏覽器應該會格式化 JSON 以便於閱讀。)您應該會看到表示一個或多個策略的 JSON 代碼,類似於以下示例:
{ name: "Base Policy", description: "A policy from which all other policies can inherit. ", policySettings: {...}, recommendationScanMode: "ongoing", autoRequiresUpdate: "on", ID: 1, antiMalware: {...}, webReputation: {...}, sensingMode: {...}, firewall: {...}, intrusionPrevention: {...}, integrityMonitoring: {...}, logInspection: {...}, applicationControl: {...} }
秘訣
為了保持範例簡潔,由多個屬性(即對象)組成的值表示為。您將在搜尋結果中看到所有資訊。
- (可選)嘗試更改關鍵字變數的值,看看它如何影響搜索結果。例如,輸入
keyword=%linux%
並重新運行Invoke-RestMethod
命令
接下來需執行的動作
筆記
-
如果您在文字編輯器中打開 JSON 文件,代碼會顯示在單行上,這樣很難閱讀。網頁瀏覽器通常會格式化 JSON 以便於閱讀。如果您的瀏覽器沒有自動格式化 JSON,請考慮安裝一個瀏覽器插件來實現。
-
API 參考中 搜尋政策 操作的 200 回應範例提供了政策欄位的描述,這些描述指出了哪些欄位是可搜尋的。