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

ポリシーを検索する(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 操作の例では、ポリシーフィールドの説明があり、検索可能なフィールドが示されています。

関連リソース