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

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

场景介绍

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

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

推荐配置方法

对其他账号下的IAM用户授权,需要同时配置桶策略和IAM权限

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

  1. 首先需要账号B配置桶策略:允许IAM用户A访问桶B。
  2. 同时需要账号A配置IAM权限:允许IAM用户A访问桶B。

桶策略和IAM权限中同时允许的权限才能生效。

配置须知

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

配置步骤一:配置允许指定操作的桶策略

首先需要由桶拥有者或者具有桶策略配置权限的用户,配置一条允许执行指定操作的桶策略。

  1. 在OBS管理控制台左侧导航栏选择“对象存储”
  2. 在桶列表单击目标桶的桶名称,进入“概览”页面。
  3. 在左侧导航栏,单击“权限”,进入权限管理页面。
  4. 在“桶策略”页面“高级桶策略”下,单击“创建桶策略”。
  5. 配置允许上传下载的桶策略。

    表1 桶策略参数配置说明

    参数

    说明

    策略模式

    选择“自定义模式”

    效果

    选择“Allow”

    被授权用户

    • 选择包含 > 其他账号
    • 账号ID:填写被授权账号的账号ID,可在对应账号或账号下IAM用户的“我的凭证”页面获取
    • 用户ID:填写被授权账号下的IAM用户的IAM用户ID,可在对应IAM用户“我的凭证”页面获取,同时支持通配符(*)表示对账号下所有IAM用户生效

    资源

    • 选择“包含 > 指定资源”
    • 资源名称填写需要访问的桶内对象或对象集
      • 如果指定某个对象:对象名称
      • 如果指定某个对象集:对象名称前缀”+“*”、“*”+“对象名后缀”或“*”

      此处需要下载所有对象,则填写“*”

    动作

    • 包含
    • 动作名称:
      • GetObject
      • GetObjectVersion
      • PutObject
      • 可选:ListBucket(需要使用OBS Browser+挂载外部桶时执行此步骤)

    如果需要配置其他指定的对象操作权限,选择对应动作即可。OBS支持的动作

  6. 单击“确定”,完成允许上传下载的桶策略创建。
  7. 可选:再次单击“创建桶策略”,配置允许列举桶内对象的桶策略(需要使用OBS Browser+挂载外部桶时执行此步骤)。

    表2 桶策略参数配置说明

    参数

    说明

    策略模式

    选择“自定义模式”

    效果

    选择“Allow”

    被授权用户

    • 选择包含 > 其他账号
    • 账号ID:与上一条桶策略一致,填写被授权账号的账号ID,可在对应账号或账号下IAM用户的“我的凭证”页面获取
    • 用户ID:与上一条桶策略一致,填写被授权账号下的IAM用户的IAM用户ID,可在对应IAM用户“我的凭证”页面获取,同时支持通配符(*)表示对账号下所有IAM用户生效

    资源

    选择“包含 > 配置到整个桶”

    动作

    • 包含
    • 动作名称:ListBucket

    如果需要配置其他指定的桶操作权限,选择对应动作即可。OBS支持的动作

  8. 单击“确定”,完成允许列举桶内对象的桶策略创建。

配置步骤二:配置允许指定操作的IAM权限

同时,还需要由被授权IAM用户所属账号,为IAM用户配置允许对指定桶执行指定操作的IAM权限,允许的操作要与桶策略相同。

  1. 使用云服务账号登录管理控制台。
  2. 在顶部导航栏选择“服务列表>管理与部署>统一身份认证服务”,进入“统一身份认证服务”管理控制台。
  3. 在左侧导航栏单击“策略”,进入“策略”界面。
  4. 单击右上角“创建自定义策略”。
  5. 配置自定义策略参数。

    表3 自定义策略参数配置说明

    参数

    说明

    策略名称

    输入自定义策略的名称

    策略配置方式

    根据使用习惯进行选择,此处以“可视化视图”为例

    策略内容

    • 选择“允许”
    • 选择“对象存储服务 (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

    作用范围

    默认为“全局级服务”

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

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

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

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