Доступ запрещен 403 при попытке загрузки с Google Cloud Platform, но у пользователя есть все права доступа

Мы просто пытаемся использовать gsutil из командной строки для загрузки некоторых данных DCM с Google Cloud Platform:

gsutil -m cp -R gs://dcdt_-dcm_account75701/dcm_account75701_activity_201803* C:\Users\[omissis]\Desktop\ImprData

Мы получаем сообщение об ошибке ниже, похоже на проблему с доступом, но мы убедились, что в облачной консоли был предоставлен весь правильный доступ.

AccessDeniedException: 403 [omissis] does not have storage.objects.list access to dcdt_-dcm_account75701. 
CommandException: 1 file/object could not be transferred

Кто-нибудь знает, что это может быть?

1 ответ

Похоже, вы копируете несколько объектов, используя подстановочный знак:

dcm_account75701_activity_201803*

Чтобы это работало, вы должны предоставить своему пользователю также привилегию storage.objects.list, а не только привилегию storage.objects.get.

Чтобы убедиться в этом, замените dcm_account75701_activity_201803*с полным именем одного из объектов в dcdt_-dcm_account75701 ведро.

РЕДАКТИРОВАТЬ: обратите внимание, что storage.buckets.list а также storage.objects.list две разные привилегии. Первый позволяет вам перечислить все группы, принадлежащие вашему проекту, а второй (которого вам не хватает) позволяет перечислить объекты внутри корзины.

Согласно руководству пользователя:

https://cloud.google.com/storage/docs/access-control/iam-roles

будучи владельцем, вы получаете привилегии storage.buckets.*, а не привилегии storage.objects.*. Возможно, вы захотите предоставить роль storage.objectAdmin своему пользователю.

Другие вопросы по тегам