全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
对象存储 OSS

授权给第三方下载

更新时间:2017-06-07 13:26:11

当您希望将私有Bucket内部的Object授权给第三方下载的时候,不应该直接将AccessKey提供给下载者,而应该使用以下两种方法。

URL签名

OSS提供了签名下载的方法。在实现中,开发者在URL中加入签名信息,把该URL转给第三方实现授权访问。第三方用户只需要使用HTTP的GET请求访问此URL即可下载Object。

实现方式

URL中包含签名示例如下:

  1. http://<bucket>.<region>.aliyuncs.com/<object>?OSSAccessKeyId=<user access_key_id>&Expires=<unix time>&Signature=<signature_string>

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

  • OSSAccessKeyId:开发者的AccessKeyId。
  • Expires:开发者期望URL过期的时间。
  • Signature:开发者签名的字符串,具体请参考API文档签名部分

注意:此连接需要进行URL编码。

功能使用参考

注意: 在控制台中只有当Bucket处于私有读写权限的时候,获取的访问地址才是这种URL中签名的形式。否则则为不带签名的URL形式。

临时访问凭证

OSS通过STS (Security Token Service) 提供了临时凭证给第三方用户,第三方用户以在请求头部中带签名的方式去访问Object。这种授权方式适合移动场景的下载。临时访问凭证实现见STS Java SDK

实现方式

第三方用户向APP服务器请求,获取了STS颁发的AccessKeyId, AccessKeySecret以及STS Token。第三方用户以STS AccessKeyId和AccessKeySecret以及STS Token签名,去请求开发者的Object的资源。

功能使用参考

最佳实践

相关参考链接

本文导读目录