2016-10-06 2 views
0

Я использую облачное хранилище для обслуживания многих файлов JSON, для совместного использования ресурсов между разными источниками; но я обнаружил, что мне нужно установить ACL, чтобы пользователи могли читать ВСЕ?Как настроить правильный ACL, чтобы пользователи из домена были только для CORS

https://cloud.google.com/storage/docs/cross-origin

До сих пор я понял, два способа доступа к этим ресурсам:

  1. https:// storage.googleapis.com /my-bucket/my-full-keyname.json
  2. https:// storage.cloud.google.com /my-bucket/my-full-keyname.json (печенье на основе, будет перенаправлять accounts.google.com для аутентификации и перенаправления xxx.googleusercontent.com/...? выглядит как подписанный URL-адрес, но ответ не имеет заголовка CORS)

На ведро у меня есть настройки правильные CORS с предоставлением запроса GET от происхождения: HTTP: // www.softwareishard.com

http://www.softwareishard.com/har/viewer/?path=https://storage.googleapis.com/my-bucket/my-full-keyname.json

, но проблема в том, я нашел единственный способ это может работать, я установка все читаемые ACL; но некоторые из файлов являются конфиденциальными. Я не хочу читать по всему миру;

со вторым видом доступа к url ​​по https:// storage.cloud.google.com/my-bucket/my-full-keyname.json Я могу настроить ACL как gsutil acl ch -g my-domain.com:r gs://my-bucket/my-full-keyname.json здесь my-domain.com является размещенным доменом в Google Apps, поэтому он работает с ограниченным доступом только к аутентифицированным пользователям my-domain.com. Проблема с https:// storage.cloud.google.com не поддерживается над CORS. Попытка загрузить http:// www.softwareishard.com /har/viewer/?path=https:// storage.googleapis.com/my-bucket/my-full-keyname.json Я вижу перенаправление 302 в Network Panel в запросе CORS, он перенаправляет на accounts.google.com для аутентификации, но har-viewer просто не загружается.

вопрос: storage.googleapis.com можно получить с помощью CORS, но только когда ACL установлен с помощью All: Readable, во всем мире анонимно читаемый;

с storage.cloud.google.com это основанный на файлах cookie файл, который может быть доступен для чтения только для аутентифицированных пользователей @ my-domain.com, а не для анонимного чтения во всем мире; но этот URL-адрес перенаправляется на xxxx.googleusercontent.com/path/to/my-bucket/my-objkeyname?qk=some-long-signed-string и не поддерживает CORS.

Есть ли какой-либо совет по проектированию ACL с CORS? спасибо

ответ

0

Вопрос: storage.googleapis.com можно получить с помощью CORS, но только когда ACL установлен с помощью All: Readable, во всем мире анонимно читаемым;

с storage.cloud.google.com это основанный на файлах cookie файл, который может быть доступен для чтения только для аутентифицированных пользователей @ my-domain.com, а не для анонимного чтения во всем мире; но этот URL-адрес перенаправляется на xxxx.googleusercontent.com/path/to/my-bucket/my-objkeyname?qk=some-long-signed-string и не поддерживает CORS.

Есть ли какой-либо совет по проектированию ACL с CORS? спасибо