请求头认证 (HTTP Authorization Header)

客户端可以通过使用 HTTP Authorization Header 请求头指定认证信息。

认证签名 V4

AWS V4 请求头认证信息格式定义如下:

注意: 为了便于阅读示例中添加了换行符和缩进格式,实际请求中无需添加换行符

Authorization: AWS4-HMAC-SHA256 Credential=<Request credential>,
    SignedHeaders=<List of signed headers, separated by semicolon>,
    Signature=<Sign of request>
  • AWS4-HMAC-SHA256 字段前后必须包含一个空格

  • Credential, SignedHeaders 和 Signature 使用英文逗号 , 连接

请求头认证信息字段定义
字段名称 描述
AWS4-HMAC-SHA256 AWS4 声明请求使用 AWS V4 认证签名;HMAC-SHA256 声明认证签名算法为 HMAC-SHA256
Credential 格式定义 <AWSAccessKeyId>/<yyyyMMdd>/<region>/<service>/aws4_request,如 WeyUtAXps-_5dIDvFWF-rKZ5XyzWf-BmOEI_vNtk/20060102/cn-east-1/s3/aws4_request
SignedHeaders 用以生成认证签名的 HTTP 请求头名称列表,请求头名字必须是按字母序排序的小写格式,并且名字前后不能包含空格,多个名字使用英文分号 ; 分割,如 host;x-amz-date
Signature 请求认证签名的 64 位十六进制字串
传统模式 (非 Chunked)

对于较小的对象 (Object),客户端可以选择计算整个上传内容的 HASH 值,然后通过单次 PUT 请求完成上传。详细签名流程请参考 请求认证 中 认证签名 V4 定义。

Chunked 模式

对于较大的对象 (Object),客户端选择计算整个上传内容的 HASH 值是非常困难的。这时可以选择将较大的对象分割成几个较小的块 (chunked),然后分别计算每个块的 HASH 值并上传,最终完成上传。详细上传流程请参考 PUT Chunked 定义。

认证签名 V2

AWS V2 请求头认证信息格式定义如下:

Authorization: AWS <AWSAccessKeyId>:<Signature>
  • AWS 字段前后必须包含一个空格

  • <AWSAccessKeyId> 和 <Signature> 使用英文冒号 : 连接

请求头认证信息字段定义
字段名称 描述
AWS 声明请求使用 AWS V2 认证签名;AWS V2 认证签名统一使用 HMAC-SHA1 算法
Signature 请求认证签名的 Base64 编码字串

results matching ""

    No results matching ""