dawiddutoit/custom-claude/gcp-gke-workload-identity
Claude Code and agent skill by dawiddutoit/custom-claude
- community
Checking that the SKILL.md file is still in the repository.
Implements Workload Identity for secure, keyless authentication between GKE pods and Google Cloud services. Use when setting up pod authentication to Pub/Sub, Cloud SQL, Secret Manager, or other GCP services. Eliminates service account key management, reduces security blast radius, and implements least privilege access patterns. Works with Spring Boot applications and IAM bindings.
Install
npx vskill@latest install dawiddutoit/custom-claude/gcp-gke-workload-identitySKILL.md
GKE Workload Identity
Purpose
Workload Identity enables GKE pods to authenticate to Google Cloud services without managing service account keys. Pods use short-lived, automatically rotated credentials based on IAM bindings between Kubernetes and GCP service accounts.
When to Use
Use this skill when you need to:
- Set up secure authentication from GKE pods to GCP services (Pub/Sub, Cloud SQL, Secret Manager)
- Eliminate service account key management and rotation
- Implement least privilege access with IAM bindings
- Authenticate Spring Boot applications to Google Cloud APIs
- Reduce security blast radius by avoiding static credentials
- Enable Cloud SQL Proxy or Pub/Sub client libraries to authenticate automatically
Trigger phrases: "set up Workload Identity", "GKE authentication", "pod to GCP service auth", "keyless authentication", "Cloud SQL IAM auth"
Table of Contents
- Purpose
- When to Use
- Quick Start
- Instructions
- Step 1: Create Google Cloud Service Account
- Step 2: Create Kubernetes Service Account with Annotation
- Step 3: Bind KSA to GSA
- Step 4: Grant Service Account Required IAM Roles
- Step 5: Update Deployment to Use Service Account
- Step 6: Verify Workload Identity Configuration
- Examples
- Requirements
- See Also
Quick Start
Three simple steps to enable Workload Identity for your application:
Spring Boot automatically detects and uses the pod's credentials (no code changes needed).
Instructions
Step 1: Create Google Cloud Service Account
Create a service account for your application in the GCP project:
Naming Convention: Use {app}-runtime for clarity. For Supplier Charges Hub: app-runtime@ecp-wtr-supplier-charges-labs.iam.gserviceaccount.com
Step 2: Create Kubernetes Service Account with Annotation
Create a Kubernetes Service Account (KSA) in your namespace with the annotation linking it to the GSA:
Apply it:
Key Points:
- KSA name can differ from GSA name, but matching helps clarity
- Namespace must be correct in annotation
- The full GSA email (with
.iam.gserviceaccount.com) is required
Step 3: Bind KSA to GSA (One-Time IAM Setup)
Create the IAM binding that allows the KSA to impersonate the GSA:
Syntax: project.svc.id.goog[namespace/ksa-name] is the principal that gets the role.
Verify:
Step 4: Grant Service Account Required IAM Roles
Give the service account permissions to access the resources your application needs:
Step 5: Update Deployment to Use Service Account
Specify the KSA in your deployment:
Step 6: Verify Workload Identity Configuration
Test that the pod can access GCP services:
Examples
Example 1: Complete Workload Identity Setup for Pub/Sub
Example 2: Spring Boot Application Using Workload Identity
Example 3: Verify Workload Identity is Working
Requirements
- GKE cluster with Workload Identity enabled (enabled by default in Autopilot)
gcloudCLI with appropriate IAM permissionskubectlaccess to the cluster- KSA and GSA created in their respective systems
- IAM role:
roles/iam.securityAdminto create IAM bindings
See Also
- gcp-gke-cluster-setup - Ensure Workload Identity is enabled
- gcp-gke-troubleshooting - Diagnose Workload Identity issues
- gcp-pubsub - Configure Pub/Sub integration
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/gcp-gke-workload-identity/SKILL.md
Popularity
- Repository stars
- 1
- 7-day trend score
- 3
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 26 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/dawiddutoit/custom-claude/gcp-gke-workload-identity)