【问题标题】:S3 allow public directory listing of parent folder?S3允许父文件夹的公共目录列表?
【发布时间】:2017-09-29 04:41:32
【问题描述】:

我目前对我的一个 S3 存储桶拥有公共权限,如下所示:

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

当用户导航到特定文件(如:https://s3-us-west-2.amazonaws.com/polodata/ETHBTC.csv)时,它会提示用户下载——这很好。但是,当他们导航到:https://s3-us-west-2.amazonaws.com/polodata/(未指定文件)时,它会返回一个 XML 页面。

我需要更改什么以便后者返回目录列表页面?

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    访问 URL 时,您不会从 Amazon S3 获得目录列表页面。最接近的是对象的 XML 列表,您必须为此授予 ListObjects 存储桶策略的权限。它看起来像这样:

    此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。

    <ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
      <Name>my-bucket</Name>
      <Prefix/>
      <Marker/>
      <MaxKeys>1000</MaxKeys>
      <IsTruncated>false</IsTruncated>
      <Contents>
        <Key>foo.txt</Key>
        <LastModified>2017-05-01T21:07:13.000Z</LastModified>
        <ETag>"9311482f31be49fb2f41be9e16097a9c"</ETag>
        <Size>213</Size>
        <StorageClass>STANDARD</StorageClass>
      </Contents>
      <Contents>
        <Key>my-folder/</Key>
        <LastModified>2017-05-01T21:07:18.000Z</LastModified>
        <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag>
        <Size>0</Size>
        <StorageClass>STANDARD</StorageClass>
      </Contents>
      <Contents>
        <Key>my-folder/bar.txt</Key>
        <LastModified>2017-05-01T21:07:30.000Z</LastModified>
        <ETag>"9311482f31be49fb2f41be9e16097a9c"</ETag>
        <Size>213</Size>
        <StorageClass>STANDARD</StorageClass>
      </Contents>
    </ListBucketResult>
    

    有些人提出了模拟目录列表的创造性方法,例如:Directory Listing in S3 Static Website

    请记住——Amazon S3 不是传统的 Web 服务器。它是一种对象存储服务,还可以向 Internet 提供内容。因此,它的行为不会与普通 Web 服务器完全相同。

    另见:How Do I Configure an S3 Bucket for Static Website Hosting?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多