授权给第三方下载
当用户希望将私有Bucket内部的Object授权给第三方下载的时候,不应该直接将AccessKey提供给下载者,而应该使用以下两种方法。
URL签名
OSS提供了签名下载的方法。在实现中,开发者在URL中加入签名信息,把该URL转给第三方实现授权访问。 第三方用户只需要使用HTTP的GET请求访问此URL即可下载Object。
实现方式
URL中包含签名示例:
http://
- 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使用指南
相关参考链接:
上传文件方式 上传后回调 移动端开发下载场景介绍 上传图片后云端处理 上传音频视频文件后云端处理 下载安全之访问控制 上传后对文件进行复制,删除等管理操作