tencent cloud

文档反馈

请求签名

最后更新时间:2024-01-15 15:56:31
    腾讯云数据万象服务通过签名来验证请求的合法性。开发者通过将签名授权给客户端,使其具备上传下载及管理指定资源的能力。
    使用数据万象服务时,可通过 RESTful API 发起 HTTP 匿名请求或 HTTP 签名请求,对于签名请求,服务器端将会对请求发起者进行身份验证。
    匿名请求:HTTP 请求不携带任何身份标识和鉴权信息,通过 RESTful API 进行 HTTP 请求操作。
    签名请求:HTTP 请求时携带签名,服务器端收到消息后,即可进行身份验证,验证成功则可接受并执行请求,否则将会返回错误信息并丢弃此请求。
    数据万象基于 对象存储(Cloud Object Storage,COS),当前签名算法与 COS 保持一致,基于密钥 HMAC(Hash Message Authentication Code)的自定义方案进行身份验证。

    签名算法

    数据万象已实现和 COS 域名的合并,使用 COS 域名即可实现图片处理操作。对于数据万象域名和 COS 域名,在使用上有时区别,需要分别使用不同的签名版本:
    数据万象域名:形式为<BucketName-APPID>.<picture region>.myqcloud.com/<picture name>,例如 examplebucket-1250000000.picsh.myqcloud.com/picture.jpeg,操作需使用 JSON 版本签名。
    COS 域名:形式为<BucketName-APPID>.cos.<Region>.myqcloud.com,例如 examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/picture.jpeg,操作需使用 XML 版本签名,可参阅 XML 版本 请求签名

    签名适用场景

    场景
    适用签名
    下载时数据处理
    无防盗链
    不验证签名
    开启防盗链
    验证签名
    上传时数据处理
    持久化处理
    XML 版本签名
    Bucket 接口操作
    查询、开通、删除等
    XML 版本签名
    内容识别
    鉴黄、违法违规
    XML 版本签名
    

    签名工具

    生成签名所需信息包括 APPID(例如1250000000),Bucket 名称(例如 examplebucket-ci),项目的 SecretID 和 SecretKey。
    获取这些信息的方法如下:
    1. 登录 数据万象控制台,单击左侧菜单栏【存储桶管理】。
    2. 单击需要管理的存储桶,进入存储桶管理页面。
    3. 单击【存储桶配置】,即可查看存储桶名称和 Bucket ID 。若当前项目无存储桶,您可参考 创建存储桶 文档进行创建。
    4. 进入 访问管理 API 密钥管理页面,获取 SecretID 和 SecretKey。
    数据万象签名计算过程与 COS 一致,您可以根据签名适用场景,使用 COS 提供的 在线签名工具生成所需版本签名。

    签名使用

    通过 RESTful API 发起的 HTTP 签名请求,可以通过以下几种方式传递签名:
    1. 通过标准的 HTTP Authorization 头,如Authorization: q-sign-algorithm=sha1&q-ak=...&q-sign-time=1557989753;1557996953&...&q-signature=...
    2. 作为 HTTP 请求参数,请注意 UrlEncode,如/exampleobject?q-sign-algorithm=sha1&q-ak=...&q-sign-time=1557989753%3B1557996953&...&q-signature=...
    注意:
    上述示例中使用 ... 省略了部分具体签名内容。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持