當您希望將私有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

實現方式

第三方用戶向APP伺服器請求,獲取了STS頒發的AccessKeyId, AccessKeySecret以及STS Token。第三方用戶以STS AccessKeyId和AccessKeySecret以及STS Token簽名,去請求開發人員的Object的資源。

功能使用參考

最佳實踐

相關參考連結