目次

GCP Stackを追加する

File Storage Securityを展開した後、Stackを追加することをお勧めします。

トピック:

スタックをいくつ追加する必要がありますか?

Storage Stack

バケットの保護ごとに1つの Storage Stack が必要です。

追加できるStorage Stackの数に制限はありませんが、Stackの数が増えるとコストが高くなることに注意してください。スキャンするファイルが多数あり、多くのストレージアカウントに分散している場合は、 Storage Stackを1つだけ展開し、ファイルを関連するストレージアカウントに転送してスキャンし、スキャン後に元に戻すことを検討してください。この作業の一部を自動化するサンプルGoogle Cloud機能を提供します。詳細については、 Post-Scan Action:GitHubの のプロモートまたは隔離を参照してください。

デプロイするStorage Stackの数はパフォーマンスに影響しないため、必要な数だけデプロイします。

Scanner Stack

通常、サイズに関係なく、デプロイメント全体に必要な Scanner Stack は1つだけです。これは、 Scanner Stack が負荷の増加を処理するために自動スケーリングするためです。(パフォーマンスの詳細については、 スキャンにかかる時間はどれくらいですか?を参照してください)

スタックはどこに追加できますか?

特に記載がないかぎり、GCPの任意の場所にStackを追加できます。

TerraformがGCPプロジェクトにスタックをデプロイする方法

All-in-One Stackのデプロイ

下の図は、TerraformによってGCPプロジェクトにAll-in-One Stackがデプロイされる様子を示しています。GCPプロジェクトにGCP設定デプロイを適用してから、All-in-One Stackデプロイを適用する必要があります。All-in-One Stackの各デプロイメントには、5個の Scanner Stackと20個の Storage Stackを含めることができます。スタック数が制限を超えた場合は、別のスタックデプロイメントを作成してスタック数を拡張する必要があります。

terraform aioダイアグラム

複数のGCPプロジェクトにまたがるスタックのデプロイ

次の図は、複数のGCPプロジェクトのシナリオでTerraformによってスタックがデプロイされる様子を示しています。GCPプロジェクトごとにGCP設定のデプロイを1回適用し、 Scanner Stack とStorage Stack のデプロイを個別に適用するだけです。Scanner Stack の各配置には、20 Scanner Stackを含めることができます。各 Storage Stack 配置には、20 Storage Stackを含めることができます。スタック数が制限を超えた場合は、別のスタックデプロイメントを作成してスタック数を拡張する必要があります。

テラフォームクロスダイアグラム

All-in-one Stackを追加します

Scanner Storage Stackの配置については、Scannerでの検索サービスとStorage Stackのデプロイを参照してください。

Scanner Stackを追加します

Scanner Stack は個別に配信できますが、 Scanner Stackと Storage Stack を組み合わせて配信することをお勧めします。

以下の手順に従って、 Scanner Stack を追加します。

1.File Storage Securityコンソールで、Stack Management > GCP (Terraform) の順に選択し、[Deploy] を選択します。

  1. Stackを配信するには、[ Scanner Stack ]を選択します。
    [ Deploy Scanner Stack ]ダイアログボックスが開きます。

  2. GCPアカウントにログインしていることを確認します。

    GCPアカウントは、最初に Cloud One クラウドプロバイダアカウントリストで接続する必要があります。GCPアカウントをTrend Micro Cloud Oneに接続するを参照してください。

  3. サービスアカウントを取得します。

    1. GCPプロジェクトIDを入力します。
    2. [ Get ]をクリックします。

    スタックの起動時に、この情報をTerraformデプロイメントのmanagementServiceAccountProjectIDおよびmanagementServiceAccountID変数に貼り付けます。

5.Terraformのデプロイを設定して実行します。

1. **Launch Stack** をクリックして、GCP Cloud ShellでTerraformのデプロイを起動します。

2.[**Trust Repo**] チェックボックスをクリックしてオンにします。

3. プロジェクトを設定します。
    1. [プロジェクトの設定]で、ドロップダウンリストからプロジェクトを選択します。
    2. Cloud Shellでスクリプトを実行します。
    <div class="note"> プロジェクトIDがない場合は、作成する必要があります。<br/>
    <ol>
    <li>[プロジェクトの設定]で[**新規作成**]をクリックします。</li>
    <li>プロジェクトを作成します。</li>
    <li>[プロジェクトの設定]で、ドロップダウンリストからプロジェクトを選択します。</li>
    <li>Cloud Shellでスクリプトを実行します。</li>
    </ol>
    </div>

