All posts

The Simplest Way to Make Metabase Spanner Work Like It Should

You’ve secured your Google Cloud Spanner database, but no one can see anything without constant permission tickets. Your analysts want dashboards. Your engineers want query access. And you just want it to be fast, safe, and automated. That’s where Metabase with Spanner comes into play. Metabase is the open-source BI platform that makes data accessible without writing endless SQL. Google Cloud Spanner is the horizontally scalable relational database built for near-infinite consistency. Put them

Free White Paper

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: The Complete Guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free. No spam. Unsubscribe anytime.

You’ve secured your Google Cloud Spanner database, but no one can see anything without constant permission tickets. Your analysts want dashboards. Your engineers want query access. And you just want it to be fast, safe, and automated. That’s where Metabase with Spanner comes into play.

Metabase is the open-source BI platform that makes data accessible without writing endless SQL. Google Cloud Spanner is the horizontally scalable relational database built for near-infinite consistency. Put them together and you get interactive dashboards powered by a database that never flinches under scale. You just need to connect them right.

At its core, the Metabase Spanner integration bridges a gap between simplicity and scale. Spanner handles your transactional load with tight latency controls. Metabase takes the raw data and makes it understandable for everyone from product managers to data scientists. The magic happens when you design your connection logic for both performance and least privilege.

The workflow is straightforward. Spanner sits quietly with IAM-based access. Metabase connects through a service account that uses this IAM identity. Through Metabase’s configuration, you define the Spanner instance and database, generating secure, scoped credentials. Once set, Metabase queries Spanner directly through the JDBC driver, translating user actions into read-only SQL statements. Security stays intact because authentication never relies on static passwords, only managed identities.

When you map permissions, use the same rule you would for any production system: give only what’s necessary. Keep write access separate from analytic access. Rotate service account keys regularly or, better yet, eliminate them entirely with OIDC token-based authentication through providers like Okta or AWS IAM federation. This ensures compliance with frameworks like SOC 2 without slowing anyone down.

Continue reading? Get the full guide.

End-to-End Encryption + Sarbanes-Oxley (SOX) IT Controls: Architecture Patterns & Best Practices

Free. No spam. Unsubscribe anytime.

Key benefits you’ll notice immediately:

  • Queries hitting massive datasets without timing out.
  • Role-based access that enforces principle of least privilege automatically.
  • Lower operational overhead since there’s no nightly credential babysitting.
  • Cleaner audit trails through centralized identity providers.
  • Faster delivery of dashboards that actually stay accurate under load.

Developers love this setup because it cuts out middle steps. No waiting for credentials. No context switching to fetch read replicas. Just clear paths from demand to data. The result is higher developer velocity, faster onboarding, and far fewer “who can grant me access” pings in Slack.

Platforms like hoop.dev turn those access rules into guardrails that enforce policy automatically. Instead of manually mapping who can query what, you describe intent once, and the proxy applies it in every environment. It feels like a security team that never sleeps but never blocks work either.

How do I connect Metabase and Spanner?
You create a service identity in Google Cloud IAM, assign read access to your Spanner database, and then configure that service account in Metabase’s admin panel. Within minutes, you can explore tables and visualize data without manual credentials or local configs.

Why pair Metabase with Cloud Spanner?
Because you can finally give engineers and analysts real-time visibility into production-scale datasets without the usual access chaos. Spanner maintains consistency, Metabase reveals value, and the integration keeps compliance auditors calm.

Getting this right once means you stop firefighting access issues forever. That’s the simplest way to make Metabase Spanner work like it should.

See an Environment Agnostic Identity-Aware Proxy in action with hoop.dev. Deploy it, connect your identity provider, and watch it protect your endpoints everywhere—live in minutes.

Get started

See hoop.dev in action

One gateway for every database, container, and AI agent. Deploy in minutes.

Get a demoMore posts