Permissions

GCP - 權限屬於哪個角色?

  • July 3, 2021

我不明白為什麼 IAM 的使用如此難以理解。例如,我正在嘗試為 VM 實例創建計劃。當我將實例添加到計劃時,我得到:

Compute Engine System service account service-xxxxxxxxxx@compute-system.iam.gserviceaccount.com
needs to have [compute.instances.start,compute.instances.stop] permissions applied in order to perform this operation

我在 IAM 中找到了該帳戶,但我不知道這些東西屬於哪個角色。我應該添加哪個角色來實現這一目標。

如果我嘗試gcloud我得到錯誤:

gcloud projects add-iam-policy-binding general-123456 \
   --member=user:service-xxxxxxxxxxxx@compute-system.iam.gserviceaccount.com --role=roles/compute.instances.start

ERROR: (gcloud.projects.add-iam-policy-binding) User [xxxxxx] does not have permission to access projects instance [general-123456:getIamPolicy] (or it may not exist): The caller does not have permission

我是帳戶和所有項目的所有者。

我該怎麼辦?

一般來說,當他們表達喜歡someth.the.other.etcsomeThingsNotRight-如何辨識正確的角色名稱時,處理 GCP 權限的程序是什麼?

要找出具有 compute.instances.start 和 compute.instances.stop 的角色,您可以轉到角色列表並按這些權限進行篩選(在篩選框中鍵入一個)

$$ 1 $$. 這將產生大約十幾個具有所需權限的不同角色,但這些預設角色將在權限數量方面非常廣泛(所有者、編輯者、計算管理員)或為其他任務而設計,與什麼無關您正在嘗試做(Cloud Dataflow 服務代理、Kubernetes Engine 服務代理)。 在您的情況下,您可以創建一個新角色(將其命名為 Instance Scheduler)

$$ 2 $$並僅分配這兩個權限,然後將角色綁定到您的服務帳戶。 $$ 1 $$ https://cloud.google.com/iam/docs/creating-custom-roles#getting_the_role_metadata

$$ 2 $$ https://cloud.google.com/iam/docs/creating-custom-roles#creating_a_custom_role

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