[英]Access private content via query string to s3 bucket via Route53 A record
我正在嘗試使用具有指定生存時間的查詢字符串來限制對S3存儲桶中存儲的文件資源的訪問,(如此處所述, http://birkoff.net/blog/amazon-s3-query-string-authentication-using -php / )到我的存儲桶的別名。 例如在Route53我有類型別名A記錄,securefiles.mysite.com指向S3別名securefiles.mysite.com.s3-website-ap-southeast-2.amazonaws.com。
這對於使用標准S3地址尋址的文件非常有效: securefiles.mysite.com.s3-ap-southeast-2.amazonaws.com/privateresource.png?biglongquerystring或securefiles.mysite.com.s3.amazonaws.com /privateresource.png?biglongquerystring,但是當我嘗試使用較短的securefiles.mysite.com/privateresource.png?biglongquerystring鏈接時,它失敗並顯示403,訪問被拒絕消息。
為了調查起見,我編輯了存儲桶策略以允許所有用戶訪問所有存儲桶資源
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::securefiles.mysite.com/*"
}
]
}
現在,查詢字符串適用於較短的地址,但由於所有用戶現在都可以訪問,因此不再安全。
我也嘗試過“不啟用網站托管”到我的存儲桶,這對於完整的S3地址, securefiles.mysite.com.s3.amazonaws.com / privateresource.png?biglongquerystring仍然可以正常工作,但是在尋址時失敗,出現404 NoSuchWebsiteConfiguration較短的securefiles.mysite.com/privateresource.png?biglongquerystring
關於如何安全地將Route53 A記錄中的S3存儲桶中的文件尋址到我的S3存儲桶別名的任何想法?
我執行了以下任務:
images.my-domain.com
的存儲桶 s3-website-ap-southeast-2.amazonaws.com
- s3-website-ap-southeast-2.amazonaws.com
- s3-website-ap-southeast-2.amazonaws.com
- s3-website-ap-southeast-2.amazonaws.com
- s3-website-ap-southeast-2.amazonaws.com
是的,我也在悉尼) 測試1-直接訪問:單擊Amazon S3中的對象鏈接( s3-ap-southeast-2.amazonaws.com/images.my-domain.com/picture.jpg
)返回AccessDenied
與預期的一樣,因為對賓語。
測試2-直接預簽名URL:在S3中使用對象上的預簽名URL (通過BucketExplorer創建)(使用常規S3 URL)成功提供了對該對象的訪問權限。 這是預料之中的。
測試3-別名訪問:訪問Amazon S3中的對象鏈接,但將其更改為直接使用域名( images.my-domain.com/picture.jpg
)返回了AccessDenied
。
測試4-使用預簽名URL的別名訪問:通過帶有預簽名URL的靜態網站URL訪問失敗 。 這與您遇到的問題是一致的。
因此,我同意在靜態S3網站上似乎無法使用預簽名URL和Route 53別名。
然后,我使用Amazon S3靜態網站URL對其進行了進一步測試:
Tst 5-具有預簽名URL的S3靜態網站URL:此測試嘗試通過靜態網站URL訪問私人文件( images.my-domain.com.s3-website-ap-southeast-2.amazonaws.com/picture.jpg
)和簽名。 這也返回AccessDenied
。
因此,問題似乎與Route 53 URL無關。 而是,預簽名URL似乎無法通過靜態網站URL起作用。 由於Route 53使用靜態URL,因此也會失敗。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.