开发者社区> 问答> 正文

【OSS】匿名用户无法访问公共读的Object,是什么原因?

已解决

匿名用户无法访问公共读的Object,是什么原因?

展开
收起
云上猫猫 2022-01-18 16:50:18 963 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    当您的文件(Object)设置为公共读后,所有用户都可以访问您的Object。但以下设置会导致匿名用户无法访问公共读的Object。

    设置了请求者付费模式

    开启请求者付费模式后,读取存储空间(Bucket)内数据时产生的流量费用和请求费用由请求者支付,Bucket拥有者仅支付存储费用。所以请求方必须提供身份验证信息,以便OSS能够识别请求方,从而对请求方而非Bucket拥有者收取请求所产生的费用。匿名用户访问时不会携带身份验证信息,所以会导致匿名用户访问失败。详情请参见请求者付费模式

    解决方案:

    • 由Bucket拥有者生成一个带签名的文件URL给匿名用户访问,详情请参见上传Object后如何获取访问URL?。

    • 关闭请求者付费模式,详情请参见设置请求者付费模式。

    设置了Bucket Policy

    Bucket Policy是阿里云OSS推出的针对Bucket的授权策略,您可以通过Bucket Policy禁止或允许其他用户访问您的OSS资源。所以,若您Bucket Policy设置了某些影响匿名用户访问的策略,也会导致匿名用户无法访问。Bucket Policy介绍请参见使用Bucket Policy授权其他用户访问OSS资源

    解决方案:

    排查您的Bucket Policy,修改或删除影响匿名用户访问的策略。

    2022-01-18 17:12:19
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载