文档首页> 对象存储服务 OBS> 常见问题> 权限相关> 在IAM配置OBS系统权限后仍然提示拒绝访问,请检查相应权限
更新时间:2023-10-26 GMT+08:00

在IAM配置OBS系统权限后仍然提示拒绝访问,请检查相应权限

原因

IAM中预置的OBS ReadOnlyAccess、OBS OperateAccess、OBS Buckets Viewer等系统权限只允许执行一部分OBS操作,例如OBS OperateAccess可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象(不包含多版本)、上传对象、下载对象、删除对象、获取对象ACL操作,每一项操作对应一个OBS功能接口。

授予系统权限之后,表示拥有了对应功能接口的权限,通过API或SDK可以正常调用这些接口。但是通过控制台或者客户端工具(OBS Browser+)登录时,加载如桶列表、桶概览等页面会调用多个OBS接口,如果授予的权限中没有包含这些接口,则会提示“拒绝访问,请检查响应权限”,或者“不允许在请求的资源上执行此操作”。例如桶概览页面会通过接口查看桶的生命周期规则、CORS规则等是否已经配置,如图1,而预置的系统权限并未包含这些操作权限。

图1 桶的基础配置

解决方法

即使界面出现了权限不足的提示,也并不影响已有的权限生效。通过API或SDK可以正常调用相关接口。

对于控制台或客户端工具(OBS Browser+)而言,如果配置了OBS OperateAccess权限,是可以进行对象上传、下载等操作的。

如果希望消除报错提示,需要在IAM中配置OBS自定义策略,授予更多的OBS权限,并将IAM用户加入到对应的用户组中。

关于OBS OperateAccess和OBS ReadOnlyAccess在控制台列举对象失败的问题说明

由于OBS提供的系统策略OBS OperateAccess和OBS ReadOnlyAccess中预置的列举权限只有列举对象(obs:bucket:ListBucket),而不包含列举多版本对象(obs:bucket:ListBucketVersions)。

所以当桶中存在多版本对象时,IAM用户通过控制台进入桶对象列表可能出现无法列举出对象的情况。此时需要额外授予列举多版本对象的权限(obs:bucket:ListBucketVersions)。

权限相关 所有常见问题

more