4.配信の権限を有効にします。

    File Storage Security スタックをデプロイする前に、プロジェクトに設定を適用し、カスタムの役割を作成する必要があります。**File Storage Security スタックの配置をGCPプロジェクトで1回のみ適用する必要があります**:

    1.GCP設定のデプロイを適用します。

        必要なすべてのAPIを有効にし、必要なカスタムの役割をTerraformで作成します。

        - `gcp-configuration` フォルダ配下の `terraform.tfvars.json` に `projectID` を指定します。

        - 役割のプレフィックスが必要な場合は、 `terraform.tfvars.json` で `customRolePrefix` を指定します。

        - Cloud ShellでTerraformテンプレートを適用します。

            ```terraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration apply```

5.スタックを設定してデプロイします。

    `scanners` フォルダの `terraform.tfvars.json` で次のフィールドを指定し、Cloud ShellでTerraformテンプレートを適用します。

    JSONオブジェクト `scannerStacks`には複数のスタックが存在する可能性があります。Terraformデプロイメントごとに20個の Storage Stack という制限があります。スタック数が制限を超えた場合は、Terraformで別のワークスペースを作成して、デプロイメントを分離してください。
    {: .note}

    Terraform入力変数:

     1.**projectID**: この配置のプロジェクトを指定します。
     2.**functionAutoUpdate**: リモートコードの自動アップデートを有効または無効にします。デフォルト値は `true`です。許可値: `true` `false`。
     3.**customRolePrefix**: 必要に応じて、カスタムの役割のプレフィックスを指定します。

    Scanner Stack:

     1.<**SCANNER_STACK_NAME**>: Scanner Stackの名前を指定します。リソースプレフィックスとしての名前は、17文字未満である必要があります。キーを Scanner Stack 名に置き換えます。
     2.**region**: Scanner Stackのリージョンを指定します。サポートされるGCPリージョンのリストについては、[サポートされるGCPリージョン](https://cloudone.trendmicro.com/docs/jp/file-storage-security/supported-gcp/)を参照してください。
     3.**managementServiceAccountProjectID**: File Storage Security コンソールからサービスアカウントのプロジェクトIDをコピーして貼り付けます。
     4.**managementServiceAccountID**: File Storage Security コンソールからサービスアカウント情報をコピーして貼り付けます。

6.Cloud Shellでの初期化とデプロイ

       ```terraform -chdir=scanners init  && terraform -chdir=scanners apply```

    配置を管理するために `terraform.tfstate` と `terraform.tfvars.json` を保存してください (スタックのアップデートと削除に必要になります)。[リモート設定](https://developer.hashicorp.com/terraform/language/settings/backends/configuration) を使用して、tfstateを安全な場所に保管することをお勧めします。
    {: .tip }

6.File Storage Security コンソールで出力を設定します。

デプロイプロセスを完了するには、スタックのデプロイ後に管理役割を設定します。

1.TerraformのCloud Shell出力から、 `scanner_stacks_ouputs` の出力内容をコピーします。
2.コンテンツを File Storage Security コンソールに貼り付けます。

次のコマンドを使用して、Terraformの出力を取得できます。
```terraform output```
{: .tip }
  1. Submitにクリックします。

Storage Stackを追加します

Storage Stack を Scanner Stackに追加できます。 Scanner Stackに関連付けられていないStorage Stackを追加することはできません。

GCPプロジェクトにAll-in-One Stackをすでにデプロイしていて、 Scanner Stackと Storage Stack を同じプロジェクトに保持する場合は、ストレージのJSONオブジェクトをAll-in-Oneの terraform.tfvars.json に追加して管理するようにしてください。単一のTerraformデプロイメントでスタックを管理します。

ScannerとStorageを別々のGCPプロジェクトにデプロイするには、次のデプロイを使用します。

Storage Stackを追加します。

1.File Storage Security コンソールで、Stack Management > GCP (Terraform) に移動し、[Deploy]を選択します。

  1. 選択Scanner Stackを使用します。

  2. Add Storageを選択します。
    [ Add Storage Stack ]ダイアログボックスが開きます。

  3. GCPアカウントにログインしていることを確認します。

  4. サービスアカウントを取得します。

    1. GCPプロジェクトIDを入力します。
    2. [ Get ]をクリックします。

    スタックの起動時に、この情報をTerraformデプロイメントのmanagementServiceAccountProjectIDおよびmanagementServiceAccountID変数に貼り付けます。

6.Terraformのデプロイを設定して実行します。

1.**Launch Stack** をクリックして、GCP Cloud ShellでTerraformのデプロイを起動します。

2. [ **Trust repo** ]チェックボックスをオンにして選択します。

3. プロジェクトを設定します。
    1. [プロジェクトの設定]で、ドロップダウンリストからプロジェクトを選択します。
    2. Cloud Shellでスクリプトを実行します。
    <div class="note"> プロジェクトIDがない場合は、作成する必要があります。<br/>
    <ol>
    <li>[プロジェクトの設定]で[**新規作成**]をクリックします。</li>
    <li>プロジェクトを作成します。</li>
    <li>[プロジェクトの設定]で、ドロップダウンリストからプロジェクトを選択します。</li>
    <li>Cloud Shellでスクリプトを実行します。</li>
    </ol>
    </div>
4.配信の権限を有効にします。

    File Storage Security スタックをデプロイする前に、プロジェクトに設定を適用し、カスタムの役割を作成する必要があります。**File Storage Security スタックの配置をGCPプロジェクトで1回のみ適用する必要があります**:

    1.GCP設定のデプロイを適用します。

        必要なすべてのAPIを有効にし、必要なカスタムの役割をTerraformで作成します。
        - `gcp-configuration` フォルダ配下の `terraform.tfvars.json` にGCPプロジェクトIDを指定します。

        - 役割のプレフィックスが必要な場合は、 `terraform.tfvars.json` で `customRolePrefix` を指定します。

        - Cloud ShellでTerraformテンプレートを適用します。

            ```terraform -chdir=gcp-configuration init && terraform -chdir=gcp-configuration apply```

5.スタックを設定してデプロイします。

    `storages` フォルダの `terraform.tfvars.json` で次のフィールドを指定し、Cloud ShellでTerraformテンプレートを適用します。

    JSONオブジェクト `storageStacks`には複数のスタックが存在する可能性があります。Terraformデプロイメントごとに20個のStorage Stackという制限があります。スタック数が制限を超えた場合は、Terraformで別のワークスペースを作成してデプロイメントを分離してください。
    {: .note }

    Terraform入力変数:

     1.**projectID**: この配置のプロジェクトを指定します。
     2.**functionAutoUpdate**: リモートコードの自動アップデートを有効または無効にします。デフォルト値は `true`です。許可値: `true` `false`。
     3.**customRolePrefix**: 必要に応じて、カスタムの役割のプレフィックスを指定します。

    Storage Stack:

     1.<**STORAGE_STACK_NAME**>: Storage Stackの名前を指定します。リソースプレフィックスとしての名前は、17文字未満である必要があります。キーを Storage Stack 名に置き換えます。
     2.**scanner**: Scanner Stackを指定します。
     3.**scanningBucketName**: 保護する既存の バケット 名を指定します。
     4.**region**: Storage Stackのリージョンを指定します。サポートされるGCPリージョンのリストについては、[サポートされるGCPリージョン](https://cloudone.trendmicro.com/docs/jp/file-storage-security/supported-gcp/)を参照してください。
     5.**managementServiceAccountProjectID**: File Storage Security コンソールからサービスアカウントのプロジェクトIDをコピーして貼り付けます。
     6.**managementServiceAccountID**: File Storage Security コンソールからサービスアカウントIDをコピーして貼り付けます。
     7.**scannerProjectID**: File Storage Security コンソールから Scanner のプロジェクトIDをコピーして貼り付けます。
     8.**scannerServiceAccountID**: File Storage Security のコンソールから、 Scanner のサービスアカウント情報をコピーして貼り付けます。
     9.**scannerTopic**: File Storage Security コンソールから、 Scannerの Pub/Sub トピックをコピーして貼り付けます。
     10.**reportObjectKey**: 検索されたオブジェクトのオブジェクトキーを File Storage Security バックエンドサービスにレポートするには、`true`を選択します。File Storage Security は、イベントAPIの応答に不正なオブジェクトのオブジェクトキーを表示できます。値 `true` `false`を許可します。
     11. **objectFilterPrefix**: バケットから検索するオブジェクトのプレフィックスを入力します。フィルタなしで検索するには、 `''` と入力します。

6.Cloud Shellでのデプロイの初期化と適用

    ```terraform -chdir=storages init  && terraform -chdir=storages apply```

配置を管理するために `terraform.tfstate` と `terraform.tfvars.json` を保存してください (スタックのアップデートと削除に必要になります)。[リモート設定](https://developer.hashicorp.com/terraform/language/settings/backends/configuration) を使用して、tfstateを安全な場所に保管することをお勧めします。
{: .tip }

7.File Storage Security コンソールで出力を設定します。

デプロイプロセスを完了するには、スタックのデプロイ後に管理役割を設定します。

1.TerraformのCloud Shell出力から、 `storage_stacks_ouputs` の出力内容をコピーします。
2.コンテンツを File Storage Security コンソールに貼り付けます。

次のコマンドを使用して、Terraformの出力を取得できます。
```terraform output```
{: .tip }

8.Submitをクリックします。