Каковы минимальные разрешения / роли для учетной записи службы, необходимые для чтения / записи в реестр контейнеров Google?

Я пытаюсь создать роль службы для экземпляра дрона, который создает и отправляет образ докера в реестр контейнеров Google.

Он работает с ролью project>owner (предположительно project>editor тоже подойдет). Мне не удалось найти способ ограничить его только разрешением на отправку в GCR или выяснением минимальных разрешений.

Роли служебного аккаунта


person Stan Bondi    schedule 28.09.2016    source источник


Ответы (1)


Нет разрешения только на то, чтобы отправлять его в GCR. Минимальное разрешение для разрешения push - «Создатель объекта хранилища». И это разрешение также позволяет пользователю писать в Google Cloud Storage, как подсказывает название роли.

Обновление: правильным минимальным разрешением (ролью IAM), чтобы разрешить push, является «Администратор хранилища» в зависимости от текущей реализации.

person Wei    schedule 28.09.2016
comment
К сожалению, в этом есть смысл, но я все еще получаю отказ в разрешении при использовании служебного ключа с ролью Хранилище ›Создатель объектов. Проект ›Редактор работает, но было бы неплохо ограничить область действия ключа JSON. - person Stan Bondi; 03.10.2016
comment
Вам нужно создать корзину, когда вы нажимаете на GCR? Т.е. в имени вашего изображения gcr.io/foo/bar:some_tag - это foo новое ведро, когда вы пытались нажать (или, другими словами, у вас уже есть gcr.io/foo/some_other_image, когда ваша роль службы пыталась нажать gcr.io/foo/bar:some_tag)? - person Wei; 03.10.2016
comment
Ага, репо существует. Тег, очевидно, не имеет, но я сомневаюсь, что это имеет значение. Возможно, мне следует тройной проверки, потому что то, что вы говорите, имеет смысл, так что, возможно, я пропустил что-то глупое. Могу я спросить, тестировали ли вы служебный ключ, чтобы убедиться, что у него есть только это разрешение, и заставили ли его отправить? - person Stan Bondi; 03.10.2016
comment
Привет, Просто чтобы убедиться, что мы не упускаем ничего очевидного, прежде чем тратить время на изучение других возможностей, принадлежат ли репо к тому же домену, когда вы говорите, что репо существует? Т.е. Если у вас уже есть gcr.io/foo/bar:latest, но у вас нет домена ‹.› Gcr.io/foo/xxx images (где домен может быть us, asia, eu), когда вы хотите push ‹domain.› gcr.io/foo/xxx images, только наличия Storage.Object.creator недостаточно, потому что за сценой необходимо создать новую корзину, выделенную для этого домена, и в этом случае вам нужно будет редактор проекта или владелец проекта. - person Wei; 03.10.2016
comment
Ага, всегда использую eu.gcr.io - в Object Creator в разрешении отказано. Я протестирую Storage ›Admin в какой-то момент (немного занят, чтобы вернуться к этому банкомату) и свяжусь с вами. Спасибо за вашу помощь и дайте мне знать, если вы придумаете причину, по которой Object Creator недостаточно. - person Stan Bondi; 04.10.2016