minio - s3 - 桶策略解释
Posted
技术标签:
【中文标题】minio - s3 - 桶策略解释【英文标题】:minio - s3 - bucket policy explanation 【发布时间】:2021-12-15 14:32:12 【问题描述】:在迷你。当您使用 mc 命令设置存储桶策略以下载时:
mc policy set download server/bucket
bucket 的策略更改为:
"Statement": [
"Action": [
"s3:GetBucketLocation",
"s3:ListBucket"
],
"Effect": "Allow",
"Principal":
"AWS": [
"*"
]
,
"Resource": [
"arn:aws:s3:::public-bucket"
]
,
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Principal":
"AWS": [
"*"
]
,
"Resource": [
"arn:aws:s3:::public-bucket/*"
]
],
"Version": "2012-10-17"
我了解到,在第二个声明中,我们授予匿名用户读取权限以下载带有 url 的文件。我不明白的是,为什么我们需要允许他们执行 s3:GetBucketLocation, s3:ListBucket 的操作。
谁能解释一下?
提前致谢
【问题讨论】:
这些是允许访问对象顶层的基本权限 @PrakashS 谢谢,但不设置它们我可以正常下载对象! 您是作为普通用户尝试应用策略还是使用 root 用户? @PrakashS 无,没有用户,但作为访客,来自“localhost:9000/public-bucket/private.txt”等对象的直接链接 请分享您应用的完整政策。 【参考方案1】:在某些设置中需要GetBucketLocation
来查找存储桶的位置,并且需要与awscli
和mc
等标准S3 工具兼容。
ListBuckets
用于列出存储桶中的对象。如果没有此权限,您仍然可以下载对象,但不能匿名列出和发现它们。
这些是标准权限,可以安全使用并由mc anonymous
命令(以前称为mc policy
)自动设置。通常不需要更改它们 - 尽管您可以通过直接调用 PutBucketPolicy
API 来更改它们。
【讨论】:
以上是关于minio - s3 - 桶策略解释的主要内容,如果未能解决你的问题,请参考以下文章