Skip to main content
Version: 0.8

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 Bucket Viewer (roles/storage.bucketViewer) - For discovering and listing buckets

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
filterFilterfalseFilter discovered assets by name (regex)
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