解決GCP執行個體排程的權限錯誤
要執行該操作GCP中的執行個體的自動開啟以及自動關閉,您需要給予 Compute Engine System service account(服務帳戶) compute.instances.start
和 compute.instances.stop
權限。
錯誤訊息
Compute Engine System service account [email protected] needs to have [compute.instances.start,compute.instances.stop] permissions applied in order to perform this operation.
以下是需要採取的步驟:
找到 Compute Engine System Service Account
打開 Google Cloud Console。
導航到「IAM & Admin」-> 「IAM」。
在右側的窗口中,勾選「Include Google-provided role grants」(包含 Google 提供的角色授權)。
使用搜尋欄 (Ctrl + F) 並輸入「compute-system」找到服務帳戶。服務帳戶的 email 格式為 [email protected]
。
添加權限
點擊服務帳戶旁邊的鉛筆圖示來編輯。
點擊「ADD ANOTHER ROLE」(新增另一個角色)。
在角色過濾器中,輸入「compute」,並選擇:
Compute Instance Admin (v1) – roles/compute.instanceAdmin.v1
或是更精細的權限如 roles/compute.instanceAdmin
、roles/compute.osAdminLogin
。
點擊「SAVE」(儲存)。
等待權限生效:
新權限生效可能需要幾分鐘。
重要注意事項:
- Compute Engine System Service Account 是一個由 Google 管理的特殊服務帳戶,允許 Compute Engine 在您的專案裡進行必要的配置。避免賦予過廣的權限。
- 如果您只是需要啟動和停止 VM 的權限,選擇更精細的權限來降低風險。
- 徹底瞭解要賦予的權限,以及它們可能產生的影響。Google Cloud 的 IAM 文件: https://cloud.google.com/iam/docs/ 提供了角色與權限的詳細說明。
如果是在使用像 Cloud Scheduler 這類的服務來啟動或停止 VM,那麼就是該服務所使用的服務帳戶需要這些權限。
近期留言