我有一個不具備公共訪問權限的s3 bucket。我有一個桶策略,但它是在我將CDN連接到該桶以獲得原產地訪問身份時自動生成的。
但這就是政策的全部內容。
桶政策對我來說是個難題。我想知道這是否真的是問題所在,或者是否可能是其他原因。
{
"版本": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"宣告": [
{
"Sid": "1",
"效果": "允許",
"校長": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity"
},
"Action": "s3:GetObject"。
"資源": "arn:aws:s3::shofi-mod/*"
}
]
}
作為比較,這是我另一個有公共訪問權的桶的策略。我正在看這兩個政策,以尋找我應該做什么的線索
。{
"版本": "2012-10-17",
"ID": "",
"宣告": [
{
"Sid": "",
"效果": "允許",
"校長": {
"AWS": "arn:aws:iam:::user/shofi-stuff-bucket-user"
},
"行動"。[
"s3:ListBucket",
"s3:ListBucketVersions",
"s3:GetBucketLocation",
"s3:Get*",
"s3:Put*"
],
"資源": "arn:aws:s3:::shofi-stuff"
}
]
}
非常感謝國王們
uj5u.com熱心網友回復:
這里有幾個題目。
你展示的第一個bucket策略只是通過Allow策略授予對CloudFront的訪問。它不會干擾預簽名的 URL。
第二個桶策略(雖然與您的問題不直接相關)中存在一個錯誤。當使用 GetObject 和 PutObject 時,必須授予對 桶的內容 的訪問權,而不是桶本身。(而 ListBucket 確實適用于桶。)
因此,Resource應該授予對桶的訪問權和桶的內容:
"資源"。["arn:aws:s3::shofi-stuff", "arn:aws:s3::shofi-stuff/*"]
至于為什么你的預簽名URL不作業,這可能是由于:
- 用于生成預簽名URL的基礎憑證(IAM用戶,IAM角色)沒有執行上傳的權限(可能是由于類似的
資源問題),或者 。
- 預簽名的URL被錯誤地生成 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/319190.html
標籤:
上一篇:在多執行緒中上傳檔案到S3
