问题描述
您没有当前所访问Object的读权限,或提供的认证信息不正确。
问题原因
您对某个Object发起了读请求,但是却没有该Object的读权限。
您提供的账号AccessKey ID或签名不正确导致身份认证失败。
问题示例
比如您匿名访问了一个Object,但是该Object的ACL被设置为private;或者您通过某账号访问了一个Object,但是该Object所属的Bucket不属于您所采用的账号,且该Object的ACL被设置为private。
解决方案
请确保您提供的账号AccessKey ID正确,且签名所用的AccessKey Secret正确。
如果您使用RAM用户或者STS临时访问凭证进行访问,请确保您使用的账号存在您要发起的相关操作的权限。更多信息,请参见教程示例:使用RAM Policy控制OSS的访问权限和RAM Policy常见示例。
您还可以通过账号对您希望分享给他人的Object进行签名,这样他人可以通过生成的签名URL进行访问。更多信息,请参见在URL中包含签名。
【不推荐】如果您是Bucket的所有者,且希望该Object允许其他用户访问或匿名访问,那么可以将其ACL设置为public-read(允许任何人包括匿名访问者进行读操作)或者public-read-write(允许任何人包括匿名访问者进行读写操作),但是这会使您的Bucket或Object面临安全风险。更多信息,请参见Bucket ACL和Object ACL。
该文章对您有帮助吗?