对其他账号下的iam用户授予桶和桶内资源的访问权限-九游平台
场景介绍
本案例介绍如何为其他华为云账号下的iam用户授予obs桶和桶内资源的访问权限。
此处以授予上传和下载桶内对象的权限为例。如果需要配置其他指定的权限,在桶策略和给iam用户授权中配置对应的权限即可。
推荐配置方法
对其他账号下的iam用户授予桶和桶内资源的访问权限,需要同时配置桶策略和给iam用户授权。
例如要允许账号a下的iam用户a访问账号b的桶b:
- 首先,需要账号b配置桶策略:允许iam用户a访问桶b。
- 然后,需要账号a给其下的iam用户a授权:允许iam用户a访问桶b。
配置须知
按照本案例配置后,被授权iam用户可以正常通过api或sdk进行对象上传下载,此外允许通过obs browser 挂载外部桶的方式进行上传下载,但还需要再额外配置一条listbucket的权限才能挂载成功。暂不支持在obs控制台访问非本账号的obs桶。
步骤一:桶拥有者配置桶策略
由桶拥有者或者具有桶策略配置权限的用户配置一条桶策略,允许其他账号下的iam用户对桶执行指定操作。
本示例中,由账号b(桶b的拥有者)配置一条桶策略,桶策略中允许账号a下的iam用户a可以向账号b的桶b中上传对象和下载桶b中的对象。
- 在obs管理控制台左侧导航栏选择“桶列表”。
- 在桶列表单击目标桶的桶名称,进入“对象”页面。
- 在左侧导航栏,单击“权限控制>桶策略”,进入桶策略页面。
- 在“桶策略”页面,单击“创建”。
- 根据使用习惯,策略配置方式以可视化视图为例。单击“可视化视图”。
- 配置桶策略内容。
图1 配置桶策略
表1 桶策略配置说明 参数
说明
策略名称
输入自定义策略的名称
效力
允许
被授权用户
- 被授权用户:其他账号。
填写账号id和iam用户id,格式为:账号id/iam用户id。可授权给多个iam用户,每行一个;“*”表示所有账号或所有iam用户。说明:
账号id和用户id通过“我的凭证”页面可以获取。不同授权场景的设置说明:
- 授权给所有账号及iam用户:填写“*/*”;
- 授权给某个账号及账号下所有iam用户:填写“被授权账号的账号id/*”;
- 授权给某个账号下的某个iam用户:填写“被授权账号的账号id/被授权账号下的iam用户id”。
- 委托账号:输入委托方账号id和委托名
说明:
输入格式:委托方账号id/委托名称,可授权给多个委托,每行一个。
- 可以设置一个或多个普通账号或委托账号,普通账号和委托账号至少填写一种。
授权资源
- 资源范围:当前桶、指定对象
- 指定对象 - 资源路径:输入对象前缀
说明:
- 指定对象支持输入多个资源路径,单击“添加资源路径”按钮即可。
- 您可以指定资源路径为具体对象、对象集或目录,*表示桶内所有对象。
如果指定某个对象:对象名称。
如果指定某个对象集:“对象名称前缀” “*”、“*” “对象名后缀”或“*”。
授权操作
- 动作范围:自定义配置
- 选择动作:
- getobject(获取对象内容,获取对象元数据)
- getobjectversion(获取指定版本对象内容,获取指定版本对象元数据)
- putobject(put上传,post上传,上传段,初始化上传段任务,合并段)
- listbucket(可选,列举桶内对象,获取桶元数据)
说明:
选择listbucket权限,被授权账号可以通过挂载外部桶的方式在obs browser 上访问此obs桶。
如果需要配置其他指定的权限,可根据选择对应动作即可。
- 被授权用户:其他账号。
- 核对权限配置信息,确认无误后单击“创建”,完成允许上传下载的桶策略创建。
- 权限配置信息可以在桶策略列表查看。
图2 查看桶策略列表权限配置信息
步骤二:其他账号给其下的iam用户授权
需要由其他账号(非桶拥有者)给其下的iam用户授权,允许iam用户对桶执行指定操作(允许的操作要与桶策略中允许的操作相同)。
本示例中,需要由账号a给其下的iam用户a授权,允许iam用户a可以向账号b的桶b中上传对象和下载桶b中的对象。
- 使用账号登录华为云,在右上角单击“控制台”。
- 在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
- 在左侧导航窗格中,单击“权限管理”>“权限”>“创建自定义策略”。
- 配置自定义策略参数。
图3 配置自定义策略
表2 自定义策略参数配置说明 参数
说明
策略名称
输入自定义策略的名称
策略配置方式
根据使用习惯进行选择,此处以“可视化视图”为例
策略内容
- 选择“允许”
- 选择“对象存储服务 (obs)”
- 勾选需要授权的操作
- 只读 > obs:bucket:listbucketversions和obs:object:getobjectversion
- 写 > obs:object:putobject
- 列表 > obs:bucket:listbucket(需要使用obs browser 挂载外部桶时勾选此操作)
如果需要配置其他指定的操作权限,勾选对应操作即可,各操作的说明请参见和
- 选择“特定资源 > object”指定对象资源,指定的对象或对象集应与桶策略一致
- 如果桶策略设置的资源为“*”,此处选择“任意”
- 如果桶策略设置的资源为指定对象或对象集,此处应通过资源路径指定与桶策略相同的对象或对象集
【格式】
obs:*:*:object:桶名称/对象名称
本例中桶策略设置“*”,所以此处选择“任意”
- 选择“特定资源 > bucket > 通过资源路径指定”指定桶资源
单击“添加资源路径”,在“路径”中填写被授权的桶名称,如example-bucket
资源的完整路径即为:obs:*:*:bucket:example-bucket
作用范围
默认为“全局级服务”
- 单击“确定”,完成自定义策略创建。
- 创建用户组并授权。
按照iam文档指导,将前面步骤创建的自定义策略添加到用户组中。
- 将需要授权的iam用户加入到创建的用户组中,授权完成。
由于缓存的存在,授予obs相关的策略后,大概需要等待10~15分钟策略才能生效。
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