BIPI
BIPI

Setting up Security Command Center so it earns its licence cost

Cloud Security

GCP Security Command Center Premium runs into six figures a year quickly. The setup that justifies the spend is org-level enablement plus custom modules and a Chronicle pipe. The defaults will not get you there.

By Arjun Raghavan, Security & Systems Lead, BIPI · March 27, 2024 · 7 min read

#gcp#security-command-center#cloud-security

A digital bank running on GCP had Security Command Center Premium enabled for 11 months and could not articulate what they had got from it. The findings dashboard had 800 medium-severity items, none of which had been actioned. The Chronicle integration was still on the project plan. The bill was 240k a year. We ran a 6-week tune-up and dropped active findings to 60, all triaged, and connected six Cloud Functions to Chronicle for cross-correlation. The same licence, suddenly, did real work.

GCP SCC has two tiers, four built-in finding sources, and a custom module framework. Setting it up well is a project, not a checkbox.

Standard vs Premium: pick once

Standard is free, scoped to GCP-only, and gives you Security Health Analytics for misconfigurations plus Web Security Scanner for App Engine and Compute Engine web apps. Premium adds Event Threat Detection, Container Threat Detection, Virtual Machine Threat Detection, attack path simulation, and continuous compliance reporting. Pricing is based on resource count and Premium typically runs 6-10x Standard. If you have under 200 resources or are still in pilot, Standard plus open-source tooling is fine. Above 1000 resources in regulated workloads, Premium starts to earn out.

Enable at the organisation level, always

Project-level enablement is a configuration trap. You miss org-wide attacks, lose the cross-project correlation that is the whole point of the platform, and have to manually enrol every new project. Org-level enablement covers all current and future projects, lets you write org-level mute rules, and produces the resource graph that powers attack path simulation. The IAM permissions to enable at this level are tightly held; budget time to get the right approvals.

Tune the noisy sources first

Security Health Analytics has good defaults but ships findings for every resource that violates a check. We see 200-500 active findings on a fresh org-level enablement. The first triage pass should mute the categories you have explicit business reasons for: public Cloud Run services that are supposed to be public, Cloud Storage buckets in the public-content project, default service accounts on Compute Engine where you have IAM Conditions in place. Mute rules at the org level, scoped by resource label.

Custom modules for what the defaults miss

Custom Modules let you write detection logic against the resource graph using CEL expressions. The defaults do not catch organisation-specific issues: tag policies, naming conventions, mandatory labels, custom IAM role definitions. We typically deploy 10-15 custom modules per client. Examples we ship most often: detect projects without the cost-center label, detect service accounts with primitive Owner role, detect VPC firewall rules tagged production but with permissive source ranges, detect KMS keys without rotation enabled.

  • Mandatory label coverage on all production resources
  • Service accounts with primitive Owner or Editor roles
  • Cloud Run services exposing internal services as public
  • Composer environments without VPC-native networking
  • GKE clusters without Workload Identity enabled
  • BigQuery datasets shared with allAuthenticatedUsers

Chronicle integration is where the value compounds

SCC findings on their own are GCP-only. Piping them into Chronicle, alongside Workspace audit logs, cloud audit logs, and any third-party telemetry you have, gives you cross-source correlation. The example we run during demos: a service account key created in GCP, used to authenticate from an unusual ASN, then granted access to a BigQuery dataset, then exporting a large result set. SCC sees the unusual key usage, Cloud Audit Logs sees the IAM grant, BigQuery audit logs see the export. Chronicle stitches them into one detection.

Operational rhythm

Once a quarter, review mute rules and custom modules for relevance. Once a month, review high-severity active findings and ensure each has an owner. Once a week, review attack paths flagged by the simulator. Daily, the SOC consumes findings via Chronicle. The teams who set up this rhythm get an opinionated, low-noise view of their GCP risk; the teams who do not pay for Premium and look at the dashboard once a quarter.

GCP SCC is the only cloud security tool we recommend buying before a CNAPP for a GCP-first org. Native depth on a single cloud beats shallow coverage across three. If you are multi-cloud and dominantly on AWS or Azure, the calculus shifts.

Read more field notes, explore our services, or get in touch at info@bipi.in. Privacy Policy · Terms.