9

Я пытаюсь разрешить анонимный (или только из моего домена приложения) доступ для чтения файлов в моем ковше.Разрешить публичный доступ для чтения в ведро GCS?

При попытке чтения файлов я получаю

`` `

<Error> 
    <Code>AccessDenied</Code> 
    <Message>Access denied.</Message> 
    <Details> 
     Anonymous users does not have storage.objects.get access to object. 
    </Details> 
</Error> 

` ``

Я также попытался добавить домен с диалоговым разрешения объекта по умолчанию в облаке Google консоль. что дает мне ошибку «Одно из ваших прав недействительно. Убедитесь, что вы вводите авторизованный идентификатор или адрес электронной почты для групп и пользователей и домен для доменов»

Я также изучил создание ACL для ведра public-read. Моя единственная проблема заключается в том, что он удаляет мое владение над ведром. Мне нужно иметь эту собственность, так как я хочу разрешить загрузку с определенного идентификатора доступа Google.

ответ

18

Вы можете использовать gsutil, чтобы новые объекты, созданные в ведре, были общедоступны без удаления вашего права собственности. Для того, чтобы новые объекты, созданные в ведре публично читаемом:

gsutil defacl ch -u AllUsers:R gs://yourbucket

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

gsutil acl ch -u AllUsers:R gs://yourbucket/**

+0

Спасибо , Как насчет ограничения домена? –

+0

Вы можете использовать домены: см. «Gsutil help acl ch». В частности, см. Раздел, в котором говорится: Группы также могут быть указаны как полный домен, как в "-g my-company.com:r" –