我是s3的新手,这是我得到的:
我在数据库中有一些文件的s3的URL,我想使用该URL在客户端应用程序中下载它们(例如https://my_s3_bucket_name.s3.amazonaws.com/sample_2-1591371022041.pdf)。
我不想将其公开给所有人,但是我不想仅将其提供给我的IAM。相反,我想向我的客户端Web应用程序网址公开。即,仅当从以下位置调用url时,才应下载文件http://my_client_app.com
我把参考的形式这并提出了我的公网IP公共政策(和在那里我主机的IP地址http://my_client_app.com
),但它似乎并不工作,当我打开从我的浏览器的文件URL我仍然得到403禁止。
我的存储桶策略:
{
"Version": "2012-10-17",
"Id": "S3PolicyId1",
"Statement": [
{
"Sid": "IPAllow",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:*",
"Resource": "arn:aws:s3:::my_bucket_name_hellobucket/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"my_public_ip/24",
"my_aws_ec2_ip/24"
]
}
}
}
]
}
ps1:如果我设置了对公共的读取访问权限,则可以下载带有文件URL的文件
ps2:谁能告诉我“ Id”是什么意思/什么时候将其用于存储桶策略?
谢谢!
根据OP在评论中的反馈,该设置"Principal": "*"
应允许匿名访问。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句