OBS通过AK/SK对请求进行签名,在向OBS发送请求时,客户端发送的每个消息头需要包含由SK、请求时间、请求类型等信息生成的签名信息。
用户可以在IAM服务中获取AK和SK,获取的方法请参见获取访问密钥(AK/SK)。
OBS根据应用场景,提供了Header中携带签名、URL中携带签名和基于浏览器上传的表单中携带签名3种签名计算方式。
OBS提供的SDK已集成了签名计算,建议您使用SDK进行开发。
以Header中携带签名为例,用户签名验证流程如表1所示。Header中携带签名方法的具体参数说明及代码示例,请参见Header中携带签名。
步骤 |
示例 |
|
---|---|---|
签名计算 |
1. 构造HTTP消息 |
PUT /object HTTP/1.1 Host: bucket.obs.cn-north-4.myhuaweicloud.com Date: Tue, 04 Jun 2019 06:54:59 GMT Content-Type: text/plain Content-Length: 5913 |
2. 按照签名规则计算StringToSign |
StringToSign = HTTP-Verb + "\n" + Content-MD5 + "\n" + Content-Type + "\n" + Date + "\n" + CanonicalizedHeaders + CanonicalizedResource |
|
3. 准备AK和SK |
AK: ****** SK: ****** |
|
4. 计算签名Signature |
Signature = Base64( HMAC-SHA1( SecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) ) |
|
5. 添加签名头域发送到OBS服务 |
PUT /object HTTP/1.1 Host: bucket.obs.cn-north-4.myhuaweicloud.com Date: Tue, 04 Jun 2019 06:54:59 GMT Content-Type: text/plain Content-Length: 5913 Authorization: OBS AccessKeyID:Signature |
|
签名验证 |
6. 接收HTTP消息 |
PUT /object HTTP/1.1 Host: bucket.obs.cn-north-4.myhuaweicloud.com Date: Tue, 04 Jun 2019 06:54:59 GMT Content-Type: text/plain Content-Length: 5913 Authorization: OBS AccessKeyID:Signature |
7. 根据请求中的AK获取SK |
从头域Authorization中取出AK,去IAM取回用户的SK |
|
8. 按照签名规则计算StringToSign |
StringToSign = HTTP-Verb + "\n" + Content-MD5 + "\n" + Content-Type + "\n" + Date + "\n" + CanonicalizedHeaders + CanonicalizedResource |
|
9. 计算签名Signature |
Signature = Base64( HMAC-SHA1( SecretAccessKeyID, UTF-8-Encoding-Of( StringToSign ) ) ) |
|
10. 验证签名 |
验证头域Authorization中的Signature与服务端计算的Signature是否相等 相等:签名验证通过 不相等:签名验证失败 |
对于广大的 Flink 开发者同学来说, 什么内容是最期待的? 什么信息又是最有用的...
在Python语言中有如下3种方法: 成员方法 类方法(classmethod) 静态方法(staticm...
Python是一种高度通用且功能强大的编程语言,其特质使其非常受欢迎。实际上,Pyt...
在11月29日举办的第二届小程序云开发技术峰上,腾讯云推出仅需少量代码甚至无需...
作者 | 元吟 来源 | 阿里技术公众号 一 背景 2018年7月9日,我通过校招加入阿里...
Crossday Discuz! Board(以下简称 Discuz!)是一套通用的社区论坛软件系统,用...
最大传输单元(Maximum Transmission Unit,MTU)是指一种通信协议的某一层上所...
今日交易消息,3杂yr8.com 以53,999元交易,远超当前行情价。 域名 有“一人吧、...
1、什么是 服务器租用 服务器租用 是指用户无须自己购买服务器硬件,租用IDC服务...
前言 在很多网站上,都会以表格的形式展示数据,而我们获取这种数据只需通过十几...