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

URL签名

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

  • 实现方式

    URL中包含签名示例如下:

    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:您签名的字符串,具体请参见在URL中包含签名
      说明
      此链接需要进行URL编码。
  • 功能使用参考

临时访问凭证

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

最佳实践