2016-08-24 89 views
1

我正在構建一個允許Everyone上傳到我的S3存儲桶的應用,但出於安全性考慮,我需要禁用從存儲桶中刪除的功能。由於upload/delete權限在AWS設置中捆綁在一起,因此我如何允許一個並阻止另一個?AWS S3在允許上傳時阻止刪除

enter image description here

SOLUTION:

刪除訪問策略,並添加這個水桶政策:

{ 
"Version": "2008-10-17", 
"Statement": [ 
    { 
     "Sid": "AllowPublicRead", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::bucket_name/*" 
    }, 
    { 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "s3:PutObject", 
     "Resource": "arn:aws:s3:::<bucket_name>/*" 
    } 
] 

}

回答

2

閱讀這篇文章,關於ACL的和IAM政策之間的差異:

https://blogs.aws.amazon.com/security/post/TxPOJBY6FE360K/IAM-policies-and-Bucket-Policies-and-ACLs-Oh-My-Controlling-Access-to-S3-Resourc

你想創建一個類似於此的IAM政策,不使用ACL:

{ 
    "Statement": [ 
    { 
     "Action": [ 
     "s3:PutObject" 
     ], 
     "Effect": "Allow", 
     "Resource": "arn:aws:s3:::<bucket>/<optional_key>", 
     "Principal": { 
     "AWS": ["*"] 
     } 
    } 
    ] 
} 
+0

感謝我結束了使用水桶策略,而不是應用,但相同的語句。我在問題中發佈了完整的政策 – Cbas