簡體   English   中英

GKE / Cloud IAM 工作負載身份設置錯誤 403

[英]GKE / Cloud IAM workload Identity setup error 403

我們已經為我們的一個基於 Java / Tomcat 的應用程序設置了一個 CloudSQL 代理作為 sidecar 容器。

以下是我們如何設置工作負載標識以讓我們的應用程序能夠通過 cloudsql 代理連接到 CloudSQL:

  1. 創建 Cloud IAM 服務帳戶並授予它 SQL 客戶端權限:

  2. 設置策略綁定如下:

     gcloud iam service-accounts add-iam-policy-binding \\ --role roles/iam.workloadIdentityUser \\ --member "serviceAccount:[PROJECT_ID].svc.id.goog[default/default]" \\ [GSA_NAME]@[PROJECT_ID].iam.gserviceaccount.com
  3. 向 GKE 服務帳戶添加了注釋:

     kubectl annotate serviceaccount \\ --namespace [K8S_NAMESPACE] \\ [KSA_NAME] \\ iam.gke.io/gcp-service-account=[GSA_NAME]@[PROJECT_ID].iam.gserviceaccount.com
  4. 但是當我們使用以下方法測試時:

     kubectl run --rm -it \\ --generator=run-pod/v1 \\ --image google/cloud-sdk:slim \\ --serviceaccount [KSA_NAME] \\ --namespace [K8S_NAMESPACE] \\ workload-identity-test

盡管按照此頁面上的說明正確執行了所有操作,但仍會導致:

Error 403: The client is not authorized to make this request., notAuthorized

事實證明,Google Cloud IAM 中存在一個似乎影響服務帳戶的故障

  1. 刪除在步驟 1 中創建的現有 Cloud IAM 服務帳號以及與其關聯的角色。
  2. 再次重新創建服務帳戶(具有相同的考試權限)

這應該解決問題。 當然,您必須再次重做第 2 步和第 3 步才能完成設置,但它可以工作。

暫無
暫無

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

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