3

我啓動了啓用了服務級別帳戶的實例。例如它具有storage-rw設置。我確信這個例子有這些。現在,只要我在實例中運行gsutil ls gs:// my_bucket,就會收到錯誤:Failure:unauthorized_client。在服務級別帳戶權限問題上安裝在gce實例上的gcloud

gcloud權威性列表返回

Credentialed accounts: 
- [email protected] (active) 

我需要使用gcloud SDK從一個實例,因爲我需要比gcutil和其他的gsutil多個組件。

所以我的問題是,我如何授權gcloud使用[email protected]帳戶,從而僅在實例上指定權限,而不是對我的個人用戶帳戶具有完全權限的權限?

+0

是計費狀態活躍在你的項目? – jterrace

+0

它可能是桶級權限問題?僅僅因爲您的服務帳戶有權訪問存儲並不一定會授予存儲區訪問權限。你能從你的實例創建桶嗎? – 2014-03-05 20:23:26

+0

@ user3385351 - 不,我什至不能創建一個桶。相同的錯誤未授權的客戶 – jaran

回答

6

的gcloud CLI肯定處理谷歌Compute Engine的服務帳戶。如果你在$ gcloud auth list處看到它爲「(active)」,那應該就足夠了。

有兩件事情可以出錯怎麼回事:

  1. 您使用了錯誤的gsutil。

    當您安裝Google Cloud SDK時,它將創建google-cloud-sdk/bin/gsutil,並且這是您想要運行的那個。請$ which gsutil複查。如果您正在運行google-cloud-sdk/platform/gsutil/gsutil,那是錯誤的,它不會知道gcloud可以告訴它的任何內容。

  2. 該帳戶沒有權限訪問您要檢查的存儲分區。您必須要求存儲桶的所有者將其添加到擁有該存儲桶的項目中。

來源:工程師的谷歌雲SDK

+0

約翰哪個gsutil返回/ home/web/google-cloud-sdk/bin/gsutil。這看起來不錯。 – jaran

+0

John 1)gsutil返回/ home/web/google-cloud-sdk/bin/gsutil。所以我認爲這看起來不錯。 2)如果我啓動一個實例,並且不安裝gcloud sdk,我可以使用默認的gsutil安裝並將服務權限設置爲讀寫來讀取存儲桶。安裝了雲端sdk後,我無法創建存儲桶或讀取任何存儲桶。我也無法使用gcloud sql實例列表列出cloudsql實例。我驗證了我可以從該實例訪問雲端SQL,並且它的外部IP在雲端服務器上是允許的。實例權限是cloudsql = enabled。 storage =讀寫。謝謝。 – jaran

相關問題