更新时间:2025-08-04 GMT+08:00
对其他账号授予指定对象的读权限
场景介绍
本案例介绍如何为其他账号授予OBS桶中某个对象或某类对象的读权限。这里的账号指华为云账号本身,不包含账号下的IAM用户,如果要为IAM用户授权,请参见对其他账号下的IAM用户授予桶和桶内资源的访问权限。
推荐配置方法
对其他账号授权,推荐使用桶策略。
配置须知
本案例预置的“对象只读”模板允许其他账号对桶内指定对象执行以下权限:
- GetObject:获取对象内容、获取对象元数据
- GetObjectVersion:获取指定版本对象内容、获取指定版本对象元数据
- GetObjectVersionAcl:获取指定版本对象ACL
- GetObjectAcl:获取对象ACL
- RestoreObject:恢复归档存储对象
按照本案例配置后,可以正常通过API或SDK完成读操作(下载指定对象),但如果通过控制台或OBS Browser+登录,会出现无权限的相关提示信息。
报错原因:通过控制台或者OBS Browser+登录后,加载桶列表时会调用获取桶列表(ListAllMyBuckets)等接口,加载对象列表时会调用列举桶内对象(ListBucket)等接口,其他页面也会调用其他的OBS接口。而授予的只读权限中并没有包含这些操作的权限,所以会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。
配置步骤
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在桶列表单击目标桶的桶名称,进入“对象”页面。
- 在左侧导航栏,单击“权限控制>桶策略”,进入桶策略页面。
- 在“桶策略”页面,单击“创建”。
- 配置桶策略内容。
图1 配置桶策略
表1 桶策略配置说明 参数
说明
策略配置方式
根据使用习惯选择“可视化视图”或“JSON视图”,此处以“可视化视图”为例。
策略名称
输入自定义策略的名称
效力
允许
被授权用户
- 被授权用户:其他账号
- 委托账号:输入委托方账号ID和委托名
说明:
输入格式:委托方账号ID/委托名称,可授权给多个委托,每行一个。
- 可以设置一个或多个普通账号或委托账号,普通账号和委托账号至少填写一种。
授权资源
- 资源范围:指定对象
- 资源路径:输入对象前缀
授权操作
- 动作范围:模板配置
- 模板:对象只读
- 核对权限配置信息,确认无误后单击“创建”,完成桶策略创建。
验证权限
跨账号授权场景下,被授权用户可以使用OBS Browser+的挂载外部桶功能、API、SDK访问被授权的桶和对象。