Мы просто пытаемся использовать 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
Кто-нибудь знает, что это может быть?
Похоже, вы копируете несколько объектов с помощью подстановочного знака:
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.