簡體   English   中英

如何在 Terraform 中創建 GCP 工作負載身份 IAM 綁定?

[英]How to create the GCP workload identity IAM bindings in Terraform?

GCP 允許 Kubernetes 服務賬戶通過在兩個服務賬戶之間添加 IAM 策略綁定來模擬 IAM 服務賬戶。 此綁定允許 Kubernetes 服務賬戶充當 IAM 服務賬戶。

gcloud iam service-accounts add-iam-policy-binding GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com \
    --role roles/iam.workloadIdentityUser \
    --member "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME]"

我們想通過 Terraform 資源創建相同的內容,我們嘗試過這種方式,請參閱: 文章

resource "google_service_account_iam_binding" "service-account-iam" {
  service_account_id = "GSA_NAME@GSA_PROJECT.iam.gserviceaccount.com"
  role               = "roles/iam.workloadIdentityUser"
  members = [
    "serviceAccount:PROJECT_ID.svc.id.goog[NAMESPACE/KSA_NAME]",
  ]
}

但我們收到以下錯誤:

錯誤:“service_account_id”(“XXX@XXX.iam.gserviceaccount.com”)不匹配正則表達式“projects/(?:(?:[-a-z0-9]{1,63}\.) (? :az?):)?(?:[0-9]{1,19}|(?:a-z0-9?)|-)/serviceAccounts/((?:(?:[-a-z0- 9]{1,63}\.) (?:az?):)?(?:[0-9]{1,19}|(?:a-z0-9?))@[az]+. gserviceaccount.com$|[0-9]{1,20}-compute@developer.gserviceaccount.com|az@[-a-z0-9\.]{1,63}\.iam\.gserviceaccount\.com $)"

這里有什么問題?

service_account_id是要應用策略的服務帳戶的完全限定名稱。

projects/PROJECT_ID/serviceAccounts/SERVICE_ACCOUNT_EMAIL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM