Table of contents

GCP architecture and flow

This section illustrates the File Storage Security architecture, shows how information flows through the architecture during a scan operation and describes each of the components in detail.

Topics:

Architecture

The following architecture diagram illustrates the main File Storage Security components and information flow.

Architecture diagram

Information flows through this architecture as follows:

  1. A user or program uploads a file to any Google Cloud Storage buckets. The upload generates a google.storage.object.finalize event.
  2. The Bucket Listener Function detects the google.storage.object.finalize event, and sends a signed URL containing authentication information in their query string to the Scanner Topic in the scanner stack. The URL links back to the file that needs to be scanned.
  3. The Scanner Function, which is subscribed to the Scanner Topic, does the following:
    • Retrieves the URL in the message sent from the ScannerTopic.
    • Finds the file in the Google Cloud Storage bucket at the URL location.
    • Performs scanning on the file.
    • Generates file identification information.
    • Sends the file identification information to the Trend Micro Global Smart Protection Server in the cloud.
  4. The Trend Micro Global Smart Protection Server leverages the Trend Micro Smart Protection Network (not shown in the diagram) to perform the remaining scanning on the file identification information (not the file). The scan results are returned to the Scanner Function.
  5. The Scanner Function does the following:
    • Publishes the scan results to the Scan Result Topic in the storage stack.
    • Sends the scan results to the File Storage Security console. (The console is not shown in the diagram).
  6. The Scan Result Topic notifies its subscribers that new scan results are available. Its subscribers are:
  7. After receiving the notification from Scan Result Topic:

Components

Protecting Google Cloud Storage bucket

The protecting Google Cloud Storage bucket is the storage bucket that is monitored for incoming (added) file. Files added to the protecting Google Cloud Storage bucket are scanned.

Storage stack

The storage stack monitors the protecting Google Cloud Storage bucket for incoming (added) files and sends them to the scanner stack for scanning. The storage stack can be deployed:

  • as a standalone stack, using the storage stack deployment script. For information on how many storage stacks you should use in your deployment, see How many stacks should I add?.

Scanner stack

The scanner stack scans files and publishes the results to the Scan Result Topic. The scanner stack can be deployed:

  • as a standalone stack, using the scanner stack deployment script, or

A typical File Storage Security deployment only needs one scanner stack, but if you think you might need more, see How many stacks should I add?

Bucket Listener Function

The Bucket Listener Function is part of the storage stack, and is responsible for monitoring the protecting Google Cloud Storage bucket for added files and sending scanning requests to the scanner stack.

Scanner Function

The Scanner Function is part of the scanner stack and is responsible for scanning files and then sending file identification information to the Trend Micro Global Smart Protection Server for further scanning.

Scanner Topic

The Google Cloud Pub/Sub Scanner Topic is part of the scanner stack and is the topic to which the BucketListenerFunction sends its scanning request messages.

Scan Result Topic

The Google Cloud Pub/Sub Scan Result Topic is part of the storage stack, and is the topic to which the scanner stack publishes its results. You can subscribe your custom post-scan action function to this topic to be notified of new scans.

Post Scan Action Tag Function

The Post Scan Action Tag Function is part of the storage stack, and is responsible for tagging the scanned file with its associated scan results.

Your GCP Project

Your GCP Project is where you'll be installing the File Storage Security stacks. You can install the stacks into multiple GCP projects under the same organization if you want. For details, see the multi-stack architecture.

Custom post-scan action function

The custom post-scan action function is a function that you write. It is responsible for processing scan results that it obtains from the Scan Result Topic. For details, see Create post-scan actions.

API and code samples

We provide APIs and code samples that you can use to create your Functions. See Create post-scan actions for details.

Console

The console is a web interface where you can view scan results and deploy stacks. The console is hosted by Trend Micro and exists outside your GCP Project.