本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Signature Version 4 中的处理日期
您在凭证范围中使用的日期必须与您的请求的日期匹配。您可以用多种方法将日期包括在请求中。您可以使用 date
标头或 x-amz-date
标头,或者将 x-amz-date
作为查询参数包含在内。有关示例请求,请参阅完整 Signature Version 4 签名过程的示例 (Python)。
时间戳必须采用 UTC 表示,并具有以下 ISO 8601 格式:YYYYMMDD'T'HHMMSS'Z'。例如,20150830T123600Z
是有效时间戳。请勿在时间戳中包含毫秒。
AWS 先检查时间戳的
标头或参数。如果 AWS 无法找到 x-amz-date
x-amz-date
的值,则将寻找 date
标头。AWS 检查八位数字字符串形式的凭证范围,表示请求的年 (YYYY)、月 (MM) 和日 (DD)。例如,如果
标头值为 x-amz-date
20111015T080000Z
,并且凭证范围的日期部分为 20111015
,则 AWS 允许身份验证过程继续执行。
如果日期不匹配,则 AWS 拒绝请求,即使时间戳距离凭证范围中的日期仅有数秒之差也是如此。例如,AWS 将拒绝其
标头值为 x-amz-date
20151014T235959Z
且凭证范围包括日期 20151015
的请求。