簡體   English   中英

無法從 App Engine 標准環境連接到 Google 雲 SQL

[英]Cannot connect to Google cloud SQL from App Engine Standard Environment

我最近將我的代碼切換到另一個項目。 我使用官方文檔中提到的 Public IP 方法,但無濟於事。

在日志瀏覽器中,我看到了很多警告條目 state:

CloudSQL 警告:需要您的操作來更新您的應用程序並避免潛在的中斷。 有關更多詳細信息,請參閱https://cloud.google.com/sql/docs/mysql/connect-app-engine-standard

發布https://sqladmin.googleapis.com/sql/v1beta4/projects/<PROJECT_ID>/instances/asia-east1~<CLOUD_SQL_INSTANCE>:generateEphemeralCert?alt=json&prettyPrint=false :rpc 錯誤:code = PermissionDenied desc = IAM 權限被拒絕對於服務帳戶 gae-deploy@<PROJECT_ID>.iam.gserviceaccount.com。

我已經確認和檢查的事情:

  • 新雲SQL和app engine在同一個項目
  • Cloud SQL Admin API已啟用
  • App Engine 區域為asia-east1 (與雲 SQL 區域相同)
  • App Engine 服務帳戶和 GAE 雲部署帳戶具有Cloud SQL Admin角色
  • 默認服務帳戶[PROJECT_ID]@appspot.gserviceaccount.com具有以下角色:
    • Cloud SQL AdminEditorService Account Token CreatorStorage Object Admin
  • 創建的服務帳戶gae-deploy@<PROJECT_ID>.iam.gserviceaccount.com具有以下角色:
    • App Engine Service AdminCloud Build Service AccountCloud SQL AdminCloud SQL ClientServerless VPC Access UserService Account User

根據文檔, Cloud SQL Client角色就足夠了。 但是日志一直告訴我服務帳戶無法訪問雲 sql admin API。

我究竟做錯了什么? 或者我應該向服務賬戶授予哪些額外的 IAM 角色?

我已嘗試過此 github 線程評論中提到的類似步驟。 我完成的步驟:

  • 刪除默認應用引擎服務帳戶[PROJECT_ID]@appspot.gserviceaccount.comgae-deploy@<PROJECT_ID>.iam.gserviceaccount.com所有角色
  • 添加相同的角色
  • 重建應用引擎

現在一切如常

暫無
暫無

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

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