アーキテクチャ
次のアーキテクチャ図は、主要な File Storage Security コンポーネントと情報フローを示しています。

情報はこのアーキテクチャを次のように流れます。
手順
- ユーザまたはプログラムが、任意の Google Cloud Storageバケットにファイルをアップロードします。アップロードによって
google.storage.object.finalize
イベントが生成されます。 - バケット リスナー関数 は、
google.storage.object.finalize
イベントを検出し、クエリ文字列に認証情報を含む署名付きURLを Scanner StackのScanner トピックに送信します。URLは、スキャンする必要のあるファイルにリンクしています。 - Scanner 関数は、Scanner トピックに登録されており、次の処理を実行します。
- ScannerTopicから送信されたメッセージ内のURLを取得します。
- URLの場所にあるGoogle Cloud Storage バケット のファイルを検索します。
- ファイルのスキャンを実行します。
- ファイル識別情報を生成します。
- クラウド内のトレンドマイクログローバル Smart Protection Server にファイル識別情報を送信します。
- Trend Micro Global Smart Protection Server は、Trend Micro Smart Protection Network (図には表示されていません) を利用して、ファイルではなくファイル識別情報の残りの検索を実行します。スキャン結果は Scanner 関数に返されます。
- Scanner 関数は以下を実行します。
- スキャン結果を Storage Stackの スキャン結果トピック に公開します。
- スキャン結果を File Storage Security コンソールに送信します。(コンソールは図に示されていません)。
- スキャン結果トピックは、新しいスキャン結果が利用可能であることをサブスクライバーに通知します。そのサブスクライバーは次のとおりです。
- File Storage Securityの 検索後処理タグ関数
- スキャン結果トピックから通知を受け取った後:
- 検索後処理タグ関数はカスタムメタデータ (タグ) を使用してスキャン結果をファイルに追加します。詳細については、タグとスキャン結果の理解を参照してください。
- カスタム 検索後処理 関数 は、スキャン結果トピックで提供されるスキャン情報に基づいて動作します。たとえば、ファイルが悪意のあるものであることが判明した場合、ファイルを隔離または削除する可能性があります。
コンポーネント
Google Cloud Storage バケットの保護
保護対象のGoogle Cloud Storage バケット は、受信(追加)ファイルについて監視されるストレージ バケット です。保護対象のGoogle Cloud
Storage バケット に追加されたファイルが検索されます。
Storage Stack
Storage Stackは、受信 (追加) ファイルのGoogle Cloud Storage バケットの保護を監視し、スキャンのためにそれらをScanner Stackに送信します。Storage Stack は次のようにデプロイできます:
- Storage Stack スクリプトを使用して、スタンドアロンスタックとして デプロイメントで使用する必要があるStorage Stackの数については、スタックをいくつ追加する必要がありますか?を参照してください。
Scanner Stack
Scanner Stack はファイルをスキャンし、結果を スキャン結果トピックに公開します。 Scanner Stack をデプロイできます。
- Scanner Stack スクリプトを使用するスタンドアロンスタックとして、または
一般的な File Storage Security の展開に必要な Scanner Stackは1つだけですが、さらに必要になる可能性がある場合は、スタックをいくつ追加する必要がありますか?を参照してください
バケット リスナー関数
バケットリスナー関数はStorage Stackの一部であり、追加されたファイルに対するGoogle Cloud Storage バケットの保護を監視し、スキャンリクエストをScanner Stackに送信します。
Scanner 関数
Scanner 関数は、Scanner Stack の一部であり、ファイルをスキャンしてから、ファイル識別情報をTrend Micro Global Smart Protection Server に送信してさらにスキャンします。
Scanner トピック
Google Cloud Pub/Sub Scanner トピックは、Scanner Stack の一部であり、バケットリスナー関数 がそのスキャンリクエストメッセージを送信するトピックです。
スキャン結果トピック
Google CloudのPub / Sub スキャン結果トピックは Storage Stackの一部であり、 Scanner Stack が結果を公開するトピックです。カスタムポストスキャンアクション関数 をこのトピックに登録して、新しいスキャンの通知を受け取ることができます。
検索後処理タグ関数
ポストスキャンアクションタグ関数は、Storage Stackの一部であり、スキャンされたファイルに関連するスキャン結果のタグを付ける役割を果たします。
GCPプロジェクト
File Storage Security スタックをインストールするのは、GCPプロジェクトです。必要に応じて、同じ組織内の複数のGCPプロジェクトにスタックをインストールできます。詳細については、マルチスタックアーキテクチャを参照してください。
カスタム 検索後処理 関数
カスタムポストスキャンアクション関数は、ユーザーが作成する関数です。スキャン結果トピックから取得したスキャン結果の処理を担当します。詳細については、ポストスキャンアクションの作成を参照してください
APIとコードサンプル
関数の作成に使用できるAPIとコードサンプルを提供します。詳細については、ポストスキャンアクションの作成を参照してください。
コンソール
コンソールは、スキャン結果を表示してスタックをデプロイできるWebインターフェイスです。コンソールはトレンドマイクロによってホストされ、GCPプロジェクトの外部に存在します。