AWS 一般参考
参考指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Signature Version 4 签名流程

Signature Version 4 是将身份验证信息添加到由 HTTP 发送的 AWS 请求的过程。出于安全考虑,大多数 AWS 请求都必须使用访问密钥(包括访问密钥 ID 和秘密访问密钥)进行签名。这两个密钥通常称为您的安全凭证。有关如何获取您账户的凭证的详细信息,请参阅了解并获取您的安全凭证

重要

当您使用 AWS Command Line Interface (AWS CLI) 或其中一个 AWS 开发工具包来向 AWS 发出请求时,这些工具会自动使用您在配置工具时指定的安全凭证为您签署请求。当您使用这些工具时,您不必了解如何亲自签署这些请求。不过,当您手动创建 HTTP 请求以访问 AWS 服务时,您必须亲自签署需要签署的请求。

Signature Version 4 的工作原理

  1. 创建规范请求。

  2. 使用规范请求和其他元数据来创建供签署的字符串。

  3. 从您的 AWS 秘密访问密钥派生签名密钥。然后将该签名密钥与在上一步中创建的字符串结合使用来创建签名。

  4. 将生成的签名添加到 HTTP 请求的标头中或者添加为查询字符串参数。

AWS 服务收到请求后,将执行您完成的相同步骤来计算请求中发送的签名。之后,AWS 会将计算得到的签名与您在请求中发送的签名进行比较。如果签名匹配,则处理请求。如果签名不匹配,则拒绝请求。

有关详细信息,请参阅以下资源: