上云无忧 > 文档中心 > 天翼云对象存储(OOS经典版)I型用户签名验证(V2)URL中包含签名
对象存储
天翼云对象存储(OOS经典版)I型用户签名验证(V2)URL中包含签名

文档简介:
除了授权头以外,用户可以通过URL中加入签名信息的方式,将该URL转给第三方实现授权访问,也称为预签名URL。这对于使用第三方浏览器获取对象存储数据的用户非常有用,不需要代理请求。这种方式通过构造并加密一个终端用户浏览器可以检索到的预签名的请求来实现,同时设置过期时间来标明预签名的有效期。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

URL中包含签名


除了授权头以外,用户可以通过URL中加入签名信息的方式,将该URL转给第三方实现授权访问,也称为预签名URL。这对于使用第三方浏览器获取对象存储数据的用户非常有用,不需要代理请求。这种方式通过构造并加密一个终端用户浏览器可以检索到的预签名的请求来实现,同时设置过期时间来标明预签名的有效期。

预签名URL支持GET请求和POST请求。

注意:使用预签名URL方式,有将您授权的数据在过期时间内曝露在互联网上的风险,建议您预先评估后使用。

使用查询参数验证的示例如下:

/quotes/nelson?AWSAccessKeyId=44CF9590006BF252F707&Expires=1141889120&Signature=vjbyPxybdZaNmGa%2ByT272YEAiv4%3D

在URL中实现签名,必须至少包含Signature,Expires,AWSAccessKeyId三个参数。

请求参数

请求字符串参数名称

示例中的值

描述

AWSAccessKeyId

44CF9590006BF252F707

以登录到对象存储控制住中心,点击访问控制—安全凭证—API密钥管理,查看到AccessKeyId和SecretKey

Expires

1141889120

定义里签名过期时间,按照秒来计算的。服务器端超过这个时间的请求将被拒绝

Signature

vjbyPxybdZaNmGa%2ByT272YEAiv4%3D

URL是按照HMAC-SHA1的StringToSign的Base64编码方式编码

Expires这个参数的值是一个UNIX时间(自UTC时间1970年1月1号开始的秒数,详见wiki),用于标识该URL的超时时间。如果OOS接收到这个URL请求的时候晚于签名中包含的Expires参数时,则返回请求超时的错误码。例如:当前时间是1141889060,开发者希望创建一个60秒后自动失效的URL,则可以设置Expires时间为1141889120。

有效时长最多为7天,如果您配置过期时间大于7天,有效期时间仍是7天,7天过期后会返回提示信息。

所有的OOS支持的请求和各种Head参数,在URL中进行签名的方法和上节介绍的签名算法基本一样。主要区别如下:

1) 通过URL包含签名时,之前的Date参数换成Expires参数。

2) 不支持同时在URL和Head中包含签名。

3) 如果传入的Signature,Expires,AWSAccessKeyId出现不止一次,以第一次为准。

4) 请求先验证请求时间是否晚于Expires时间,然后再验证签名。

相似文档
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部