File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed
modules/meshcloud-kraken-service-account Expand file tree Collapse file tree 1 file changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -68,3 +68,12 @@ resource "google_service_account_iam_member" "kraken" {
68
68
role = " roles/iam.workloadIdentityUser"
69
69
member = " principal://iam.googleapis.com/${ var . workload_identity_federation . pool_id } /subject/${ var . workload_identity_federation . subject } "
70
70
}
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
+ }
You can’t perform that action at this time.
0 commit comments