首页 文章

Amazon S3 - POST请求的存储桶策略?

提问于
浏览
1

我正在使用Ionic Framework,并希望使用Cordova文件传输插件将文件上传到S3存储桶 . 所有示例都使用POST方法...

https://forum.ionicframework.com/t/cordova-filetransfer-upload-image-to-aws-s3/20051/2 http://coenraets.org/blog/2013/09/how-to-upload-pictures-from-a-phonegap-app-to-amazon-s3/

上面链接中的示例可以通过位于控制台中的Amazon S3策略生成器的下拉列表找到;从该下拉列表中,我注意到PostObject没有等效的“动作”(Bucket Policy上下文中定义的动作) .

有什么我需要创建一个允许POST方法的存储桶策略 AND/OR 创建允许这样做的用户策略 .

  • 我也可以对上面看到的AND / OR部分使用一些清晰度;作为一名noob程序员,我打算将它应用于存储桶和用户策略以使其更加安全 .

  • 我了解有一个带有POST请求的POST策略(根据链接http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-authentication-HTTPPOST.html) . 这似乎与GET的Bucket策略和PUT不同,因为策略随请求一起发送,而不是简单地在存储桶策略部分中定义 . 在POST中发送的策略(根据链接)也具有与存储桶策略不同的格式 . 因此混乱 .

我还没有尝试发送POST请求,但我认为这是另一天的任务 . 如果有人能帮助澄清这一点,那就太好了!

2 回答

  • 2

    这里有什么我想念的吗?

    是的,不是 .

    使用 POST 动词不会改变您实际创建对象的事实,这需要相应的 s3:Put* 权限 .

    特别是 s3:PutObjects3:PutObjectAcl .

    如果IAM用户有权创建对象并设置其acl,则该用户需要签署一个请求来完成该目的,该请求可以是 PUTPOST .

    为了比较,考虑 HEAD != GET 但是发送对象的 HEAD 请求需要 s3:GetObject .

  • 0

    您绝对可以在Bucket中添加POST策略 . 详细信息:http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-HTTPPOSTConstructPolicy.html,其中包含一些示例存储桶POST策略:http://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-post-example.html

    关于第二个问题,您可以为IAM用户创建与存储桶策略具有相同效果的用户级策略 . 您可以更有力地将存储桶,用户和组策略结合使用,以高效的方式控制对资源的访问 .

相关问题