コンピュータのリストを取得する(BashおよびPowerShell)

Workload Security が保護する(または検出した)コンピュータのリストを取得し、返されたデータにフォーカスを合わせて各コンピュータのセキュリティステータスを含めます。 [コンピュータのリスト] 操作を使用して、コンピュータのリストを取得します。オプションの expand クエリパラメータを使用すると、ステータス情報に集中できます。

コンピュータを一覧表示すると、初期設定ですべての使用可能なコンピュータ情報が返されます。 expand クエリパラメータを使用すると、対象の情報のみが返されます。少なくとも、各コンピュータの基本情報(コンピュータID、ポリシーID、プラットフォームなど)が返されます。

expand クエリ文字列を含めると、すべてのコンピュータ情報が返されます。

返される情報のカテゴリ サポートされる値 expand
最小情報 none
すべての情報 all (初期設定)
現在のステータス computerStatussecurityUpdatestasks
設定 computerSettings、 interfaces
セキュリティモジュールの設定 allSecurityModules (すべてのモジュール), antiMalware, applicationControl, firewall, integrityMonitoring, intrusionPrevention, logInspection, SAPwebReputation
仮想マシン情報 allVirtualMachineSummaries (すべての種類の仮想マシン), azureARMVirtualMachineSummary, azureVMVirtualMachineSummary, ec2VirtualMachineSummaryESXSummary, noConnectorVirtualMachineSummaryvcloudVMVirtualMachineSummary, vmwareVMVirtualMachineSummary, workspaceVirtualMachineSummary

開始前の準備

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

このレシピを完了するために必要な次の情報を収集します。

  • Workload SecurityのURL
  • APIキーの秘密鍵

バッシュ

  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=

    • expand=computerStatus

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

    file=<FILE PATH>

    たとえば、 file=~/Documents/computers_status.json はファイルをホームディレクトリの下に保存します。

  4. 要求を送信するには、次のコマンドを入力します。

    curl -X GET "$url/api/computers?expand=$expand" -H "api-secret-key: $secret" -H "api-version: v1" > $file

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

  5. WebブラウザでJSONファイルを開きます。(Webブラウザは、JSONを読み取り可能にするようにフォーマットする必要があります。)一連のコンピュータを表すJSONコードが表示されます。各コンピュータは、次の例のようなコードで表されます。

    {
        "hostName": "gui2-336",
        "displayName": "",
        "description": "",
        "lastIPUsed": "127.0.1.1",
        "platform": "Unknown",
        "groupID": 0,
        "policyID": 1,
        "relayListID": 0,
        "lastSendPolicyRequest": 1566335191390,
        "agentVersion": "0.0.0.0",
        "computerStatus": {
            "agentStatus": "inactive",
            "agentStatusMessages": [
                "Unmanaged (Unknown)"
            ]
        },
        "ID": 201
    }

    computerStatus キーにはステータス情報が含まれます。この例では、コンピュータは保護されていません。

  6. (オプション) expand 変数の値を変更して、返されたJSON変数にどのように影響するかを確認してください。たとえば、「 expand=computerProperties 」と入力して、 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}

    • $expand="computerStatus"

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

    $file="<FILE PATH>"

    たとえば、, $file="$HOME\Documents\computers_status.json" はそのファイルをホームディレクトリの下に保存します。

  5. 要求を送信するには、次のコマンドを入力します。

    Invoke-RestMethod "$url/api/computers?expand=$expand" -Headers $headers -OutFile $file
  6. WebブラウザでJSONファイルを開きます。(Webブラウザは、JSONを読み取り可能にするようにフォーマットする必要があります。)一連のコンピュータを表すJSONコードが表示されます。各コンピュータは、次の例のようなコードで表されます。

    {
        "hostName": "gui2-336",
        "displayName": "",
        "description": "",
        "lastIPUsed": "127.0.1.1",
        "platform": "Unknown",
        "groupID": 0,
        "policyID": 1,
        "relayListID": 0,
        "lastSendPolicyRequest": 1566335191390,
        "agentVersion": "0.0.0.0",
        "computerStatus": {
            "agentStatus": "inactive",
            "agentStatusMessages": [
                "Unmanaged (Unknown)"
            ]
        },
        "ID": 201
    }

    computerStatus キーにはステータス情報が含まれます。この例では、コンピュータは保護されていません。

  7. (オプション) expand 変数の値を変更して、返されたJSON変数にどのように影響するかを確認してください。たとえば、「 $expand="computerProperties" 」と入力して、 Invoke-RestMethod コマンドを再度実行します。

メモ

  • テキストエディタでJSONファイルを開くと、コードは1行に表示され、読みにくいものになります。WebブラウザはJSONを読みやすくするように書式を設定する傾向があります。ブラウザでJSONが自動的にフォーマットされない場合は、ブラウザプラグインをインストールすることをお勧めします。
  • expand クエリパラメータに複数の値を含めるには、API呼び出しのURLに expand クエリ文字列を含める必要があります。例:
    ?expand=computerStatus&expand=computerProperties

関連リソース