amazon-web-services - 如何为公共 PUT 请求设置经过身份验证的 S3 REST 端点
问题描述
我正在尝试设置一个面向公共互联网的 S3 存储桶,以便外部进程可以PUT
请求将数据上传到存储桶。
我正在尝试限制访问,以便仅对签名的请求进行身份验证。我在开发人员指南中找到了有关在外部流程中创建签名的说明,但我找不到有关如何设置 S3 存储桶的说明。
使用客户管理的加密密钥设置 S3 存储桶以仅允许经过身份验证的 PUT REST 请求的必要步骤是什么?
据我了解:我需要创建一个具有可以访问 KMS 密钥和 S3 存储桶的角色的用户。但我找不到有关 S3 存储桶设置的说明。我正在寻找与公共访问设置、ACL 等相关的细节。
注意:外部进程不能使用 AWS 开发工具包,只能使用标准 REST 请求(例如curl
)。
预先感谢您的考虑和回复。
解决方案
您可能需要 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
推荐阅读
- python - 从数据框中制作适合特定特征的列表
- javascript - 如何排除 div 内的元素不受 div 函数的影响?
- c# - Winforms 数据库 Id 主键不断计数
- angular - Ag-Grid AutoGroupColumnDef 在 setColumnDef() 函数调用后如何工作?
- scala - 合并包含重复值的数据框的 n 行
- elasticsearch - csv文件中的logstash数据导入错误
- r - 通过R中的变量填充数据框日期
- reactjs - Separate colors for stroke, fill
- javascript - Cloud Firestore + VueJs 自动生成的数字发票号码
- windows - GHC 找不到与 mingw gcc(但不是 mingw-w64)一起使用的外部库(libjack.lib)