【问题标题】:Amazon S3 disable access of bucket rootAmazon S3 禁用存储桶根访问
【发布时间】:2019-10-22 14:26:39
【问题描述】:

我有一个 AWS S3 存储桶用于共享文件(与任何人共享,公开访问)。所以我的存储桶设置为公开的。通常要访问此文件,您需要 url,但是当您获取我的存储桶根目录时,您会得到一个带有索引所有文件的 xml。所以我想禁用这个 xml 并在没有确切 url 的情况下将我的文件设为私有,你有解决方案吗?

【问题讨论】:

  • “我的存储桶设置为公开”是什么意思?您是否创建了存储桶策略 - 如果是,您可以展示一下吗?

标签: amazon-web-services amazon-s3


【解决方案1】:

Bucket Policy Examples 文档页面中的此存储桶策略显示了如何向匿名用户授予只读权限

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

他们将能够访问文件,但不能列出、删除或上传对象。

【讨论】:

  • 如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
【解决方案2】:

权限接口允许直接控制。

  1. 在管理控制台中打开存储桶的根目录。在顶部, 你应该看到几个标签。 tabs interface
  2. 单击权限选项卡。一套 将出现四个白色按钮。
  3. 单击“访问控制列表”按钮。
  4. 公共访问部分,将有一个单选按钮 旁边的词每个人。点击它。 radio button
  5. 您会在右侧看到一个对话框。确保取消选中 List Objects 选项。 access to root list
  6. 保存并完成。

如果您尝试查看您的根目录,您现在应该会看到 Access Denied Access denied

【讨论】:

    【解决方案3】:

    只需转到 AWS S3 控制台并选择文件。您可以更改此文件的权限,使其适合您的需要。

    你也可以反过来试试。禁用公共存储桶访问,仅公开您要共享的文件。这应该也可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 2016-01-22
      • 1970-01-01
      相关资源
      最近更新 更多