0

我安裝谷歌雲SDK後,當我運行「gcloud auth login」,它提供了我一個鏈接複製粘貼到我的瀏覽器,以獲得新的憑證和驗證我的帳戶。谷歌雲SDK - 自動gcloud身份驗證登錄網站流量

然而,我想設置和遠程機器,其中用戶將不可複製粘貼在瀏覽器中生成的鏈接和所得到的驗證代碼粘貼到在終端上使用gcloud。如何在沒有用戶干預的情況下實現自動化?

我的賬戶是最終用戶帳戶即不是一個服務帳戶。

是否有任何其他的替代要做到這一點,其中使用生成的鏈接在瀏覽器中使用我的本地計算機上,然後使用遠程計算機上的相同的配置,我可以預先驗證我的帳戶?

在此先感謝!

更新基於維拉斯的評論:

我敢肯定,我使用的是正確的JSON密鑰文件,因爲我不修改名稱/從谷歌開發者控制檯下載後的內容。我嘗試從上述命令中移除[email protected]。但仍然得到同樣的錯誤

ERROR: (gcloud.auth.activate-service-account) The .json key file is not in a valid format. Your current active account [[email protected]] does not have any valid credentials.Please run: 

    $ gcloud auth login 

to obtain new credentials, or if you have already logged in with a 
different account: 

    $ gcloud config set account ACCOUNT 

to select an already authenticated account to use. 

Your current active account [[email protected]] does not have any valid credentials 
Please run: 

    $ gcloud auth login 

to obtain new credentials, or if you have already logged in with a 
different account: 

    $ gcloud config set account ACCOUNT 

to select an already authenticated account to use. 
+0

爲什麼你就不能爲項目創建一個服務帳戶? – Vilas

+0

創建一個服務帳戶並下載了json密鑰文件。然後我運行了這個命令 - $ gcloud auth activate-service-account [email protected] --key-file client-service-account-client-2.json。出現錯誤:錯誤:(gcloud.auth.activate-service-account).json密鑰文件的格式不正確。 – activelearner

+0

你確定你使用正確的json密鑰文件嗎?另外,當您提供json密鑰文件時,您不需要提供[email protected]。他們的密鑰文件中有帳戶。 – Vilas

回答

3

這裏有一個快速檢查,看看是否有合適的--key文件上傳.json文件:它必須包含一個client_email場/屬性。

+0

我的.json文件中沒有client_email字段。以下是.json文件的內容 - {「installed」:{「client_id」:「xxxxxxx-yyyyyyy.apps.googleusercontent.com」,「project_id」:「dev」,「auth_uri」:「https:// accounts .google.com/O /的oauth2/AUTH 「 」token_uri「: 」https://accounts.google.com/o/oauth2/token「, 」auth_provider_x509_cert_url「:」 https://www.googleapis.com/oauth2/v1/certs「}} – activelearner

+0

什麼可能是一種可能的解決方法?由於我從Google開發者控制檯下載該文件,因此.json文件的生成超出了我的控制範圍! – activelearner

0

我有同樣的問題,關鍵是沒有顯示任何電子郵件地址,所以我產生在開發者控制檯服務帳戶一個新的密鑰,並用電子郵件地址創建。