Amazon web services 与对象上的公共访问相比,bucket上的公共访问做了什么?

Amazon web services 与对象上的公共访问相比,bucket上的公共访问做了什么?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我是AWS S3的新手,正在尝试弄清楚它是如何工作的 看起来,为了在Internet上公开单个文件,您必须将特定对象上的“公共访问”设置为“所有人” 但是,Bucket本身具有相同的权限 即使我将Bucket的“Public access”更改为“everybody”,似乎仍然使用单个对象的权限(屏幕截图1) 如果是这样的话,Bucket上的“Public access”到底是做什么的呢?S3访问权限是一件混乱的事情,主要是因为有三种“类型”需要理解 有关权限模型(bucket访问权限、控制

我是AWS S3的新手,正在尝试弄清楚它是如何工作的

看起来,为了在Internet上公开单个文件,您必须将特定对象上的“公共访问”设置为“所有人”

但是,Bucket本身具有相同的权限

即使我将Bucket的“Public access”更改为“everybody”,似乎仍然使用单个对象的权限(屏幕截图1)


如果是这样的话,Bucket上的“Public access”到底是做什么的呢?

S3访问权限是一件混乱的事情,主要是因为有三种“类型”需要理解

有关权限模型(bucket访问权限、控制列表和策略)的完整讨论,请参阅文档(请参阅)。但正如你所注意到的:

Bucket和object权限是相互独立的。对象不会从其bucket继承权限。例如,如果创建一个bucket并向用户授予写访问权限,则除非用户明确授予您访问权限,否则您将无法访问该用户的对象

“公共访问”是指“来自您帐户之外的用户没有IAM或S3 ACL访问权限”

与所有bucket访问权限一样,可以为bucket操作(允许任何人列出对象/允许任何人在您的bucket中创建对象;并对访问控制列表执行相同操作)和单个对象(读/写/等)设置此权限


n、 b.如果你问这个问题是因为你想让你的S3存储桶可以公开访问,那么可以找到一个这样做的指南。请尽量不要成为新闻中的下一家开放式公司

授予对Amazon S3存储桶或其一部分的公共访问权的最佳方法是使用。这比在每个对象上授予公共访问权限更容易

以下是一项允许公众访问整个存储桶的策略:

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Sid":"AddPerm",
      "Effect":"Allow",
      "Principal": "*",
      "Action":["s3:GetObject"],
      "Resource":["arn:aws:s3:::examplebucket/*"]
    }
  ]
}