
# 给用户配置OBS系统权限或桶读写权限后仍然提示拒绝访问，请检查相应权限
#### 原因
- **给用户配置了OBS系统权限**
  在IAM中给用户配置了OBS ReadOnlyAccess、OBS OperateAccess、OBS Buckets Viewer等系统权限后，实际上只允许执行一部分OBS操作，例如OBS OperateAccess可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象（不包含多版本）、上传对象、下载对象、删除对象、获取对象ACL操作。
  
- **给用户配置了桶读写权限**
  通过桶策略给用户配置了桶的读写权限后，实际上授予的权限如下：
  - GetObject：下载对象
  
  - GetObjectVersion：下载多版本对象
  
  - PutObject：上传对象
  
  - DeleteObject：删除对象
  
  - DeleteObjectVersion：删除多版本对象
   
上述每一个权限对应一个OBS功能接口，用户使用API或SDK可以正常调用这些接口。但是通过控制台或者客户端工具（OBS Browser+）登录时，加载桶列表、桶概览等页面时会调用获取桶列表（ListAllMyBuckets）等接口，加载对象列表时会调用列举桶内对象（ListBucket）等接口，其他页面也会调用其他的OBS接口。如果授予的权限中没有包含这些接口，则会提示"拒绝访问，请检查相应权限"，或者"不允许在请求的资源上执行此操作"。
例如桶概览页面会通过接口查看桶的生命周期规则、CORS规则等是否已经配置，如[图1]，而预置的系统权限并未包含这些操作权限。
图1桶的基础配置   
![](https://support.huaweicloud.com/obs_faq/figure/zh-cn_image_0000001857697982.png "点击放大")
#### 解决方法
即使界面出现了权限不足的提示，也并不影响已有的权限生效。通过API或SDK可以正常调用相关接口。
对于控制台或客户端工具（OBS Browser+）而言，如果配置了OBS OperateAccess系统权限或桶读写操作，是可以进行对象上传、下载等操作的。
如果希望消除报错提示，需要在IAM中配置[OBS自定义策略](https://support.huaweicloud.com/usermanual-obs/obs_03_0121.html)，授予更多的OBS权限，并将IAM用户加入到对应的用户组中。
#### 关于OBS OperateAccess和OBS ReadOnlyAccess在控制台列举对象失败的问题说明
由于OBS提供的系统策略OBS OperateAccess和OBS ReadOnlyAccess中预置的列举权限只有列举对象（obs:bucket:ListBucket），而不包含列举多版本对象（obs:bucket:ListBucketVersions）。
所以当桶中存在多版本对象时，IAM用户通过控制台进入桶对象列表可能出现无法列举出对象的情况。此时需要额外授予列举多版本对象的权限（obs:bucket:ListBucketVersions）。
