阅读194 返回首页    go 阿里云


授权给第三方下载__下载文件_开发人员指南_对象存储 OSS-阿里云

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

URL签名

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

实现方式

URL中包含签名示例如下:

  1. https://<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的资源。

功能使用参考

最佳实践

相关参考链接

最后更新:2016-11-23 16:04:09

  上一篇:go 断点续传下载__下载文件_开发人员指南_对象存储 OSS-阿里云
  下一篇:go 设置对象/文件元信息__管理文件_开发人员指南_对象存储 OSS-阿里云