Разрешение Google Cloud Storage AllUsers не работает

Я пытаюсь создать ведро с разрешениями на чтение / запись для ведра / объектов для определенных пользователей и разрешениями на чтение для объектов только для всех пользователей.

I've:

  • создал ведро,
  • добавил это в список acl по умолчанию:
<Entry>
    <Scope type="AllUsers"/>
    <Permission>
        READ
    </Permission>
</Entry>

через: gsutil setdefacl <f> gs://bucket

  • добавил объект (test.png)

Теперь я пытаюсь получить к нему доступ из браузера с URL-адресом http[s]://storage.cloud.google.com/bucket/test.png, но он переводит меня на страницу входа в учетную запись Google. Когда я вхожу в систему с помощью другого аккаунта Google (не того, что я использовал для создания проекта / ведра / объекта), для которого не установлены явные права, он показывает рис.

gsutil getacl на новом объекте показывает, что разрешение READ существует для AllUsers, но работает как AllAuthenticatedUsers.

Есть идеи, что делать с разрешениями, чтобы они работали должным образом?


person tuxSlayer    schedule 12.12.2012    source источник


Ответы (1)


Когда вы говорите, что добавили эту запись в ACL по умолчанию, вы имеете в виду, что добавили ее как элемент в AccessControlList.Entries, верно? Довольно сложно понять, что произошло, не увидев полного текста ACL.

Но также, поскольку вы делаете объекты общедоступными (разрешение READ предоставлено для области AllUsers), вам не нужны дополнительные области в ACL объекта по умолчанию для корзины; вы могли бы просто сделать:

gsutil setdefacl public-read gs: // bucket

а затем загружать объекты в ведро.

Я понимаю, что вы хотите предоставить разрешение на чтение / запись для определенных пользователей, но разрешение на запись контролируется ACL сегмента, а не ACL объекта (и, следовательно, также не ACL объекта по умолчанию в корзине).

Попробуйте выполнить описанное выше и сообщите нам, если вам по-прежнему не удается получить доступ к объектам через браузер без предварительной аутентификации.

Майк Шварц, команда Google Cloud Storage

person Mike Schwartz    schedule 12.12.2012
comment
Спасибо за совет. Похоже, я все сделал правильно с разрешениями, но использовал неправильный базовый URL. Как-то отлично работает с storage.googleapis.com/bucket/file - person tuxSlayer; 12.12.2012