2016-10-06 23 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頭)

在鬥我有從原產地允許GET請求設置適當的CORS: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我可以在CORS請求中的網絡面板中看到302重定向,它將重定向到accounts.google.com進行身份驗證,但har-viewer加載失敗。

的問題是storage.googleapis.com可以CORS進行訪問,但只有當ACL設置與所有:可讀,所有世界各地的匿名可讀;

與storage.cloud.google.com它是基於cookie的,可以設置ACL是可讀的,只認證的@ my-domain.com的用戶,不與世界各地的匿名讀取;但此URL是對xxxx.googleusercontent.com/path/to/my-bucket/my-objkeyname?qk=some-long-signed-string的重定向,不支持CORS。

有沒有什麼建議如何與CORS設計ACL?感謝

回答

0

的問題是storage.googleapis.com可以用CORS訪問,但只有當ACL設置與所有:可讀,所有世界各地的匿名可讀;

與storage.cloud.google.com它是基於cookie的,可以設置ACL是可讀的,只認證的@ my-domain.com的用戶,不與世界各地的匿名讀取;但此URL是對xxxx.googleusercontent.com/path/to/my-bucket/my-objkeyname?qk=some-long-signed-string的重定向,不支持CORS。

有什麼建議如何設計ACL與CORS?謝謝

相關問題