天翼云对象存储(经典版)I型API参考-用户签名验证(V4)使用查询参数验证 | ||||||||||||||||||||||||||||||||||
产品推荐: 1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>; 2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>> 3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>> 4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>> 点击这里注册天翼云特邀VIP帐号,立即体验天翼云对象存储>>> 天翼云对象存储(经典版)I型API参考-用户签名验证(V4)使用查询参数验证 概述用户可以使用查询字符串参数验证身份信息,此方法也称为预签名URL。预签名URL的用例场景是用户可以授予对OOS资源的临时访问权限。例如,用户可以在网站上包含预先签名的URL,或者在命令行客户端(例如Curl)中使用它来下载对象。 预签名URL支持GET、DELETE、PUT、HEAD、POST请求。 注意:使用预签名URL方式,有将您授权的数据在过期时间内曝露在互联网上的风险,建议您预先评估后使用。 以下是预签名URL的示例。
预签名URL方式需要注意:
下表介绍了URL中提供身份验证信息的查询参数。
签名过程下图说明了签名计算过程。 下表描述了图中显示的功能。用户需要为这些功能实现代码。
使用参数的签名过程与使用请求头的签名过程类似,如下所示:
规范标头必须包括HTTP Host标头。如果用户想包含x-amz-*请求头,这些标头都将参与签名计算。用户可以选择其他的请求头是否参与签名计算。安全起见,尽可能多的请求头参与签名计算。 生成签名的示例通过创建预签名URL的方式,与其他人共享examplebucket中test.txt对象,过期时间设置为7天(604800秒)。以GET请求为例: GET http://oos-cn.ctyunapi.cn/examplebucket/test.txt ?X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=2a948fd3f00ba0925806/20190220/cn/s3/aws4_request &X-Amz-Date=20190220T095256Z &X-Amz-Expires=604800 &X-Amz-SignedHeaders=host &X-Amz-Signature=<signature-value> 以下步骤首先说明如何计算签名和构建预签名URL。示例中使用的访问密钥如下:
1) StringToSign a. 创建规范请求(以GET请求为例) GET /examplebucket/test.txt X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=2a948fd3f00ba0925806%2F20190220%2Fcn%2Fs3%2Faws4_request&X-Amz-Date=20190220T095256Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host host:oos-cn.ctyunapi.cn host UNSIGNED-PAYLOAD b. 待签名字符串 AWS4-HMAC-SHA256 20190220T095256Z 20190220/cn/s3/aws4_request 023d2e0e5fba779afb9fe621e9413622e7f1aff9ffc7348e55d0805d97cb1571 2) StringKey signingkey=HMAC-SHA256(HMAC-SHA256(HMAC-SHA256(HMAC-SHA256("AWS4" + "<YourSecretAccessKey>","20190220"),"cn"),"s3"),"aws4_request") 3) 签名 f566134de06fb3daa22b9649baf82d15d6aa575e146b6ba9aff13a2bde63a1ec 4) 将签名信息添加到请求头 http://oos-cn.ctyunapi.cn/examplebucket/test.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=2a948fd3f00ba0925806/20190220/cn/s3/aws4_request&X-Amz-Date=20190220T095256Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=f566134de06fb3daa22b9649baf82d15d6aa575e146b6ba9aff13a2bde63a1ec |