Skip to main content

Google Cloud Storage

Experimental
Creates:
Assets

Configure in the UI

This plugin can be configured directly in the Marmot UI with a step-by-step wizard.

View Guide

The Google Cloud Storage plugin discovers buckets from GCP projects. It captures bucket metadata including location, storage class, encryption settings, and lifecycle rules.

Connection Examples

Required Permissions

The service account needs the following IAM roles:

  • Storage Object Viewer (roles/storage.objectViewer) - For listing buckets and objects

Or use a custom role with these permissions:

  • storage.buckets.list
  • storage.buckets.get
  • storage.objects.list (if using object count)

Example Configuration


project_id: "my-gcp-project"
credentials_file: "/path/to/service-account.json"
include_metadata: true
include_object_count: false
filter:
include:
- "^data-.*"
exclude:
- ".*-temp$"
tags:
- "gcs"
- "storage"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
credentials_filestringfalsePath to service account JSON file
credentials_jsonstringfalseService account JSON content
disable_authboolfalseDisable authentication (for local emulators)
endpointstringfalseCustom endpoint URL (for fake-gcs-server or other emulators)
external_links[]ExternalLinkfalseExternal links to show on all assets
filterplugin.FilterfalseFilter buckets by name pattern
include_metadataboolfalseInclude bucket metadata like labels
include_object_countboolfalseCount objects in each bucket (can be slow for large buckets)
project_idstringfalseGoogle Cloud project ID
tagsTagsConfigfalseTags to apply to discovered assets

Available Metadata

The following metadata fields are available:

FieldTypeDescription
bucket_namestringName of the bucket
createdstringBucket creation timestamp
encryptionstringEncryption type (google-managed or customer-managed)
kms_keystringCustomer-managed encryption key name
lifecycle_rules_countintNumber of lifecycle rules configured
locationstringGeographic location of the bucket
location_typestringLocation type (region, dual-region, multi-region)
logging_enabledboolWhether access logging is enabled
object_countint64Number of objects in the bucket
requester_paysboolWhether requester pays for access
retention_period_secondsint64Retention period in seconds
storage_classstringDefault storage class (STANDARD, NEARLINE, COLDLINE, ARCHIVE)
versioningstringWhether object versioning is enabled