授权给第三方下载

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

URL签名

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

实现方式

URL中包含签名示例:

http://..aliyuncs.com/?OSSAccessKeyId=&Expires=&Signature= 在URL中实现签名,必须至少包含Signature,Expires,OSSAccessKeyId三个参数。

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

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

具体实现

功能使用参考:

  • API:Get Object
  • SDK:Java SDK-Object中使用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的资源

功能使用参考:

API:临时访问凭证 SDK:Java SDK-Object中使用STS服务临时授权 控制台:获取文件访问地址

最佳实践:

RAM和STS使用指南

相关参考链接:

上传文件方式 上传后回调 移动端开发下载场景介绍 上传图片后云端处理 上传音频视频文件后云端处理 下载安全之访问控制 上传后对文件进行复制,删除等管理操作

results matching ""

    No results matching ""