Назад | Перейти на главную страницу

В доступе отказано 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

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

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

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.