#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. Большое спасибо, это было действительно полезно.