Skip to content

Commit b8b64e8

Browse files
committed
fix: also allow token creation for kraken SA
1 parent 647586f commit b8b64e8

File tree

1 file changed

+9
-0
lines changed
  • modules/meshcloud-kraken-service-account

1 file changed

+9
-0
lines changed

modules/meshcloud-kraken-service-account/module.tf

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,12 @@ resource "google_service_account_iam_member" "kraken" {
6868
role = "roles/iam.workloadIdentityUser"
6969
member = "principal://iam.googleapis.com/${var.workload_identity_federation.pool_id}/subject/${var.workload_identity_federation.subject}"
7070
}
71+
72+
# Cloud functions must be called with ID tokens but after impersonation we only have an access token and must explicitly create an ID token.
73+
resource "google_service_account_iam_member" "kraken_id_token" {
74+
for_each = var.workload_identity_federation == null ? {} : { 0 = "roles/iam.serviceAccountOpenIdTokenCreator", 1 = "roles/iam.serviceAccountTokenCreator" }
75+
76+
service_account_id = google_service_account.meshcloud_kraken_sa.id
77+
role = each.value
78+
member = "serviceAccount:${google_service_account.meshcloud_kraken_sa.email}"
79+
}

0 commit comments

Comments
 (0)