Storage
如何在不停止實例的情況下更改 GCP Compute Engine 上的 Cloud API 訪問範圍
我
gcsfuse
在 Google Compute Engine 內部使用。我用雲儲存桶安裝了一個文件夾,但無法在其中創建任何文件:touch t1
有一個錯誤:
touch: cannot touch 't1': Input/output error
該問題的解決方案是賦予Cloud API 訪問範圍:儲存:讀/寫
如何在不停止實例的情況下更改 GCP Compute Engine 上的 Cloud API 訪問範圍?請為我提供此問題的解決方案。
提前致謝!
您似乎沒有足夠的 GCS 權限。查看. _ _
gcsfuse
如果您在 GCE VM 上使用服務帳戶,請確保設置具有storage-full
訪問範圍的 VM。您可以嘗試以這種方式修復它:
- 創建一個服務帳戶(更多資訊在這裡)
- 為服務帳戶創建一個密鑰,並下載 .json 文件
- 為服務帳戶授予適當的角色
- 向儲存桶上的服務帳戶授予適當的權限
- 將服務帳戶的 .json 憑據上傳到 VM
gcsfuse
從命令行呼叫時,定義一個包含服務帳戶憑據路徑的環境變數:GOOGLE_APPLICATION_CREDENTIALS = /root/credentials/service_credential_file.json gcsfuse bucket_name /my/mount/point
使用該
key_file
選項來完成與此處fstab
記錄的相同的目標。此外,
key_file
即使您已使用以下方式在 VM 上配置了服務帳戶,您也需要使用環境變數或選項:gcloud auth activate-service-account --key-file /root/credentials/service_credential_file.json
如果您仍有問題,請使用您的步驟、命令和完整輸出更新您的問題。