Permissions
GCP - 權限屬於哪個角色?
我不明白為什麼 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.etc
或someThingsNotRight
-如何辨識正確的角色名稱時,處理 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