All Articles

Securing Your Cloud, Part 1: Google Cloud Platform Done Right

Google Cloud is unforgiving on identity mistakes and generous when you configure it right. Five controls, in priority order — and a five-minute audit that finds most leaks before Google's scanners do.

This is part 1 of GRAYTECH.ONE's "Securing Your Cloud" series — practical hardening for the three big clouds. Part 2 covers Azure, part 3 covers AWS.

Google Cloud Platform is the least forgiving of the three big clouds when you get identity wrong — and the most forgiving when you set it up right. The problem: most small teams never set it up right. They sign up, create a project, click "Enable API," and start pasting service account keys into scripts. Six months later they have a folder of .json key files that could spin up a crypto farm on their card, and no idea which one still works.

Here's the sane baseline, in priority order.

1. Kill long-lived service account keys

GCP service accounts support a dozen auth methods, but the one everybody uses — downloadable JSON keys — is the one Google's own threat reports flag most. A leaked key is a permanent skeleton key: it doesn't expire, doesn't rotate, and doesn't log in like a human would.

2. Lock down the project hierarchy early

GCP's resource hierarchy (Organization → Folder → Project) is your blast-radius dial. The cheap version: separate prod and everything-else projects from day one, so an experiment can never touch production data. Attach IAM grants at the highest level that works — but prefer project-level bindings over organization-wide ones.

Two policies worth setting before you do anything else:

3. Get the network posture right the boring way

GCP's VPC defaults are better than AWS's — no public IP by default, firewall rules deny by default — but the default VPC that comes with every new project has permissive rules baked in. Delete the default-allow rules, then:

4. Turn on the free log sources

Cloud Audit Logs are on by default — the mistake is nobody reading them. At minimum: export Admin Activity logs to a bucket with retention, and set alerts on the four events that matter:

  1. A service account key is created
  2. An IAM role is granted at the org or folder level
  3. A bucket's IAM is set to public
  4. A firewall rule opens 0.0.0.0/0 to SSH, RDP, or database ports

Those four cover the majority of real GCP breaches in the wild. A 20-line Cloud Function or a Log Router sink to a chat webhook turns each one into a page instead of a discovery.

5. The GCP five-minute audit

  1. gcloud asset search-all-resources --scope=organizations/YOUR_ORG --asset-types=cloudresourcemanager.googleapis.com/Project — do you recognize every project?
  2. IAM page → sort by Owner and Editor — every human there should be justified out loud.
  3. gcloud storage buckets list --format="csv(name,iamConfiguration)" — scan for allUsers or allAuthenticatedUsers.
  4. Check service account key count: Security Command Center → "Service account keys older than 90 days."
  5. VPC firewall rules: filter for 0.0.0.0/0 on ports 22, 3389, 3306, 5432, 5432. Each hit is a finding.

GCP rewards teams that keep identity tight and networks boring. Get those two right and the platform's defaults do most of the guarding for you — which is exactly what a small team needs: security you set once and stop thinking about.

Cloud Footprint Feel Bigger Than It Is?

GRAYTECH.ONE audits and hardens cloud environments for small businesses — identity, network, logging, and a written report you can act on. One engagement, all three clouds covered if you need it.

Schedule a Consultation