文档首页/ 对象存储服务 OBS/ 权限配置指南/ 典型场景配置案例/ 对其他账号授权/ 对其他账号下的IAM用户授予桶和桶内资源的访问权限
更新时间:2024-08-15 GMT+08:00

对其他账号下的IAM用户授予桶和桶内资源的访问权限

场景介绍

本案例介绍如何为其他华为云账号下的IAM用户授予OBS桶和桶内资源的访问权限。

此处以授予上传和下载桶内对象的权限为例。如果需要配置其他指定的权限,在桶策略和给IAM用户授权中配置对应的权限即可。

推荐配置方法

对其他账号下的IAM用户授予桶和桶内资源的访问权限,需要同时配置桶策略和给IAM用户授权

例如要允许账号A下的IAM用户A访问账号B的桶B:

  1. 首先,需要账号B配置桶策略:允许IAM用户A访问桶B。
  2. 然后,需要账号A给其下的IAM用户A授权:允许IAM用户A访问桶B。

配置须知

按照本案例配置后,被授权IAM用户可以正常通过API或SDK进行对象上传下载,此外允许通过OBS Browser+挂载外部桶的方式进行上传下载,但还需要在额外配置一条ListBucket的权限才能挂载成功。暂不支持在OBS控制台访问非本账号的OBS桶。

步骤一:桶拥有者配置桶策略

由桶拥有者或者具有桶策略配置权限的用户配置一条桶策略,允许其他账号下的IAM用户对桶执行指定操作。

本示例中,由账号B(桶B的拥有者)配置一条桶策略,桶策略中允许账号A下的IAM用户A可以向账号B的桶B中上传对象和下载桶B中的对象。

  1. 在OBS管理控制台左侧导航栏选择“桶列表”
  2. 在桶列表单击目标桶的桶名称,进入“对象”页面。
  3. 在左侧导航栏,单击“访问权限控制>桶策略”,进入桶策略页面。
  4. 在“桶策略”页面,单击“创建”。
  5. 根据使用习惯,策略配置方式以可视化视图为例。单击“可视化视图”。
  6. 配置桶策略内容。

    图1 配置桶策略
    表1 桶策略配置说明

    参数

    说明

    策略名称

    输入自定义策略的名称

    策略内容

    效力

    允许

    被授权用户

    • 被授权用户:其他账号。
      本示例中,此处填写“账号A的ID/IAM用户A的ID”。
      说明:
      1. 账号ID和IAM用户ID可在“我的凭证”页面获取。
      2. 输入格式:domainId/userld,可授权给多个账号,每行一个。
      3. domainId/*表示授权给账号下的所有用户。

    授权资源

    • 资源范围:当前桶、指定对象
    • 指定对象 - 资源路径:输入对象前缀
      说明:
      1. 指定对象支持输入多个资源路径,单击“添加资源路径”按钮即可。
      2. 您可以指定资源路径为具体对象、对象集或目录,*表示桶内所有对象。

        如果指定某个对象:对象名称。

        如果指定某个对象集:“对象名称前缀”+“*”、“*”+“对象名后缀”或“*”。

    授权操作

    • 动作范围:自定义配置
    • 选择动作:
      • GetObject(获取对象内容,获取对象元数据)
      • GetObjectVersion(获取指定版本对象内容,获取指定版本对象元数据)
      • PutObject(PUT上传,POST上传,上传段,初始化上传段任务,合并段)
      • ListBucket(可选,列举桶内对象,获取桶元数据)
      说明:
      1. 选择ListBucket权限,被授权账号可以通过挂载外部桶的方式在OBS Browser+上访问此OBS桶。
      2. 如果需要配置其他指定的权限,选择对应动作即可。OBS支持的动作

  7. 核对权限配置信息,确认无误后单击“创建”,完成允许上传下载的桶策略创建。

步骤二:其他账号给其下的IAM用户授权

需要由其他账号(非桶拥有者)给其下的IAM用户授权,允许IAM用户对桶执行指定操作(允许的操作要与桶策略中允许的操作相同)。

本示例中,需要由账号A给其下的IAM用户A授权,允许IAM用户A可以向账号B的桶B中上传对象和下载桶B中的对象。

  1. 使用账号登录华为云,在右上角单击“控制台”。
  2. 在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
  3. 在左侧导航窗格中,单击“权限管理”>“权限”>“创建自定义策略”。
  4. 配置自定义策略参数。

    图2 配置自定义策略
    表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

    作用范围

    默认为“全局级服务”

  5. 单击“确定”,完成自定义策略创建。
  6. 创建用户组并授权

    按照IAM文档指导,将前面步骤创建的自定义策略添加到用户组中。

  7. 将需要授权的IAM用户加入到创建的用户组中,授权完成。

    由于缓存的存在,授予OBS相关的策略后,大概需要等待10~15分钟策略才能生效。