GCP Services Coverage
Version: v0.5.0+ Status: Production Ready Total Events: 100+ Total Services: 12+
TFDrift-Falco v0.5.0 introduces comprehensive Google Cloud Platform (GCP) support, enabling real-time drift detection for GCP resources through Falco's gcpaudit plugin.
Overview
TFDrift-Falco monitors GCP Audit Logs to detect infrastructure drift in real-time. The system:
- Receives GCP Audit Log events via Falco's gcpaudit plugin
- Parses events to extract resource changes
- Compares changes against Terraform state (GCS, S3, or local)
- Alerts on detected drift via configured channels (Slack, Discord, webhooks)
Supported Services
Compute (40+ events)
| Service | Event Count | Resources | Status |
| Compute Engine | 11 | google_compute_instance | ✅ Production |
| Disks | 4 | google_compute_disk | ✅ Production |
| Networks | 3 | google_compute_network | ✅ Production |
| Subnetworks | 4 | google_compute_subnetwork | ✅ Production |
| Firewalls | 4 | google_compute_firewall | ✅ Production |
| Routes | 2 | google_compute_route | ✅ Production |
| Routers | 4 | google_compute_router | ✅ Production |
| VPN | 4 | google_compute_vpn_tunnel, google_compute_vpn_gateway | ✅ Production |
| Load Balancers | 12 | google_compute_backend_service, google_compute_health_check | ✅ Production |
Learn more →
Storage (5+ events)
| Service | Event Count | Resources | Status |
| Cloud Storage | 3 | google_storage_bucket | ✅ Production |
| Storage Objects | 2 | google_storage_bucket_object | ✅ Production |
| Storage IAM | 1 | google_storage_bucket_iam_binding | ✅ Production |
Learn more →
Databases (10+ events)
| Service | Event Count | Resources | Status |
| Cloud SQL Instances | 4 | google_sql_database_instance | ✅ Production |
| Cloud SQL Databases | 3 | google_sql_database | ✅ Production |
| Cloud SQL Users | 3 | google_sql_user | ✅ Production |
Learn more →
Security (12+ events)
| Service | Event Count | Resources | Status |
| IAM Project | 1 | google_project_iam_binding | ✅ Production |
| IAM Service Accounts | 3 | google_service_account | ✅ Production |
| KMS Key Rings | 1 | google_kms_key_ring | ✅ Production |
| KMS Crypto Keys | 2 | google_kms_crypto_key | ✅ Production |
| Secret Manager | 2 | google_secret_manager_secret | ✅ Production |
Learn more → | Learn more → | Learn more →
Containers (9+ events)
| Service | Event Count | Resources | Status |
| GKE Clusters | 3 | google_container_cluster | ✅ Production |
| GKE Node Pools | 3 | google_container_node_pool | ✅ Production |
| Cloud Run Services | 3 | google_cloud_run_service | ✅ Production |
Learn more → | Learn more →
Serverless (6+ events)
| Service | Event Count | Resources | Status |
| Cloud Functions v1 | 3 | google_cloudfunctions_function | ✅ Production |
| Cloud Functions v2 | 3 | google_cloudfunctions2_function | ✅ Production |
Learn more →
Data & Analytics (11+ events)
| Service | Event Count | Resources | Status |
| BigQuery Datasets | 3 | google_bigquery_dataset | ✅ Production |
| BigQuery Tables | 3 | google_bigquery_table | ✅ Production |
| Pub/Sub Topics | 2 | google_pubsub_topic | ✅ Production |
| Pub/Sub Subscriptions | 2 | google_pubsub_subscription | ✅ Production |
Learn more → | Learn more →
Event Types
Supported Operations
TFDrift-Falco detects the following types of infrastructure changes:
| Operation Type | GCP Method Pattern | Example |
| Create | .insert, .create | compute.instances.insert |
| Update | .update, .patch | compute.firewalls.update |
| Delete | .delete | storage.buckets.delete |
| Set Metadata | .setMetadata | compute.instances.setMetadata |
| Set Labels | .setLabels | compute.disks.setLabels |
| Set Tags | .setTags | compute.instances.setTags |
| Set IAM Policy | SetIamPolicy | IAM policy changes |
Example Events
# Compute Instance Metadata Change
gcp.methodName: "compute.instances.setMetadata"
gcp.resource.name: "projects/my-project/zones/us-central1-a/instances/web-server"
gcp.authenticationInfo.principalEmail: "admin@example.com"
# Firewall Rule Update
gcp.methodName: "compute.firewalls.update"
gcp.resource.name: "projects/my-project/global/firewalls/allow-http"
gcp.authenticationInfo.principalEmail: "terraform@my-project.iam.gserviceaccount.com"
# GCS Bucket IAM Change
gcp.methodName: "storage.buckets.setIamPolicy"
gcp.resource.name: "projects/_/buckets/my-app-data"
gcp.authenticationInfo.principalEmail: "admin@example.com"
Coverage Comparison
TFDrift-Falco v0.5.0 GCP Coverage
| Category | Event Count | Service Count | Coverage Level |
| Compute & Networking | 40+ | 8 | ⭐⭐⭐⭐⭐ Excellent |
| Storage | 5+ | 1 | ⭐⭐⭐⭐ Good |
| Databases | 10+ | 1 | ⭐⭐⭐⭐ Good |
| Security | 12+ | 3 | ⭐⭐⭐⭐ Good |
| Containers | 9+ | 3 | ⭐⭐⭐⭐ Good |
| Serverless | 6+ | 1 | ⭐⭐⭐ Moderate |
| Data & Analytics | 11+ | 2 | ⭐⭐⭐ Moderate |
| Total | 100+ | 12+ | ⭐⭐⭐⭐ Production Ready |
AWS vs GCP Coverage
| Metric | AWS (v0.2.0+) | GCP (v0.5.0+) |
| Events | 203+ | 100+ |
| Services | 19+ | 12+ |
| Resources | 60+ | 40+ |
| Maturity | Production (v0.2.0) | Production (v0.5.0) |
Roadmap
Phase 1: Foundation (v0.5.0) ✅ Complete
- ✅ Core GCP services (Compute, Storage, SQL)
- ✅ GCS backend support
- ✅ Falco gcpaudit plugin integration
- ✅ Multi-provider architecture
- ✅ Comprehensive testing
Phase 2: Expansion (v0.6.0) 🔄 Planned
- 🔄 Cloud Dataflow
- 🔄 Cloud Dataproc
- 🔄 Cloud Composer
- 🔄 Memorystore (Redis, Memcached)
- 🔄 Cloud Spanner
Phase 3: Advanced (v0.7.0) 📋 Future
- 📋 Cloud Armor
- 📋 Cloud CDN
- 📋 Cloud DNS
- 📋 Cloud Load Balancing (advanced)
- 📋 Cloud Logging & Monitoring
Getting Started
Prerequisites
- GCP Project with Audit Logs enabled
- Falco with gcpaudit plugin installed
- Pub/Sub subscription for Audit Logs
- Terraform state in GCS, S3, or local
Quick Start
# Run the GCP quick-start script
./scripts/gcp-quick-start.sh
# Or follow the manual setup guide
# See: docs/gcp-setup.md
Configuration Example
providers:
gcp:
enabled: true
projects:
- my-gcp-project-123
state:
backend: "gcs"
gcs_bucket: "my-terraform-state"
gcs_prefix: "prod/terraform.tfstate"
drift_rules:
- name: "GCP Firewall Rule Modification"
resource_types:
- "google_compute_firewall"
watched_attributes:
- "allowed"
- "source_ranges"
severity: "critical"
- name: "GCS Bucket IAM Change"
resource_types:
- "google_storage_bucket_iam_binding"
watched_attributes:
- "members"
severity: "high"
Documentation
Support
Last Updated: 2025-01-18 Version: v0.5.0