对象存储服务 OBS-给用户配置OBS系统权限或桶读写权限后仍然提示拒绝访问,请检查相应权限:原因

时间:2025-02-12 15:03:40

原因

  • 给用户配置了OBS系统权限

    IAM 中给用户配置了OBS ReadOnlyAccessOBS OperateAccess、OBS Buckets Viewer等系统权限后,实际上只允许执行一部分OBS操作,例如OBS OperateAccess可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象(不包含多版本)、上传对象、下载对象、删除对象、获取对象ACL操作。

  • 给用户配置了桶读写权限

    通过桶策略给用户配置了桶的读写权限后,实际上授予的权限如下:

    • GetObject:下载对象
    • GetObjectVersion:下载多版本对象
    • PutObject:上传对象
    • DeleteObject:删除对象
    • DeleteObjectVersion:删除多版本对象

上述每一个权限对应一个OBS功能接口,用户使用API或SDK可以正常调用这些接口。但是通过控制台或者客户端工具(OBS Browser+)登录时,加载桶列表、桶概览等页面时会调用获取桶列表(ListAllMyBuckets)等接口,加载对象列表时会调用列举桶内对象(ListBucket)等接口,其他页面也会调用其他的OBS接口。如果授予的权限中没有包含这些接口,则会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。

例如桶概览页面会通过接口查看桶的生命周期规则、CORS规则等是否已经配置,如图1,而预置的系统权限并未包含这些操作权限。

图1 桶的基础配置
support.huaweicloud.com/obs_faq/obs_faq_0142.html