Skip to main content
Version: 14.x

Cloud Vendor Aggregator

The Cloud Vendor Aggregator processor is designed to aggregate events from various cloud vendors into a standardized asset shape. This processor is particularly useful for organizations that need to manage and analyze assets across multiple cloud environments.

info

This processor is tightly coupled with the Cloud vendor-specific sources.

It's usage is recommended only if you are using the following sources:

In such cases, the processor MUST be used as the very first processor in the pipeline to ensure that the events are aggregated correctly before being sent to the next pipeline processors and the sink.

Processor Overview

The Processor is designed to produce a standardized asset shape that has the following structure:

Field NameTypeDescription
namestringThe name of the asset, typically derived from the cloud vendor-specific asset name.
typestringThe type of the asset, derived from the cloud vendor-specific asset type.
providerstringThe name of the cloud vendor, such as gcp, aws, or azure.
locationstringThe location of the asset, such as a region or zone.
tagsobjectA map of tags associated with the asset, where keys are tag names and values are tag values.
relationshipsarrayAn array of strings representing relationships to other assets (e.g. the organization/project the resource is coming from)
timestampstringThe timestamp of the generated asset, the string follows the ISO format
rawDatastringThe event raw data from the cloud vendor, containing all the fields that were present in the original event. Note: this value is a base64 representation of the original binary data

Configuration

When configuring the Cloud Vendor Aggregator processor, you need to provide the following parameters in your configuration file:

  • type (string): The type of the processor, which should be set to cloud-vendor-aggregator.
  • cloudVendorName (string): The name of the cloud vendor for which the events are being aggregated. This can be one of the following values:
    • gcp
    • aws
    • azure
  • authOptions (object, optional): Authentication options for the cloud vendor; the fields are vendor-specific, check out the below table for details.
caution

The cloudVendorName parameter is mandatory and must be set to the name of the cloud vendor based on the source type you are using.

Authentication Options

Google Cloud Platform (GCP)

Field NameTypeDescription
credentialsJsonSecretSourceThe content of the credentials.json provided by GCP, specified as a secret source.

AWS

Field NameTypeDescription
accessKeyIdstringAccess Key ID from AWS.
secretAccessKeySecretSourceSecret Access Key from AWS, specified as a secret source.
sessionTokenSecretSourceSession Token from AWS, specified as a secret source.
regionstring (optional)The AWS region where the assets are located.

Microsoft Azure

Field NameTypeDescription
tenantIdstringThe Azure tenant ID.
clientIdSecretSourceThe Azure client ID, specified as a secret source.
clientSecretSecretSourceThe Azure client secret, specified as a secret source.

Example

Google Cloud Platform (GCP)

{
"type": "cloud-vendor-aggregator",
"cloudVendorName": "gcp",
"authOptions": {
"credentialsJson": {
"fromEnv": "GCP_CREDENTIALS_JSON"
}
}
}

AWS

{
"type": "cloud-vendor-aggregator",
"cloudVendorName": "aws",
"authOptions": {
"accessKeyId": "your-access-key",
"secretAccessKey": {
"fromEnv": "AWS_SECRET_ACCESS_KEY"
},
"sessionToken": {
"fromEnv": "AWS_SESSION_TOKEN"
}
}
}

Microsoft Azure

{
"type": "cloud-vendor-aggregator",
"cloudVendorName": "azure",
"authOptions": {
"tenantId": "your-tenant-id",
"clientId": {
"fromEnv": "AZURE_CLIENT_ID"
},
"clientSecret": {
"fromEnv": "AZURE_CLIENT_SECRET"
}
}
}