更新时间:2024-02-29 GMT+08:00

对其他账号授予指定对象的读权限

场景介绍

本案例介绍如何为其他账号授予OBS桶中某个对象或某类对象的读权限。这里的账号指账号本身,不包含账号下的IAM用户,如果要为IAM用户授权,请参见对其他账号下的IAM用户授予桶和桶内资源的访问权限

推荐配置方法

对其他账号授权,推荐使用桶策略。

配置须知

按照本案例配置后,可以正常通过API完成读操作(下载指定对象),但如果通过控制台或OBS Browser+登录,会出现无权限的相关提示信息。

报错原因:通过控制台或者OBS Browser+登录后,加载桶列表时会调用获取桶列表(ListAllMyBuckets)等接口,其他页面也会调用其他的OBS接口。而授予的只读权限中并没有包含这些操作的权限,所以会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。

配置步骤

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

    表1 桶策略参数配置说明

    参数

    说明

    策略模式

    选择“只读模式”

    被授权用户

    • 选择包含 > 其他账号
    • 账号ID:填写被授权账号的账号ID,可在对应账号“我的凭证”页面获取
    • 用户ID:同账号ID,填写被授权账号的账号ID,可在对应账号“我的凭证”页面获取
      说明:

      因为本案例是针对账号本身授权,不包含账号下的IAM用户,所以用户ID与账号ID相同。

    资源

    • 包含
    • 资源名称填写需要访问的桶内对象或对象集

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

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

  6. 单击“确定”,完成桶策略创建。