亚马逊S3 403访问被拒绝错误

7

当我从S3存储桶请求对象时,我会收到一些奇怪的403错误。这似乎是间歇性的,并且仅在快速连续发生时才会发生。

如果我稍后尝试访问相同的对象,通常可以无问题检索它们。

我的直觉是,这些错误发生是因为某种速率限制约束,但我在文档中找不到任何东西。速率限制是否可能导致403错误?


1
http://aws.amazon.com/articles/1109#04 提示如果请求机器的时间没有设置在 S3 web 服务器的 15 分钟之内,那么您可能会遇到此错误,因此您可以检查一下。正如链接所示,如果是这个问题,您将收到错误代码:RequestTimeToo-Skewed。 - mc110
@Jordan你最终找到解决方案或原因了吗? - Joe
403并不表示速率限制,那应该是503。一般来说,4xx表示某种客户端错误,而5xx表示某种服务器错误。请参考http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html。 - perpetual_check
你收到了错误代码吗?能否包含响应的相关部分? - perpetual_check
@mc110 我的问题实际上是我请求的对象不存在(它们已被删除)。 - Jordan
显示剩余4条评论
2个回答

0

我的问题是我请求的对象不存在。我不确定我们是否做了任何特殊的配置,使其成为403而不是404,但到今天为止,如果我尝试从我们的存储桶请求一个我确定不存在的对象,我会得到一个403。

403的原因可能是安全方面的考虑;如果有人正在钓鱼并且有时得到403,因为他们不能访问一个存在的对象,有时得到404,因为对象确实不存在,他们可能会获得一些敏感信息。


如果执行请求的用户具有“列表”权限,则会收到404错误。 - Aeolun

0

如果您将S3存储桶用作静态内容网站,则必须附加一个策略,其中包含操作s3:GetObjectarn:aws:s3:::your-bucket/*。以下是使用Cloudformation模板的示例:

StaticWebsite:
  Type: AWS::S3::Bucket
  Properties:
    AccessControl: PublicRead
    BucketName: your-bucket
    WebsiteConfiguration:
      IndexDocument: index.html
StaticWebsitetPolicy:
  Type: AWS::S3::BucketPolicy
  Properties:
    Bucket: !Ref StaticWebsite
    PolicyDocument:
      Statement:
        - Effect: Allow
          Action:
            - s3:GetObject
          Resource:
            - arn:aws:s3:::your-bucket/*
          Principal: "*"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接