我正在尝试将我的Google Service账户(GSA)与Kubernetes Service账户(KSA)绑定,以便我可以从Google Kubernetes Engine(GKE)连接到我的Cloud SQL数据库。我目前正在使用Google文档提供的以下指南(https://cloud.google.com/sql/docs/sqlserver/connect-kubernetes-engine)。
目前,我在GKE上运行了一个名为MY_CLUSTER
的集群,一个具有正确Cloud SQL权限的GSA,名称为MY_GCP_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
,以及一个名为MY_K8S_SERVICE_ACCOUNT
的KSA。我现在正在尝试使用以下命令将这两个账户绑定。
gcloud iam service-accounts add-iam-policy-binding \
--member "serviceAccount:PROJECT_ID.svc.id.goog[K8S_NAMESPACE/MY_K8S_SERVICE_ACCOUNT]" \
--role roles/iam.workloadIdentityUser \
MY_GCP_SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com
然而,当我运行前面的命令时,我收到以下错误消息。
ERROR: Policy modification failed. For a binding with condition, run "gcloud alpha iam policies lint-condition" to identify issues in condition.
ERROR: (gcloud.iam.service-accounts.add-iam-policy-binding) INVALID_ARGUMENT: Identity Pool does not exist (PROJECT_ID.svc.id.goog). Please check that you specified a valid resource name as returned in the `name` attribute in the configuration API.
当我尝试将我的GSA绑定到我的KSA时,为什么会出现这个错误?