Условие роли GCP IAM на основе части имени ресурса - PullRequest
0 голосов
/ 16 апреля 2020

Я бы хотел отфильтровать доступные пользователю ресурсы по их имени. Поэтому я попытался использовать условия роли GCP IAM.

Но единственная функция, которая, по-видимому, доступна на resource.name, - это setsWith (), endWith () или extract (), говоря о linter и найденном примере. , В определении языка CEL (https://github.com/google/cel-spec/blob/master/doc/langdef.md) содержится () или совпадает (), но я не могу использовать его в консоли GCP, линтер отказывается от него.

Для ясности в контексте тот же проект содержит ресурсы для производственных и непроизводственных сред, и я хотел бы предоставить права людям, не предоставляя им доступ к производственным. Производственные ресурсы именуются шаблоном -prod- .

Есть ли другой способ установить условие роли IAM на основе части имени ресурса?

1 Ответ

1 голос
/ 16 апреля 2020

Если мы посмотрим на справочную документацию для условий IAM ... в частности ссылки на атрибуты, найденные здесь:

https://cloud.google.com/iam/docs/conditions-attribute-reference

, мы находим, что для каждой записи есть набор "поддерживаемых операторов". Похоже, что только те операторы, которые поддерживаются.

Например, если мы посмотрим на атрибут resource.name , мы увидим, что он перечисляет:

  • начинается с
  • заканчивается с
  • извлекать
  • ==
  • ! =

Что это кажется скажите мне, что операторы явно определены, и это не просто линтер, а фактическое значение c, которое ограничивает то, что можно сделать. Лучшее, что мы можем сделать, - это запросить в Google запрос на добавление новых функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...