当您希望将私有Bucket内部的Object授权给第三方下载的时候,不应该直接将AccessKey提供给下载者,而应该使用URL签名或临时访问凭证两种方式授权给第三方下载。

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三个参数。

临时访问凭证

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

  • 实现方式

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

  • 操作方法
    操作方式 说明
    控制台 Web应用程序,直观易用
    Java SDK 丰富、完整的各类语言SDK demo
    Python SDK
    PHP SDK
    Go SDK
    C SDK
    .NET SDK
    Android SDK
    iOS SDK

最佳实践