问题描述
您的账号不允许对Bucket或Object进行相关操作,或提供的认证信息不正确。
问题原因
您发起了对Bucket或Object的访问请求,通过请求中携带了身份认证信息,但是您提供的身份认证信息对应的账号没有对该Bucket或Object进行相关操作的权限。
您提供的账号AccessKey ID或签名不正确导致身份认证失败。
问题示例
您使用RAM用户对某个Bucket发起请求时,输入的AccessKey ID或者AccessKey Secret错误。
您使用RAM用户对某个Bucket发起了PutObject或者GetObject请求,但是该RAM用户并没有被赋予对应的操作权限,且该Bucket的ACL不是公共读写public-read-write或者公共读public-read,您就会看到该错误。
您使用了CDN域名回源到OSS私有Bucket时操作顺序错误,CDN无法将STS鉴权配置下发给全网节点,您也会看到该错误。
您使用RAM用户的AccessKey登录ossbrowser 2.0时,若提示"The bucket you access does not belong to"错误,通常是由于该RAM用户缺少oss:GetBucketInfo权限所导致。
您的Bucket或是Object虽然设置了公共读或公共读写,但是Bucket开启了"功能,也会导致请求被拒绝。
解决方案
请确保您提供的账号AccessKey ID正确,且签名所用的AccessKey Secret正确。
如果您使用RAM用户或者STS临时访问凭证进行访问,请确保您使用的账号拥有您要发起的相关操作的权限。更多信息,请参见教程示例:使用RAM Policy控制OSS的访问权限和RAM Policy常见示例。
使用CDN域名回源到OSS私有Bucket时,请按照顺序进行操作。先在RAM中为使用的AccessKey ID授予OSS操作权限,然后在CDN侧进行阿里云OSS私有Bucket回源配置。
若想通过预设路径访问特定Bucket,需配置
oss:GetBucketInfo
权限;若没有该权限,也可手动指定存储桶所在的地域来实现访问。有关如何自定义权限策略以及为RAM用户授权,请参见创建自定义权限策略和为RAM用户授权。如果您是通过将Bucket或Object的ACL设置为公共读来期望允许匿名账号访问,那么需要检查目标Bucket是否开启了"阻止公共访问"。