2017-08-18 78 views
0

這似乎是一個以前已經回答的問題,但我沒有任何其他答案的運氣,所以我打開了一個新問題。如何使用服務帳戶連接到雲端SQL實例?

我正在使用python腳本並創建/配置數據庫並使用cloud_sql_proxy連接到它。該腳本精美運行,如果我不提供cloud_sql_proxy服務帳戶憑據,但如果我那麼做,我得到這樣的:

2017/08/18 15:34:12 using credential file for authentication; [email protected] 
 
2017/08/18 15:34:12 Listening on 127.0.0.1:3306 for project:zone:instance 
 
2017/08/18 15:34:12 Ready for new connections 
 
2017/08/18 15:34:12 New connection for "project:zone:instance" 
 
2017/08/18 15:34:13 couldn't connect to "project:zone:instance": 
 
ensure that the account has access to "project:zone:instance" 
 
(and make sure there's no typo in that name). 
 
Error during createEphemeral for project:zone:instance: 
 
googleapi: Error 403: The client is not authorized to make this request., notAuthorized

這不是一個INSTANCE_CONNECTION_NAME問題,因爲它工作正常,當我沒有服務帳戶進行身份驗證:

2017/08/18 15:38:32 Listening on 127.0.0.1:3306 for project:zone:instance 
 
2017/08/18 15:38:32 Ready for new connections 
 
2017/08/18 15:38:32 New connection for "project:zone:instance" 
 
Connection established.

我已經嘗試了許多不同類型的服務帳戶角色:SQLclient + SQLAdmin,SQLclient + SQLAdmin + ProjectEditor等。

任何想法?我很難過。

+0

是否與Cloud SQL實例在同一項目中的服務帳戶? – Vadim

回答

0

我發現了這個問題。我原本沒有管理員訪問此項目的IAM。在獲得管理員權限後,我可以將服務帳戶添加到IAM頁面。這解決了這個問題,雖然我仍然得到一個有趣的400錯誤抱怨我的JWT簽名是無效的。

UPDATE:

我發現我的證書文件的祕密是我相同的服務帳戶進行第二證書文件(您可以爲服務帳戶不止一個鍵)。在更新密鑰以使用正確的密鑰後,我能夠使我的部署工作。

相關問題