对象存储服务 OBS-OBS签名机制概述:原理说明

时间:2024-10-21 15:06:41

原理说明

OBS签名机制的运作流程如图1所示:

图1 OBS API调用的签名和验签机制
表1 OBS API调用的签名和验签机制

执行端

序号

步骤

说明

客户端

1

构造HTTP请求

用户根据自身诉求构建HTTP请求消息,一个完整的API调用请求包含请求URI、请求方法、请求消息头、请求消息体(可选),如何构造API请求详见构造请求

2

计算签名S

根据构造的HTTP请求和用户访问密钥计算签名S。您可以根据签名携带方式选择一种签名计算方式:

3

将签名S添加到请求消息中

将签名添加到请求消息中,消息携带签名的方式有3种:

4

发送携带签名S的API调用请求

将携带签名信息的请求发送给服务端。

OBS服务端

5

接收调用请求

接受客户端的调用请求。

6

验证签名

服务端根据接收到的HTTP请求和用户访问密钥再次计算签名S',比较S'与客户端计算的签名S是否一致,如果一致则签名验证成功,不一致则验证失败。

7

返回API调用结果

  • 如果验证成功则继续执行API,然后向客户端返回API执行结果。
  • 如果验证失败则通知客户端验证失败,状态码为403 Forbidden,错误码为SignatureDoesNotMatch。定位和修复签名不匹配行为请参见签名不匹配(SignatureDoesNotMatch)如何处理

客户端

8

接收服务端响应

客户端接收服务端响应。

support.huaweicloud.com/api-obs/obs_04_0009.html