gpt4 book ai didi

amazon-web-services - X-Amz-Expires 是否是对 AWS 的请求所需的 header /参数?

转载 作者:行者123 更新时间:2023-12-04 06:55:43 25 4
gpt4 key购买 nike

  • X-Amz-Expires必需的 header /参数?官方文档不一致,在some examples中使用, 而不是在 others .
  • 如果不需要,签名请求的默认过期值是多少?它是否等于 X-Amz-Expires 的最大可能值?参数,即 604800 (seven days) ?
  • 文档(见上面的链接)讨论了 X-Amz-Expires参数仅在查询字符串中传递签名参数的上下文中。如 X-Amz-Expires参数是必需的,是否只需要在查询字符串中传递签名参数(而不是通过授权 header 传递它们)?


  • 更新:

    Introduction to AWS Security Processes纸,第 17 页说

    A request must reach AWS within 15 minutes of the time stamp in the request. Otherwise, AWS denies the request.



    现在我们在这里谈论什么时间戳?我的猜测是它是 X-Amz-Date .如果我是对的,那么另一个问题出现了:
  • 怎么办X-Amz-DateX-Amz-Expires参数相互关联?对我来说,请求过期算法从 X-Amz-Date 回落到 15 分钟时间戳,如果 X-Amz-Expire不存在。
  • 最佳答案

    Is X-Amz-Expires a required header/parameter?


    X-Amz-Expires仅用于查询字符串认证,不用于 Authorization:标题。

    查询字符串身份验证没有默认值。它是必需参数,如果 X-Amz-Algorithm=AWS4-HMAC-SHA256 服务将拒绝请求存在于查询字符串中,但 X-Amz-Expires=...不是。
    <Error>
    <Code>AuthorizationQueryParametersError</Code>
    ...

    Now what time stamp are we talking about here?



    这是指 X-Amz-Date:Authorization: 一起使用时标题。因为 X-Amz-Date:是签名算法输入的一部分,日期或时间的更改也会更改签名。 1 秒之前或之后签署的其他相同的请求具有完全不同的签名。 AWS 本质上允许您的服务器时钟错误最多 15 分钟,而不会破坏您对请求进行身份验证的能力。这不是后备或默认。这是一个固定的窗口。
    X-Amz-Date:Authorization: AWS 将基于 header 的请求与其系统时间进行比较,系统时间当然与 UTC 同步,如果请求到达时该值与 UTC 的偏差超过 15 分钟,则请求将被拒绝。在时间检查之前不会发生与身份验证相关的其他验证。

    查询字符串验证过期的验证涉及不同的逻辑:
  • X-Amz-Expires不得为大于 604800 或小于 0 的值;否则该请求会立即被拒绝而无需进一步处理,包括一条与上述类似的消息。
  • X-Amz-Date根据 AWS 系统时钟,以后不得超过 15 分钟。错误是 Request is not yet valid .
  • X-Amz-Date不得超过 X-Amz-Expires过去的秒数,相对于 AWS 系统时钟,不适用 15 分钟容差。错误是 Request has expired .

  • 如果发生这些情况中的任何一个,则不会对签名进行进一步的验证,因此这些消息不会根据签名的有效性而改变。这是首先检查的。

    另外,您的 X-Amz-Date: 最左边的 8 个字符必须与您的 Credential 的日期部分匹配 Authorization: 的组件标题。日期本身对与凭证的差异零容忍(因此,在签名时,不要两次读取您的系统时间,否则您可能会在 UTC 午夜左右偶尔生成无效签名)。

    最后,请求在处理过程中不会过期。如果您使用任一签名方法发送请求,该请求在到达时被视为有效但此后很快就会过期,则始终允许它运行完成——例如,不会启动大型 S3 下载或 EBS 快照创建请求,然后无法继续,因为在 AWS 端已启动请求时到期计时器已触发。如果该操作在请求时获得授权,则它会继续并照常成功。

    关于amazon-web-services - X-Amz-Expires 是否是对 AWS 的请求所需的 header /参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39551219/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com