Skip to content

INST-23232 - Document ServiceAccountNodeAudienceRestriction for GKE Workload Identity#81

Open
nagarajuv-jfrog wants to merge 1 commit into
mainfrom
feature/INST-23232
Open

INST-23232 - Document ServiceAccountNodeAudienceRestriction for GKE Workload Identity#81
nagarajuv-jfrog wants to merge 1 commit into
mainfrom
feature/INST-23232

Conversation

@nagarajuv-jfrog

Copy link
Copy Markdown

Summary

  • Updates GCP.md Option B (Workload Identity) to use <PROJECT_ID>.svc.id.goog as jfrog_oidc_audience instead of the generic artifactory string, aligning with the GKE Workload Identity pool identifier
  • Adds new Step 3B.5 documenting the ServiceAccountNodeAudienceRestriction feature gate (enabled by default in Kubernetes 1.33+), which restricts the Kubelet from requesting projected tokens for arbitrary audiences — and the ClusterRole required to authorize it
  • Fixes pre-existing inaccuracies in the Option B flow description and mermaid diagram: the K8s JWT is sent directly to Artifactory (no GCP STS exchange step), and the kubelet audience is jfrog_oidc_audience, not the hardcoded identityconfig.googleapis.com
  • Updates examples/gcp-projected-service-account-values.yaml audience and adds a comment explaining why rbac.create: true is required for K8s 1.33+
  • Corrects the helm/values.yaml RBAC comment, which incorrectly stated RBAC was only needed for AWS

Files changed

File Change
GCP.md New Step 3B.5, corrected audience throughout, fixed mermaid diagram and all Option B flow descriptions
examples/gcp-projected-service-account-values.yaml jfrog_oidc_audience: "<PROJECT_ID>.svc.id.goog", added rbac.create: true comment
helm/values.yaml Fixed RBAC comment to include GCP and K8s 1.33+ context

Test plan

  • Verify jfrog_oidc_audience: "<PROJECT_ID>.svc.id.goog" in the example values file renders correctly via helm template
  • Confirm the ClusterRole YAML in Step 3B.5 is valid Kubernetes RBAC manifest
  • Review Option B mermaid diagram renders correctly in GitHub markdown preview
  • Validate against a GKE cluster running Kubernetes 1.33+ with ServiceAccountNodeAudienceRestriction enabled

Closes INST-23232

…orkload Identity

Update GCP.md and example values to use <PROJECT_ID>.svc.id.goog as the
jfrog_oidc_audience for Option B (Workload Identity / KEP-4412). Add Step 3B.5
documenting the ServiceAccountNodeAudienceRestriction feature gate (enabled by
default in Kubernetes 1.33+) and the ClusterRole required to grant system:nodes
permission to request projected tokens for this audience. Correct the RBAC
comment in values.yaml which incorrectly stated RBAC was only needed for AWS.
@nagarajuv-jfrog nagarajuv-jfrog requested review from a team, RobinDuhan and oumkale June 3, 2026 04:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant