【问题标题】:URL for public Amazon S3 bucket公共 Amazon S3 存储桶的 URL
【发布时间】:2014-12-23 15:49:51
【问题描述】:

我有一个 Amazon S3 存储桶,我使用类似这样的政策公开它

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Allow Public Access to All Objects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bucket/*"
        }
    ]
}

我的存储桶现在显示为 http://bucket.s3-website-us-east-1.amazonaws.com/

我看到其他人将他们的存储桶称为 http://s3-us-east-1.amazonaws.com/bucket/

我更喜欢第二个 URL,但它给出了拒绝访问。

如何更改我的策略以允许第二个 URL?

【问题讨论】:

    标签: url amazon-web-services amazon-s3 policy


    【解决方案1】:

    您所指的 URL 结构称为 REST 端点,而不是网站端点。


    注意:由于最初编写了这个答案,S3 已经在 REST 端点上推出了双栈支持,使用新的主机名,同时保留现有的主机名。现在已将其集成到下面提供的信息中。


    如果您的存储桶确实位于 AWS 的 us-east-1 区域 -- which the S3 documentation formerly referred to as the "US Standard" region, but was subsequently officially renamed to the "U.S. East (N. Virginia) Region" -- 那么 http://s3-us-east-1.amazonaws.com/bucket/ 不是该端点的正确形式,尽管它看起来应该是。该区域的正确格式是http://s3.amazonaws.com/bucket/http://s3-external-1.amazonaws.com/bucket/。¹

    您使用的格式适用于所有其他 S3 区域,但不适用于 美国标准美国东部(弗吉尼亚北部)[us-east-1]。

    S3 现在还具有用于 REST 端点的 dual-stack endpoint hostnames,并且与原始端点主机名不同,这些名称的名称跨区域具有一致的格式,例如 s3.dualstack.us-east-1.amazonaws.com。这些端点支持 IPv4 和 IPv6 连接以及 DNS 解析,但在其他功能上与现有 REST 端点相同。

    如果您的权限和配置设置为使网站端点工作,那么 REST 端点也应该工作。

    但是...这两个端点不提供相同的功能。

    粗略地说,REST 端点更适合机器访问,而网站端点更适合人类访问,因为网站端点提供友好的错误消息、索引文档和重定向,而 REST 端点没有吨。另一方面,REST 端点提供 HTTPS 并支持签名 URL,而网站端点则不提供。

    为您的应用选择正确的端点类型(REST 或网站):

    http://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteEndpoints.html#WebsiteRestEndpointDiff


    ¹ s3-external-1.amazonaws.com has been referred to 作为“北弗吉尼亚端点”,与“全球端点”s3.amazonaws.com 形成对比。如果使用“s3-external-1”主机名,则非正式地可能在该区域中的新对象上获得先读后写一致性,因为这会将您发送到可以提供该功能的可能物理端点的子集。此端点现在正式支持此行为,因此在许多应用程序中这可能是更好的选择。以前,s3-external-2had been referred to 是美国标准的“太平洋西北端点”,尽管它现在是s3-external-1 的 DNS 中的 CNAME,所以 s3-external-2 似乎除了向后兼容之外没有其他用途。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-07
      • 2012-04-05
      • 2018-04-24
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 2016-09-18
      • 2016-11-16
      相关资源
      最近更新 更多