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

Signature Version 4 签名流程

Signature Version 4 是将身份验证信息添加到 AWS 请求的过程。出于安全考虑,大多数 AWS 请求都必须使用访问密钥(包括访问密钥 ID 和秘密访问密钥)进行签名。

重要

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

Signature Version 4 的工作原理

  1. 您创建一个规范请求。

  2. 您使用规范请求和一些其他信息来创建要签署的字符串。

  3. 您使用自己的 AWS 秘密访问密钥来生成一个签名密钥,并使用该签名密钥以及要签署的字符串来创建签名。

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

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

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