Могу ли я напрямую применить политику IAM GCP к ресурсу

#google-cloud-platform #google-kubernetes-engine #google-iam

#google-cloud-platform #google-kubernetes-engine #google-iam

Вопрос:

Я читаю о политике IAM GCP здесь. Теперь рассмотрим эту иерархию ресурсов.

Допустим, я хочу предоставить разрешение на запуск экземпляра ( compute.instances.start ) «instance_a» для abc@gcp.com и запустите разрешение экземпляра «instance_b», чтобы xyz@gcp.com . Очевидно, что я не могу создать политику IAM (на основе примера объекта политики IAM, упомянутого в статье) в папке «example-test», потому что это не даст мне той детализации, которую я ищу.

Возможно ли достичь такого уровня детализации в GCP?

Ответ №1:

Разрешения наследуются с верхнего уровня (организации) на нижний уровень (ресурс, в вашем примере виртуальная машина). Итак, если вы предоставляете разрешение на уровне проекта (пример-тест), разрешения наследуются во всех ресурсах, принадлежащих проекту (instance_A и instance_B).

Таким образом, вы не можете (легко) достичь того, чего хотите.


Но на самом деле у вас есть возможность добавлять условия для роли IAM. Вы можете добавить условие к имени ресурса или тегу ресурса, например, чтобы разрешить или запретить доступ для пользователя или другого пользователя.

Но используйте условие с умом, отладка проблем с разрешениями IAM может стать кошмаром, если вы смешаете несколько уровней (в иерархии) определения разрешений и разные условия. Постарайтесь, чтобы все было однородным и максимально простым.

Комментарии:

1. Большое спасибо, это было действительно полезно.