首页 > 解决方案 > 如何为公共 PUT 请求设置经过身份验证的 S3 REST 端点

问题描述

我正在尝试设置一个面向公共互联网的 S3 存储桶,以便外部进程可以PUT请求将数据上传到存储桶。

我正在尝试限制访问,以便仅对签名的请求进行身份验证。我在开发人员指南中找到了有关在外部流程中创建签名的说明,但我找不到有关如何设置 S3 存储桶的说明。

使用客户管理的加密密钥设置 S3 存储桶以仅允许经过身份验证的 PUT REST 请求的必要步骤是什么?

据我了解:我需要创建一个具有可以访问 KMS 密钥和 S3 存储桶的角色的用户。但我找不到有关 S3 存储桶设置的说明。我正在寻找与公共访问设置、ACL 等相关的细节。

注意:外部进程不能使用 AWS 开发工具包,只能使用标准 REST 请求(例如curl)。

预先感谢您的考虑和回复。

标签: amazon-web-servicesamazon-s3

解决方案


您可能需要 S3、API Gateway 和 Lambda 的组合: https ://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html

API 网关可用于根据客户端证书保护访问: https ://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-setup-ssl-certificate.html


推荐阅读