Workload Securityのポリシーを検索して、それらに関する情報を取得します。例えば、推奨設定モードがオフになっているポリシーを検索したり、特定の名前のポリシーを検索して保護モジュールの設定状況を確認したりできます。このレシピでは、ポリシー検索操作を使用して名前でポリシーを検索します。
開始前の準備
お使いの環境がBashまたはPowerShellを使用してAPIを利用するように設定されていることを既に確認しているはずです。
次の情報を収集します。
-
Workload Securityでのポリシーの名前または名前の一部
-
管理者のURL
-
APIキーの秘密鍵
Bash
手順
- ターミナルまたは任意のコマンドラインツールを開きます。
- 次のコマンドを入力してリクエストの詳細を保存します。
<YOUR URL>
をWorkload SecurityのURLに、<YOUR SECRET KEY>
をAPIキーのシークレットに置き換えてください。-
url=<YOUR URL>
例えば、url=https://cloudone.trendmicro.com
-
secret=<YOUR SECRET KEY>
例えば、secret=5C58EADA-04BC-4ABC-45CF-B72925A0B674:aFBgpPV8eJQGaY2Dk0LmyQMD7nUGvyIDfIbIQo8Zgm8=
-
- 次のコマンドを入力して検索文字列を保存し、
<YOUR POLICY NAME>
を検索するポリシー名の全部または一部に置き換えます:keyword="%<YOUR POLICY NAME>%"
例えば、keyword="%Baseポリシー%"
- 次のコマンドを入力して、レスポンスデータを保存するJSONファイルを指定します。
<FILE PATH>
を作成するファイルに置き換えてください。.json
拡張子のファイル名を指定します。file=<FILE PATH>
例えば、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
オプションは、Workload Securityが自己署名証明書を使用してTLS接続を確立する場合にのみ必要であり、本番環境での使用には適していません。 - WebブラウザでJSONファイルを開きます。 WebブラウザはJSONを読み取り可能にフォーマットする必要があります。次の例のように、1つ以上のポリシーの配列を表す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を使用するには、次のコマンドを入力します.TLS 1.2は、セキュリティで保護された接続を確立するためにManagerで必要となります。
[Net.ServicePointManager]::SecurityProtocol += [Net.SecurityProtocolType]::Tls12
- 次のコマンドを入力してリクエストの詳細を保存します。
<YOUR URL>
をWorkload SecurityのURLに、<YOUR SECRET KEY>
をAPIキーのシークレットに置き換えてください。-
$url = "<YOUR URL>"
例えば、url=https://cloudone.trendmicro.com
-
$secret = "<YOUR API KEY SECRET>"
例えば、$secret="5C58EADA-04BC-4ABC-45CF-B72725A0B674:aFBgpPV8eJQGaY2Dk0LmyQMD7nUGvyIDfIbIQo8Zgm8="
-
$headers = @{‘api-version’ = “v1”; ‘api-secret-key’ = $secret; 'Content-Type' = "application/json"}
-
- 次のコマンドを入力して検索文字列を保存し、
<YOUR POLICY NAME>
を検索するポリシー名の全部または一部に置き換えます。$keyword="%<YOUR POLICY NAME>%"
例えば、$keyword="%Baseポリシー%"
- 次のコマンドを入力して、レスポンスデータを保存する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を閉じて再度開き、手順を繰り返してみてください。 - WebブラウザでJSONファイルを開きます。 WebブラウザはJSONを読み取り可能にフォーマットする必要があります。次の例のように、1つ以上のポリシーの配列を表す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ファイルを開くと、コードは1行に表示され、読みにくいものになります。WebブラウザはJSONを読みやすくするように書式を設定する傾向があります。ブラウザでJSONが自動的にフォーマットされない場合は、ブラウザプラグインをインストールすることをお勧めします。
-
APIレファレンスの検索ポリシー操作における200レスポンスの例は、検索可能なフィールドを示すポリシーフィールドの説明を提供します。