簡體   English   中英

Google Cloud Storage - 權限不足

[英]Google Cloud Storage - insufficient permission

這個問題似乎與另一個帖子相似,但對我來說卻不同。 因為我檢查了testIamPermission ,結果顯示我獲得了所需的所有權限,但仍然沒有獲得足夠的權限

這是我收到的:

{'storage.buckets.get' : true}
{'storage.buckets.getIamPolicy' : true}
{'storage.objects.create' : true}
{'storage.objects.delete' : true}
{'storage.objects.get' : true}
{'storage.objects.getIamPolicy' : true}
{'storage.objects.list' : true}
{'storage.objects.setIamPolicy' : true}
{'storage.objects.update' : true}

我用來測試的代碼:

googleBucket.iam.testPermissions([testPermissions], function(err, permissions) {
  if(!err)
    console.log(permissions);
  })

我錯過的權限:

'storage.buckets.create',
'storage.buckets.delete',
'storage.buckets.list',
'storage.buckets.setIamPolicy',
'storage.buckets.update',

我獲得了創建對象的所有權限,但仍然拋出的權限不足,這真的很困惑。 我用於 api 的只是在存儲桶上上傳文件。 我錯過了任何許可嗎? (服務器位於 Google Compute Engine,在 Google Cloud Storage 的同一個項目上)

哪個用戶運行腳本會很有趣。

因為,運行腳本的用戶/服務似乎只有viewer ,而沒有editor角色。 檢查IAM ,如果您已將適當的角色分配給適當的服務帳戶。 您可能還需要使用 cloud shell 登錄到該GCE實例並添加這些服務帳戶憑據。 在雲外殼中,右上角有一個很小的“上傳”按鈕,可用於將憑據json文件上傳到 VM。 文檔也逐步解釋了這一點。

我已經准確地找到了答案。 創建新實例頁面中有一個名為Identity and API Access的選項。 只需從默認切換到任何訪問選項(正確配置,tho),問題就解決了!

對於Martin Zeitler提供的答案,這不是 GCE 運行腳本的作用,GCE 自動將其電子郵件連接到另一個 API 作為編輯器權限,無需將任何 json 掛接到 GCE 上建立的實例。 正如我提到的,服務器位於 Google Compute Engine,在 Google Cloud Storage 的同一個項目上

然而, 文檔鏈接相當有幫助,感謝Martin Zeitler ,給你一個快速回答的贊:)

您的Google Cloud Compute Engine實例的服務帳戶應與用於訪問Google Cloud Storage Bucket 的帳戶相匹配。

如果不匹配,請停止實例,通過從下拉框中選擇正確的服務帳戶來更改服務帳戶(僅鏈接到當前項目的服務帳戶將在下拉列表中可見)。

此外,請確保所選服務帳戶具有正確的 Google Cloud Storage 訪問權限。

暫無
暫無

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

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