问题描述
您的请求被RAM Policy策略所拒绝。
问题原因
您发起了对Bucket或Object的访问请求,但是您的请求命中了采用RAM用户关联的RAM Policy中的拒绝策略,因此请求被拒绝。
问题示例
比如您使用具有如下RAM Policy授权配置的RAM用户对mybucket
发起了PutBucketReferer请求:
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"oss:PutBucketReferer"
],
"Resource": [
"acs:oss:*:*:mybucket"
]
}
]
}
因为该RAM Policy通过定义Deny规则限制了该RAM用户对目标Bucket进行PutBucketReferer操作,所以您的请求会被拒绝,并返回该错误:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>Access denied by bucket policy.</Message>
<RequestId>65AF5037***5347E6D09</RequestId>
<HostId>mybucket.oss-cn-hangzhou.aliyuncs.com</HostId>
<AccessDeniedDetail>
<PolicyType>AccountLevelIdentityBasedPolicy</PolicyType>
<AuthPrincipalOwnerId>10323***2056</AuthPrincipalOwnerId>
<AuthPrincipalType>SubUser</AuthPrincipalType>
<AuthPrincipalDisplayName>20587***54611</AuthPrincipalDisplayName>
<NoPermissionType>ExplicitDeny</NoPermissionType>
<AuthAction>oss:PutBucketReferer</AuthAction>
<EncodedDiagnosticMessage>AQIBIAAAACB1******WAaW7O7kNSJdFn5klF//79WvW+QLnFa1ZRhLyP6w7*****4oGB5vXTQZJmWh8tkIRG6vFf7gGLSp8vsVjGwF***Sb6kUQ==</EncodedDiagnosticMessage>
</AccessDeniedDetail>
<Bucket>dinary</Bucket>
<User>205871000474254611</User>
<EC>0003-00000201</EC>
<RecommendDoc>https://api.aliyun.com/troubleshoot?q=0003-00000201</RecommendDoc>
</Error>
解决方案
请检查您发起的请求是否命中了RAM Policy中的Deny策略规则。
此外,如果您的错误响应中包含了如上述例子中的EncodedDiagnosticMessage字段,您可以将该字段的内容粘贴到RAM权限诊断页面排查原因,该操作需要您的账号拥有ram:DecodeDiagnosticMessage
权限。
如果您缺少该诊断权限,可以将该字段的内容提供给账号管理员,让账号管理员访问RAM权限诊断页面来协助排查原因,并根据诊断结果对授权规则进行修改。
相关文档
文档内容是否对您有帮助?