Skip to content
Development
Skill

/google-cloud-recipe-auth

Provides expert guidance on Identity and Access Management (IAM) and authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default Credentials (ADC), and best practices for secure access.

From plugin
skills
22k178 skills1 MCP

Claude Code

$ npx -y skills add google/skills --skill google-cloud-recipe-auth --agent claude-code

SKILL.md

google-cloud-recipe-auth.SKILL.md
name: google-cloud-recipe-auth
metadata:
  version: "1.0.2"
  category: GettingStarted
description: Provides expert guidance on Identity and Access Management (IAM) and authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default Credentials (ADC), and best practices for secure access.

Authenticating and Authorizing to Google Cloud (IAM)

[Authentication](https://docs.cloud.google.com/docs/authentication.md.txt) is the process of proving **who you are**. In Google Cloud, you represent a **Principal** (an identity like a user or a service). This is the first step before [Authorization](https://docs.cloud.google.com/iam/docs/overview.md.txt) (determining **what you can do**).

Attribution

**MUST READ**: Before executing any `gcloud`, REST API, or MCP command, you MUST read [Usage Attribution](references/attribution.md). For commands executed directly in the terminal (never in generated scripts, Terraform, or user code), prefix `gcloud` with `CLOUDSDK_METRICS_REQUEST_ATTRIBUTION="agent-skills/1.0 (skill:google-cloud-recipe-auth)"` and append `agent-skills/1.0 (skill:google-cloud-recipe-auth)` to `User-Agent` headers.

Authentication

Clarifying Questions for the Agent

Before providing a specific solution, clarify the following with the user:

1. **Who or what is authenticating?** (A human developer, a local script, or an application running in production?) 2. **Where is the code running?** (Local laptop, [Compute Engine](https://docs.cloud.google.com/compute/docs.md.txt), [GKE](https://docs.cloud.google.com/kubernetes-engine/docs.md.txt), [Cloud Run](https://docs.cloud.google.com/run/docs.md.txt), or another cloud like AWS/Azure?) 3. **What is the target?** (A Google Cloud API like Storage/BigQuery, or a custom application you built?) 4. **Are you using a high-level client library?** (e.g., Python, Go, Node.js libraries usually handle ADC automatically.)

---

Human Authentication

For users to access Google Cloud, they need an identity that Google Cloud can recognize.

Types of User Identities

Google Cloud supports several ways to configure identities for your internal workforce (developers, administrators, employees):

  • **[Google-Managed

Accounts](https://docs.cloud.google.com/iam/docs/user-identities.md.txt)**: You can use Cloud Identity or Google Workspace to create managed user accounts. These are called managed accounts because your organization controls their lifecycle and configuration.

  • **[Federation using Cloud Identity or Google

Workspace](https://docs.cloud.google.com/iam/docs/user-identities.md.txt)**: You can federate identities to allow users to use their existing identity and credentials to sign in to Google services. Users authenticate against an external identity provider (IdP), but you must keep accounts synchronized into Google Cloud using tools like Google Cloud Directory Sync (GCDS) or an external authoritative source like Active Directory or Microsoft Entra ID.

  • **[Workforce Identity

Federation](https://docs.cloud.google.com/iam/docs/user-identities.md.txt)**: This lets you use an external IdP to authenticate and authorize a workforce using IAM directly. Unlike standard federation, you do not need to synchronize user identities from your existing IdP to Google Cloud identities. It supports syncless, attribute-based single sign-on.

Methods of Access for Developers and Administrators

Used for interacting with Google Cloud resources and APIs during development and management.

  • **[Google Cloud Console](https://console.cloud.google.com/)**: The primary

web interface. You authenticate using your Google Account (Gmail or [Google Workspace](https://workspace.google.com/)).

  • **[gcloud CLI](https://docs.cloud.google.com/sdk/docs/install-sdk.md.txt) (`gcloud

auth login`)**: Used to authenticate the CLI itself so you can run management commands (e.g., `gcloud compute instances list`). It uses a **Credential** (like an OAuth 2.0 refresh token) stored locally.

  • **Local Development with [App Default Credentials

(ADC)](https://docs.cloud.google.com/docs/authentication/application-default-credentials.md.txt) (`gcloud auth application-default login`)**: This is different from CLI auth. It creates a local JSON file that Google Cloud **Client Libraries** (Python, Java, etc.) use to act as "you" when you run code on your laptop.

  • **[Service Account

Impersonation](https://docs.cloud.google.com/docs/authentication/use-service-account-impersonation.md.txt)**: For security reasons, developers should avoid downloading Service Account keys entirely. Instead, they should authenticate as humans (`gcloud auth login`) and use Service Account Impersonation to run CLI commands or generate short-lived credentials. This is a critical best practice for local development and troubleshooting.

For End-Users and Customers

Used when a human (who is not a developer) needs to access a web application you've deployed on Google Cloud. Note: These are distinct from workforce identities.

  • **[Identity-Aware Proxy (IAP)](https://docs.cloud.google.com/iap/docs.md.txt)**:

Acts as a central authorization layer for web applications. It intercepts web requests and verifies the user's identity (via Google Workspace, Cloud Identity, or external providers) before letting them reach the application. It's often used to protect internal apps without a VPN, or secure customer portals.

  • **[Identity

Platform](https://docs.cloud.google.com/identity-platform/docs.md.txt)**: A Customer Identity and Access Management (CIAM) solution for adding consumer sign-in (email/password, phone, social) directly into the code of your custom-built applications.

---

Service-to-Service Authentication

When code runs in pro

Read more
@google
Ships withskills

This repository contains Agent Skills for Google products and technologies, including Google Cloud.

22k178 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
21.7k
Star history of google/skills on GitHub, a chart by star-history.com

Other skills on skills.

finding-google-skills

finding-google-skills

Google platform decision and setup guidance, loaded on demand from Google's skill catalog. Use when a developer is choosing or…

@google@googleInstall Skill
gcloud

gcloud

Provides safety-critical validation, guardrails, and data reduction for gcloud CLI operations across Google Cloud Platform (GCP)…

@google@googleInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about google-cloud-recipe-auth.

Which coding agents can use google-cloud-recipe-auth?
google-cloud-recipe-auth installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.