GCP – какой роли принадлежит разрешение?
Я не могу понять, почему так сложно понять использование IAM. Например, я пытаюсь создать расписание для экземпляра виртуальной машины. Когда я добавляю экземпляр в расписание, я получил:
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
Я являюсь владельцем аккаунта и всех проектов.
Что мне с этим делать?
Вообще говоря, какова процедура работы с разрешениями GCP, когда они выражаются какsometh.the.other.etc
илиsomeThingsNotRight
- как определить правильное имя роли?
1 ответ
Чтобы определить роль, которая имеет Compute.instances.start и Compute.instance.stop, вы можете перейти к списку ролей и отфильтровать их по этим разрешениям (введите одно в поле фильтра)[1]. В результате будет создано около дюжины различных ролей с необходимыми разрешениями, но эти роли по умолчанию будут либо очень широкими с точки зрения количества разрешений (владелец, редактор, администратор вычислений), либо предназначены для других задач, не связанных с тем, что вы пытаетесь сделать (агент службы Cloud Dataflow, агент службы Kubernetes Engine).
В вашем случае вы можете просто создать новую роль (назовите ее примерно так: «Планировщик экземпляров») [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