目次

APIを使用して File Storage Security にスタックを追加する

推奨設定

APIを使用する前に、 File Storage Security およびGCPのWebインタフェースを使用してスタックのデプロイを実行することをお勧めします。Webインタフェースを使用すると、配信パラメータ、概念、およびプロセスをわかりやすく紹介できます。

Webインタフェースを介した展開の手順については、開始するを参照してください。

前提条件

  1. GCPでスタックを作成する
  2. APIキーを作成する
  3. リクエストを実行するたびに、ヘッダ内の認証とAPIバージョンが必要になります。

    • Authorization Header
      • Trend Micro Cloud One APIキーの場合:
        • キー: Authorization
        • 値: ApiKey <your api key value>
      • 従来のAPIキー(非推奨):
        • キー: api-secret-key
        • 値: <your api key value>
    • APIバージョンヘッダ:
      • キー: api-version
      • 値: v1

Trend Micro Cloud One APIキーの例:

GET /api/external-id HTTP/1.1
Authorization: ApiKey YOUR-API-KEY
Api-Version: v1

従来のAPIキーの例:

GET /api/filestorage/external-id HTTP/1.1
api-secret-key: YOUR-API-KEY
Api-Version: v1

YOUR-API-KEY 上記のは、以前に生成したAPIキーに置き換えられます。

APIキーが有効な場合、API呼び出しは許可されます。そうでない場合は、403コードが返されます。

APIを使用してAll-in-one Stackを配信する

  1. JSON要素 outputs.all_in_one_outputs.valueにアクセスして、 terraform.tfstate からTerraformデプロイメントの出力を取得します。all_in_one_outputsの配列内の各オブジェクトは、各Scanner Stackに関連付けられたStorage Stackを表します。

    all_in_one_outputsの例:

    
        [
            {
                "projectID":"your-gcp-project-id",
                "deploymentName":"your-aio-scanner",
                "storageStacks":[
                    {
                        "deploymentName":"your-aio-storage",
                        "projectID":"your-gcp-project-id"
                    }
                ]
            }
        ]
    

  2. Scanner およびStorage StackをFile Storage Securityに追加します。

    1. Scanner Stackを追加します。

      • 配列の各オブジェクトの projectIDdeploymentName をメモします。

      • Create Stack を呼び出し、リクエスト本文に projectIDdeploymentName の値を含めます。ここで、 projectID はスタック用にデプロイしたGCPプロジェクトのID、 deploymentName は Scanner Stackのデプロイ名です。

        
            curl --location --request POST 'https://filestorage.{region}.cloudone.trendmicro.com/api/stacks' \
                    --header 'Api-Version: v1' \
                    --header 'Authorization: ApiKey YOUR-API-KEY' \
                    --header 'Content-Type: application/json' \
                    --data-raw '{
                        "type": "scanner",
                        "provider": "gcp",
                        "details": {
                            "deploymentName": "your-aio-scanner",
                            "projectID": "your-gcp-project"
                        }
                    }'
        

      • APIレスポンスの stackID 値に注意してください。これは、 Scanner StackのIDです。

      • 前の手順でメモした Scanner Stackの stackID を使用して Describe Stack を呼び出し、 レスポンス本文 のステータスが okになるまで呼び出しを続けます。 これで、 Scanner Stackが追加されました。

    2. Storage Stackを追加します。

      • storageStacksの各オブジェクトの projectIDdeploymentName をメモします。

      • Create Stackを呼び出し、前述の Scanner スタック stackIDprojectID 、および deploymentName をリクエスト本文に含めます projectID はスタックをデプロイしたGCPプロジェクトのIDです。 deploymentName は、 Storage Stackのデプロイメント名です。 Storage Stackの作成が開始されます。

      
              curl --location --request POST 'https://filestorage.{region}.cloudone.trendmicro.com/api/stacks' \
                      --header 'Api-Version: v1' \
                      --header 'Authorization: ApiKey YOUR-API-KEY' \
                      --header 'Content-Type: application/json' \
                      --data-raw '{
                          "type": "storage",
                          "provider": "gcp",
                          "scannerStack": "your-scanner-stackID",
                          "details": {
                              "deploymentName": "your-aio-storage",
                              "projectID": "your-gcp-project-id"
                          }
                      }'
      

      • APIレスポンスの stackID 値を確認します。これは、Storage StackのIDです。

      • 前の手順でメモしたStorage StackのstackIDを使用してDescribe Stackを呼び出し、レスポンス本文のstatusokになるまで呼び出しを続けます。

