Permissions

GCP 儲存拒絕我訪問 Cloud Storage 上的儲存分區,即使我顯然擁有必要的權限

  • June 14, 2021

我的一位同事創建了一個Google云平台項目,我們希望為其使用雲儲存產品。他們讓我成為 IAM 權限的共同所有者和儲存管理員。根據Google文件,儲存管理員擁有storage.objects.*權限,所以我應該能夠get儲存對象。

我寫了一個簡單的python腳本來下載一些內容如下(僅限虛擬碼):

storage_client = storage.Client()
bucket = storage_client.bucket(BUCKET_NAME)
blob = bucket.blob(source_blob_name)
blob.download_to_filename(destination_file_name)

但是,最後一行會引發錯誤:

google.api_core.exceptions.Forbidden: 403 GET 沒有 storage.objects.get 訪問 Google Cloud Storage 對象。

我在雲控制台中一次又一次地檢查了我的權限,並確保我的GOOGLE_APPLICATION_CREDENTIALS環境變數已定義。為什麼 GCP 拒絕我訪問此儲存桶,我該如何解決?

這裡應用了授予服務帳戶的權限,而不是授予您的權限。

我們使用服務帳戶創建一個 JSON 密鑰,並將密鑰的路徑提供給 GOOGLE_APPLICATION_CREDENTIALS。

我想可能是服務帳戶被刪除或服務帳戶沒有適當的權限。

可能您可以嘗試從中重新創建服務帳戶和 JSON 密鑰並給予適當的許可。

文件供參考。

注意:在授予服務帳戶的文件所有者角色中,該角色提供的權限比服務帳戶所需的權限多。您可以根據需要更改角色。

引用自:https://serverfault.com/questions/1066687