文档首页/ 对象存储服务 OBS/ 常见问题/ 权限相关/ 已配置OBS权限,仍然无法访问OBS(403 AccessDenied)
更新时间:2024-10-15 GMT+08:00

已配置OBS权限,仍然无法访问OBS(403 AccessDenied)

问题描述

已经通过IAM权限、桶策略或ACL配置了OBS权限,访问OBS时仍然提示“拒绝访问,请检查相应权限”,或报“403 AccessDenied”错误。

排查思路

以下排查思路根据原因的出现概率进行排序,建议您从高频率原因往低频率原因排查,从而帮助您快速找到问题根因。

如果处理完某个可能原因仍未解决问题,请继续排查其他可能原因。

OBS权限控制比较灵活,建议您使用前先阅读OBS权限控制说明,不同场景的权限配置方法可以参考典型场景配置案例

图1 无法访问OBS排查思路
表1 排查思路

可能原因

处理措施

IAM缓存导致权限未生效

由于缓存的存在,配置IAM权限后一般需要10~15分钟权限才能生效。请等待10~15分钟后再试。

使用了错误的账号或AK/SK访问OBS

多数情况下,出现无权限访问OBS的问题,可能是由于使用了错误的登录信息,如账号或AK/SK,其中AK/SK使用错误更为常见。例如资源拥有者给用户A开通了OBS权限,但实际使用了用户B的账号密码或AK/SK登录访问OBS。

需要与资源拥有者确认,已开通OBS权限的账号与自己当前使用的账号或AK/SK是否匹配。

配置的权限不正确

请参考检查配置的权限是否正确

配置了拒绝访问的权限

请参考检查是否配置了拒绝访问的权限

配置了防盗链

请参考配置防盗链修改白名单Referer/黑名单Referer。

账户余额不足

请根据所需费用给账户充值后再进行操作。

检查配置的权限是否正确

OBS权限控制比较灵活,且某些场景下对其他权限还有依赖,一般出现无法访问的情况时,建议联系授权主体(一般为资源拥有者)检查所配置的权限是否正确。一般关注两个核心要素:Resource(被授权的资源范围)和Action(授予的权限列表),常见错误见表2。如果IAM权限或桶策略中配置了Condition(条件),也要判断访问时是否满足Condition指定的规则。

表2 Resource和Action的常见错误

类别

常见错误

Resource(被授权的资源范围)

  • 仅授予了桶A的权限,访问桶B出错。
  • 仅授予了桶A的桶操作权限,访问桶A内的对象出错。
  • 仅授予了桶A内对象的权限,访问桶A(如列举桶内对象)出错。
  • 仅授予了桶A内某个对象C的权限,访问桶A内的对象D出错。

Action(授予的权限列表)

IAM权限检查方法

  1. 使用资源拥有者账号登录华为云,在右上角单击“控制台”。
  2. 在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
  3. 在“用户”页面,搜索访问OBS失败的用户名,单击搜索到的用户名称,查看“所属用户组”。
  4. 在“用户组”页面,搜索该用户的所属用户组,在用户组的操作列,单击“权限配置”,查看已经授予的IAM权限。

桶策略检查方法

  1. 使用资源拥有者账号登录华为云,在右上角单击“控制台”。
  2. 在服务列表中选择“存储 > 对象存储服务 OBS”。
  3. “对象存储”的桶列表中搜索访问失败的桶,单击桶名称,进入“对象”页面。
  4. 在左侧导航栏,单击“访问权限控制 > 桶策略”,查看已经配置的桶策略。

桶ACL检查方法

  1. 使用资源拥有者账号登录华为云,在右上角单击“控制台”。
  2. 在服务列表中选择“存储 > 对象存储服务 OBS”。
  3. “对象存储”的桶列表中搜索访问失败的桶,单击桶名称,进入“对象”页面。
  4. 在左侧导航栏,单击“访问权限控制 > 桶ACLs”,查看已经配置的桶ACL。

对象ACL检查方法

  1. 使用资源拥有者账号登录华为云,在右上角单击“控制台”。
  2. 在服务列表中选择“存储 > 对象存储服务 OBS”。
  3. “对象存储”的桶列表中搜索访问失败的桶,单击桶名称,进入“对象”页面。
  4. 在对象列表搜索访问失败的对象,单击对象名称,进入对象详情页面,在“对象ACL”页签下查看已配置的对象ACL。

检查是否配置了拒绝访问的权限

如果按照上述方法排查后,确认需要的权限均已正确配置,仍然无法访问OBS,则可能是由于在某条策略中配置了拒绝访问的权限。

由于OBS权限遵循Deny优先原则,当多条IAM权限和桶策略同时存在时,只要有一处设置了显式的Deny,则会根据此原则调整用户的权限,即使Deny策略中定义的动作在其他IAM权限和桶策略中已设置为Allow。

IAM权限和桶策略支持配置Deny权限,需要分别进行检查:

IAM权限检查方法

  1. 使用资源拥有者账号登录华为云,在右上角单击“控制台”。
  2. 在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
  3. 在“用户”页面,搜索访问OBS失败的用户名,单击搜索到的用户名称,查看“所属用户组”。
  4. 在“用户组”页面,搜索该用户的所属用户组,在用户组的操作列,单击“权限配置”,查看已经授予的IAM权限。

桶策略检查方法

  1. 使用资源拥有者账号登录华为云,在右上角单击“控制台”。
  2. 在服务列表中选择“存储 > 对象存储服务 OBS”。
  3. “对象存储”的桶列表中搜索访问失败的桶,单击桶名称,进入“对象”页面。
  4. 在左侧导航栏,单击“访问权限控制 > 桶策略”,查看已经配置的桶策略。

提交工单

如果上述方法均不能解决您的疑问,请提交工单联系华为云客服为您解答。