Ardrey 情報マガジン

google keyjson

📅 October 29, 2026📖 Verified Publication
```html

Google KeyJSON: The Definitive Playbook for Managing API Keys, Service Account Credentials, and Secure Access in Google Cloud

By Sapiens AI Editorial Team | Last Updated: July 2026 | 18-minute read

Key Takeaways — What You'll Learn

  • What is Google KeyJSON? The JSON-formatted credential files that authenticate your applications to Google Cloud APIs, OAuth 2.0 endpoints, and Google Workspace services.
  • Two types you must distinguish: Service Account keys (`.json` files) and OAuth 2.0 client configuration files — each with different lifecycles and security profiles.
  • Rotating credentials correctly prevents the #1 cause of production outages: expired or leaked service account keys.
  • Use Workload Identity Federation instead of static JSON keys whenever possible — it eliminates key rotation entirely and follows Google's own security recommendations.
  • Audit & remediation checklist at the end gives you a concrete 7-step process to harden your environment today.

Introduction: Why KeyJSON Matters Now

Every year, millions of Google Cloud projects suffer preventable breaches and outages caused by improperly managed credential files. A single exposed private_key in a GitHub repository can grant an attacker full access to your infrastructure — often within minutes.

The term "Google KeyJSON" refers colloquially to the JSON credential files used across the Google ecosystem. These files are the backbone of authentication for:

  • Google Cloud Platform (GCP) service accounts
  • Google Workspace API access (Admin SDK, Gmail, Drive, etc.)
  • Google Identity OAuth 2.0 flows
  • Google Ads, YouTube Data, and other Google API consumer keys
  • Application Default Credentials (ADC) pipelines

This playbook gives you the authoritative reference for understanding, creating, rotating, auditing, and securing every type of JSON credential Google provides.

Section 1: Understanding the Anatomy of a Google Service Account Key JSON

1.1 The Standard Service Account Key Structure

A Google Cloud service account key is a JSON file that contains everything your application needs to authenticate as that service account. When you download a key from the Google Cloud Console, you receive a file that looks like this:

{
  "type": "service_account",
  "project_id": "my-project-12345",
  "private_key_id": "a1b2c3d4e5f6...",
  "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA0Z3VS5JJcds3xfn/ygWyF8PbnGy...\n-----END RSA PRIVATE KEY-----\n",
  "client_email": "my-sa@my-project-12345.iam.gserviceaccount.com",
  "client_id": "112233445566778899",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-sa%40my-project-12345.iam.gserviceaccount.com"
}

1.2 Field-by-Field Breakdown

Field Purpose Can Be Rotated? Security Note
type Always service_account. Tells the library which auth flow to use. No Fixed value — not a secret.
project_id The GCP project this key belongs to. No Informational, but reveals project identity if leaked.
private_key_id Unique identifier for this specific key version. Yes (via key rotation) Used to select the correct key when multiple exist.
private_key The RSA/EC private key used for signing JWTs. Critical — rotate immediately if exposed Never commit to source control. This is the most sensitive field in the file.
client_email The email address of the service account. No Reveals service account identity.
client_id numerically unique client ID for the service account. No Used in some API calls for identification.
token_uri Endpoint used to exchange signed JWTs for access tokens. No Always https://oauth2.googleapis.com/token.
client_x509_cert_url URL to fetch the public certificate for this key. No Attackers can use this to verify forged signatures if they have the private key.

1.3 Supported Key Types

Google supports two cryptographic key types for service account JSON keys:

  • RSA 2048-bit — The default and most widely used. Suitable for the vast majority of workloads.
  • EC P256 — Elliptic curve key, smaller footprint, faster signing. Required for certain FIPS-compliant environments.

Section 2: OAuth 2.0 Client Secrets vs. Service Account Keys

A common source of confusion is the difference between a service account JSON key and an OAuth 2.0 client ID/secret. While both produce JSON-like configuration, they serve fundamentally different purposes.

2.1 Side-by-Side Comparison

th>Characteristic
Service Account JSON Key OAuth 2.0 Client Config
Primary Use Machine-to-machine authentication User-facing application authorization
Auth Flow JWT bearer assertion → token exchange Authorization code flow / PKCE
File Format Single .json key file Client ID + Client Secret (usually in env vars or config)
Expiry Keys never expire, but can be revoked Access tokens expire in 1 hour; refresh tokens may persist
Scope Control Controlled via IAM roles on the service account Controlled via scope parameter in auth request
Human User Required? No — fully automated Yes — requires user consent (unless using service account delegation)
IAM Integration Full — assign roles directly Limited — no

© 2026 Ardrey 情報マガジン. All rights reserved.