amazon-web-services - 将 S3 存储桶配置为仅在某些目录上允许 getObject 用于匿名
问题描述
我尝试为 Amazon S3 的权限做一些细节配置,但它不起作用。
我使用存储桶 Amazon S3 来存储网站的文件。有些文件是公开的,所以每个人都可以看到它们。但是这些文件的一部分应该是私有的,并且存储在特定的目录中。这些私人文件应根据某些条件提供给网站用户(如果他们购买了图像)。在这种情况下,网站会将文件发送给用户。
目前,尽管存储桶不是公开的,但似乎每个人都可以访问所有文件。在访问控制列表中,我只授予网站使用的用户与 API 通信的权限。
但是,如果您有直接 URL,匿名用户仍然可以看到和下载文件。我觉得这很奇怪,但对于公共文件来说这不是问题,我认为这很正常,我为私有目录更改了 Bucket Policy,如下所示:
{
"Sid": "Stmt1538509082866",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": [
"arn:aws:s3:::bucket-name/private/*"
]
}
但是此规则拒绝为我的特定用户查看和下载文件的权利。我试图把允许放在他后面,但它不起作用。我以为我可以使用条件,但显然不适用于特定用户。
我准确地说我从最近开始从事这个项目并且我没有初始化存储桶,所以,也许它有我确实看到的错误配置。
谢谢你。
解决方案
推荐阅读
- mysql - 如何使用 mysql 根据同一张表的其他两列填充一列?
- r - R函数根据单位值分配固定资源
- ssrs-2012 - SSRS 父组重复创建“楼梯”
- go - 接口类型和值可以是不实现接口及其值的类型吗?
- java - 即使文件存在并且在同一目录中,Java FileNotFound 错误?我该如何解决?
- c - 将 GSL 库链接到 Matlab MEX 时如何修复“未知类型名称”错误
- excel - 从 Excel VBA 切换 Internet Explorer 代理
- scala - 重命名 Spark DataFrame 中的嵌套结构列
- python-3.x - 如何更改设置的箱线图子图上的 xticks,使其以文字形式完整?
- spring - 在 MongoDB/Spring 中连接多个条件