目次
このページのトピック

ポリシーの検索 (BashおよびPowerShell)

Workload Security でポリシーを検索し、それらに関する情報を取得します。たとえば、推奨モードがオフになっているポリシーを検索したり、特定のポリシーを名前で検索したり、保護モジュールの設定されたステータスを確認したりできます。このレシピでは、 検索ポリシー 操作を使用して、ポリシーを名前で検索します。

始める前に

BashまたはPowerShellを使用してAPIを使用するように環境が設定されていることを確認しておく必要があります。

次の情報を収集します。

  • Workload Securityでのポリシーの名前または名前の一部

  • 管理者のURL

  • APIキーの秘密鍵

Bash

  1. ターミナルまたは任意のコマンドラインツールを開きます。

  2. 次のコマンドを入力して、 <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=

  3. 次のコマンドを入力して検索文字列を保存し、 <YOUR POLICY NAME> を検索するポリシーの名前の一部または全部に置き換えます。

    keyword="%<YOUR POLICY NAME>%"

    例: keyword="%Base Policy%"

  4. 次のコマンドを入力して、応答データを保存するJSONファイルを指定します <FILE PATH> は作成するファイルに置き換えます。.json 拡張子を含むファイル名を指定します。

    file=<FILE PATH>

    例: file=~/Documents/policy_search.json

  5. リクエストを送信するには、次のコマンドを入力します。

    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接続を確立する場合にのみ必要です。これは本番環境では使用できません。

    返されたJSONを(ファイルに書き込むのではなく)読み取り可能な形式でターミナルに出力するには、cURLコマンドの結果をjqにパイプ処理します。上記のコマンドで、 > $file| jq .に置き換えます。

  6. 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: {...}
    }

    例を簡潔にするために、複数のプロパティ (オブジェクトなど) で構成される値は {...}と表されます。検索結果にはすべての情報が表示されます。

  7. 必要に応じて、キーワード変数の値を変更して、検索結果への影響を確認します。たとえば、 keyword=%linux% と入力して、 curl コマンドを再実行します。

PowerShell

  1. PowerShellを起動します。

  2. TLS 1.2を使用するには、次のコマンドを入力します.TLS 1.2は、セキュリティで保護された接続を確立するためにManagerで必要となります。

    [Net.ServicePointManager]::SecurityProtocol += [Net.SecurityProtocolType]::Tls12

  3. 次のコマンドを入力して、 <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"}

  4. 次のコマンドを入力して、検索文字列を保存します <YOUR POLICY NAME> は、検索するポリシーの名前の全部または一部に置き換えます。

    $keyword="%<YOUR POLICY NAME>%"

    例: $keyword="%Base Policy%"

  5. 次のコマンドを入力して、応答データを保存するJSONファイルを指定します <FILE PATH> は作成するファイルに置き換えます。 .json 拡張子を含むファイル名を指定します。

    $file="<FILE PATH>"

    例: $file="$HOME\Documents\policy_search.json"

  6. リクエストを送信するには、次のコマンドを入力します。

    Invoke-RestMethod -Method 'Post' -Uri "$url/api/policies/search" -Headers $headers -Body @"
    {"searchCriteria": [
    {
    "fieldName": "name",
    "stringTest": "equal",
    "stringValue": "$keyword",
    "stringWildcards": true
    }
    ]}
    "@ -OutFile $file

    エラーメッセージ The underlying connection was closed: An unexpected error occurred on a sendが表示されたら、PowerShellを終了して、PowerShellを再度開いて、手順を繰り返し実行してください。

  7. 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: {...}
    }

    例を簡潔にするために、複数のプロパティ (オブジェクトなど) で構成される値は {...}と表されます。検索結果にはすべての情報が表示されます。

  8. 必要に応じて、キーワード変数の値を変更して、検索結果への影響を確認します。たとえば、 keyword=%linux% と入力して、 Invoke-RestMethod コマンドを再実行します。

メモ

  • テキストエディタでJSONファイルを開くと、コードは1行に表示され、読みにくいものになります。WebブラウザはJSONを読みやすくするように書式を設定する傾向があります。ブラウザでJSONが自動的にフォーマットされない場合は、ブラウザプラグインをインストールすることをお勧めします。

  • APIリファレンスにある、200レスポンスのSearch Policies 操作の例では、ポリシーフィールドの説明があり、検索可能なフィールドが示されています。

関連リソース