【问题标题】:minio - s3 - bucket policy explanationminio - s3 - 桶策略解释
【发布时间】: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”等对象的直接链接
  • 请分享您应用的完整政策。

标签: amazon-s3 policy minio


【解决方案1】:

在某些设置中需要GetBucketLocation 来查找存储桶的位置,并且需要与awsclimc 等标准S3 工具兼容。

ListBuckets 用于列出存储桶中的对象。如果没有此权限,您仍然可以下载对象,但不能匿名列出和发现它们。

这些是标准权限,可以安全使用并由mc anonymous 命令(以前称为mc policy)自动设置。通常不需要更改它们 - 尽管您可以通过直接调用 PutBucketPolicy API 来更改它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 2021-03-31
    • 1970-01-01
    相关资源
    最近更新 更多