Amazon Web Services
一般参考 (Version 1.0)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

处理签名版本 4 中的日期

您在凭证范围中使用的日期必须与您的请求的日期匹配。您可以用多种方法将日期包括在请求中。您可以使用 date 标头或 x-amz-date 标头,或者将 x-amz-date 作为查询参数包含在内。有关示例请求,请参阅完整版本 4 签名过程的示例 (Python)

时间戳必须采用 UTC 表示,并具有以下 ISO 8601 格式:YYYYMMDD'T'HHMMSS'Z'。例如,20150830T123600Z 是有效时间戳。请勿在时间戳中包含毫秒。

AWS 先检查时间戳的 x-amz-date 标头或参数。如果 AWS 找不到 x-amz-date 的值,它将查找 date 标头。随后,AWS 检查八位数字字符串形式的凭证范围,表示请求的年 (YYYY)、月 (MM) 和日 (DD)。例如,如果 x-amz-date 标头值为 20111015T080000Z,并且凭证范围的日期部分为 20111015,则 AWS 允许身份验证过程继续执行。

如果日期不匹配,则 AWS 拒绝请求,即使时间戳距离凭证范围中的日期仅有数秒之差也是如此。例如,AWS 将拒绝其 x-amz-date 标头值为 20151014T235959Z 且凭证范围包括日期 20151015 的请求。