當您的檔案(Object)設定為公用讀取後,所有使用者都可以訪問您的Object。但以下設定會導致匿名使用者無法訪問公用讀取的Object。
設定了要求者付費模式
開啟要求者付費模式後,讀取儲存空間(Bucket)內資料時產生的流量費用和請求費用由要求者支付,Bucket擁有者僅支付儲存費用。所以請求方必須提供身分識別驗證資訊,以便OSS能夠識別請求方,從而對請求方而非Bucket擁有者收取請求所產生的費用。匿名使用者存取時不會攜帶身分識別驗證資訊,所以會導致匿名使用者存取失敗。具體操作,請參見開啟要求者付費模式。
解決方案:
由Bucket擁有者產生一個帶簽名的檔案URL給匿名使用者存取。具體操作,請參見使用檔案URL分享檔案。
關閉要求者付費模式。具體操作,請參見佈建要求者付費模式。
設定了Bucket Policy
Bucket Policy是阿里雲OSS推出的針對Bucket的授權策略,您可以通過Bucket Policy禁止或允許其他使用者訪問您的OSS資源。所以,如果您在Bucket Policy中設定了某些影響匿名使用者存取的策略,也會導致匿名使用者無法訪問。關於Bucket Policy的更多資訊,請參見通過Bucket Policy授權使用者訪問指定資源。
解決方案:
排查您的Bucket Policy,修改或刪除影響匿名使用者存取的策略。