/google-cloud-recipe-auth
Provides expert guidance on authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default Credentials (ADC), and best practices for secure access.
$ npx -y skills add google/skills --skill google-cloud-recipe-auth --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/google-cloud-recipe-auth
Context preview
The summary Claude sees to decide when to auto-load this skill.
Provides expert guidance on authenticating and authorizing to Google Cloud services and APIs, covering human users, service identities, Application Default Credentials (ADC), and best practices for secure access.
SKILL.md
google-cloud-recipe-auth.SKILL.mdname: google-cloud-recipe-auth
metadata:
category: GettingStarted
description: Provides expert guidance on 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 to Google Cloud
[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**).
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 production, it should use a **Service Account** rather than a human user account.
Service Accounts and Service Agents
- **[Service
Account](https://docs.cloud.google.com/iam/docs/service-account-overview.md.txt)**: A special identity intended for non-human users. It's like a "robot identity" with its own email address.
- **[Service Agent](https://docs.cloud.google.com/iam/docs/service-agents.md.txt)**:
A service account managed by Google that allows a service (like Pub/Sub) to access your resources on y
Read more
name: google-cloud-recipe-auth metadata: category: GettingStarted description: Provides expert guidance on 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 to Google Cloud
[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**).
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 production, it should use a **Service Account** rather than a human user account.
Service Accounts and Service Agents
- **[Service
Account](https://docs.cloud.google.com/iam/docs/service-account-overview.md.txt)**: A special identity intended for non-human users. It's like a "robot identity" with its own email address.
- **[Service Agent](https://docs.cloud.google.com/iam/docs/service-agents.md.txt)**:
A service account managed by Google that allows a service (like Pub/Sub) to access your resources on y
This repository contains Agent Skills for Google products and technologies, including Google Cloud. This repository is under active development.
Repo: google/skills
Other skills on google-skills.
- /data-manager-api-audience-ingestion
Guides developers through managing (adding, removing, and clearing) audience members for Google products using the Data Manager API and its associated client libraries. Use this skill when the user wants to upload audience members, remove specific users, or clear/replace an
Open skill - /data-manager-api-event-ingestion
Guides developers through implementing event and conversion ingestion to Google products using the Data Manager API /v1/events/ingest endpoint and its associated client libraries. Use this skill when the user wants to upload offline conversions, enhanced conversions for leads,
Open skill - /data-manager-api-setup
Guides developers through client library installation and authentication setup steps for the Data Manager API. Use this skill when a user is getting started with the Data Manager API and needs to setup their local environment, install the client library, or setup access to the
Open skill - /google-ads-api-account-diagnostics
Diagnoses Google Ads account performance issues such as conversion loss (value or volume), low lead flow/volume, and lost impression share (opportunities) due to ad rank, bids, or budgets. Use when troubleshooting sudden performance drops, analyzing campaign impression share
Open skill - /google-ads-api-mcp-setup
Guides developers through downloading, configuring, and installing the official open-source Google Ads MCP Server. Use this skill when a user wants to connect their AI assistant (such as Gemini, Claude Code, or Cursor) to their Google Ads account to query campaigns or retrieve
Open skill - /google-ads-api-quickstart
Guides developers through Google Ads API quickstart: credential setup, choosing from 6 client libraries/REST, configuring environments, and running a "retrieve campaigns" script. Troubleshoots common setup errors: USER_PERMISSION_DENIED, login_customer_id issues, and
Open skill