スタックを個別に追加する必要があり、前述のようにStorage Stackの前にScanner Stackを追加する必要があります。 {: .note }

APIを使用してScanner Stackを配信する

  1. JSON要素 outputs.scanner_stacks_outputs.valueにアクセスして、 terraform.tfstate からTerraformデプロイメントの出力を取得します。scannerStacks の配列内の各オブジェクトは、 Scanner Stackを表します。

    scanner_stacks_outputs の例:

    
        [
            {
                "deploymentName":"your-fss-scanner",
                "projectID":"your-gcp-project-id",
                "scannerServiceAccountID":"your-fss-scanner-service-account-id",
                "scannerTopic":"your-fss-scanner-topic"
            }
        ]
    

  2. Scanner Stack を File Storage Securityに追加します。

    • scannerStacksの各オブジェクトの projectIDdeploymentName をメモします。
    • Create Stack を呼び出し、リクエスト本文に projectIDdeploymentName の値を含めます。ここで、 projectID はスタックをデプロイしたGCPプロジェクトのID、 deploymentName は Scanner Stackのデプロイ名です。

      
          curl --location --request POST 'https://filestorage.{region}.cloudone.trendmicro.com/api/stacks' \
                  --header 'Api-Version: v1' \
                  --header 'Authorization: ApiKey YOUR-API-KEY' \
                  --header 'Content-Type: application/json' \
                  --data-raw '{
                      "type": "scanner",
                      "provider": "gcp",
                      "details": {
                          "deploymentName": "your-fss-scanner",
                          "projectID": "your-gcp-project"
                      }
                  }'
      

    • APIレスポンスの stackID 値を確認します。Scanner StackのIDです。

    • 前の手順でメモした Scanner Stackの stackID を使用して Describe Stack を呼び出し、 レスポンス本文 のステータスが okになるまで呼び出しを続けます。

    これで、 Scanner Stackが追加されました。

APIを使用してStorage Stackを配信する

  1. JSON要素 outputs.storage_stacks_outputs.valueにアクセスして、 terraform.tfstate からTerraformデプロイメントの出力を取得します。storage_stacks_outputs の配列内の各オブジェクトは、 Storage Stackを表します。

storage_stacks_outputs の例:

<pre><code>
    {
        "storageStacks":[
            {
                "deploymentName":"your-fss-storage",
                "projectID":"your-gcp-project-id"
            }
        ]
    }
</code></pre>
  1. Storage Stack を File Storage Securityに追加します。

    • List Stacks を呼び出すと、 検索エンジンの スタックの stackIDを取得できます。

      • storageStacksの各オブジェクトの projectIDdeploymentName をメモします。
      • Create Stackを呼び出し、前述の Scanner スタック stackIDprojectID 、および deploymentName をリクエスト本文に含めます projectID はスタックをデプロイしたGCPプロジェクトのID、 deploymentName は、Storage Stackのデプロイメント名です。

        
            curl --location --request POST 'https://filestorage.{region}.cloudone.trendmicro.com/api/stacks' \
                    --header 'Api-Version: v1' \
                    --header 'Authorization: ApiKey YOUR-API-KEY' \
                    --header 'Content-Type: application/json' \
                    --data-raw '{
                        "type": "storage",
                        "provider": "gcp",
                        "scannerStack": "your-scanner-stackID",
                        "details": {
                            "deploymentName": "your-fss-storage",
                            "projectID": "your-gcp-project-id"
                        }
                    }'
        

    • APIレスポンスの stackID 値を確認します。これは、 Storage StackのIDです。

    • 前の手順で書き留めた Storage Stackの stackID を使用して Describe Stack を呼び出し、 レスポンス本文の status がになるまで呼び出しを okします。

    これで、 Storage Stackが追加されました。