【发布时间】:2019-02-05 17:04:34
【问题描述】:
所以我一直在尝试做的是在我的s3 存储桶中托管一些.json 文件,这些文件可以通过简单的GET 请求进行检索。
我关注了这个aws guideline 并设法托管了一些可以公开访问的文件。现在我可以简单地在浏览器地址栏中输入类似这样的内容并获取我的 json 文件:
https://s3.amazonaws.com/[my-bucket-name]/[my-file-name].json
或者我也可以在控制台中执行此操作:
curl -X GET https://s3.amazonaws.com/[my-bucket-name]/[my-file-name].json
我现在要做的是为我的文件桶添加一个非常基本的安全性:我希望仅当请求在标头中包含某个 API 密钥时才允许访问。现在我只想要一种单一的 API 密钥设计,所有用户只共享相同的确切 api 密钥,任何拥有该密钥的人都应该能够访问存储桶中的任何文件。
类似这样的 curl 命令:
curl -X GET --header "X-ApiKey: wow-such-secret" https://s3.amazonaws.com/[my-bucket-name]/[my-file-name].json
我想知道这是否可能仅使用 S3。如果我需要使用其他亚马逊服务,我应该研究哪些服务?
我的存储桶策略(我基本上是从 aws 教程中复制粘贴的):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::[my-bucket-name]/*"
}
]
}
我还有约 10 小时的 AWS 和约 1 个月的服务器开发经验。
【问题讨论】:
标签: amazon-web-services amazon-s3 web-hosting