Signature Version 4 签名流程 - Amazon 一般参考
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Signature Version 4 签名流程

重要

Amazon SDK Amazon Command Line Interface (Amazon CLI) 和其他 Amazon 工具会使用您在配置工具时指定的访问密钥为您签署 API 请求。当您使用这些工具时,您不必了解如何签署这些 API 请求。以下文档说明了如何签署 API 请求,但适用于您编写自己的代码来发送和签署 Amazon API 请求的情况。建议使用 Amazon SDK 或其他 Amazon 工具来发送 API 请求,而不是编写自己的代码。

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

Signature Version 4 的工作原理

  1. 创建规范请求。

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

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

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

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

有关更多信息,请参阅以下 资源: