对象存储BOS

    配置BOS多用户访问控制

    概述

    多用户访问控制,主要用于帮助用户管理云账户下资源的访问权限,适用于企业内的不同角色,可以对不同的工作人员赋予使用产品的不同权限,当您的企业存在多用户协同操作资源时,推荐您使用多用户访问控制。

    适用于下列使用场景:

    • 中大型企业客户:对公司内多个员工授权管理;
    • 偏技术型 vendor 或 SaaS 的平台商:对代理客户进行资源和权限管理;
    • 中小开发者或小企业:添加项目成员或协作者,进行资源管理。

    配置多用户访问控制包含创建用户、配置策略、用户授权及子用户登录共4个步骤。

    创建子用户

    1. 主账号用户登录后在控制台选择“多用户访问控制”进入用户管理页面。

    image.png

    1. 在左侧导航栏点击“用户管理”,在“用户管理 > 子用户”列表页,点击“创建子用户”。

    image.png

    1. 在弹出的“创建子用户”对话框中,完成填写“用户名”和确认,返回“子用户管理列表”区可以查看到刚刚创建的子用户。

    image.png

    配置策略


    策略类型

    BOS 支持系统策略和用户自定义策略两种。

    • 系统策略:百度智能云系统为管理资源而预定义的权限集,这类策略可直接为子用户授权,用户只能使用而不能修改。
    • 自定义策略:由用户自己创建,更细化的管理资源的权限集,可以针对单个实例配置权限,更加灵活的满足账户对不同用户的差异化权限管理。

    系统策略

    系统策略包含 BosFullAccess 和 BosListAndReadAccess 两种,权限范围详细如下:

    策略名称 权限说明 权限范围
    BosFullAccess BOS 管理权限 管理权限包括 READ、WRITE、LIST对应的API,还包含PutBucketACL, GetBucketACL, PutBucketCors, GetBucketCors, DeleteBucketCors, PutBucketLogging, GetBucketLogging, DeleteBucketLogging。
    BosListAndReadAccess BOS 只读权限 权限包括 ListObjects, ListMultipartUploads, GetBucketLocation, HeadBucket, GetObject, GetObjectMeta, ListParts 接口。

    自定义策略

    子用户通过点击“创建策略”,填写策略名称并选择服务类型为(“自定义产品名”)添加自定义策略来进行自定义权限添加,自定义策略的添加有配置"策略生成器"和"编辑策略文件"两种方式,用户可以根据具体的权限设置修改策略内容。

    策略生成器:用户可以通过策略生成器选择特定的资源来添加自定义策略,点击完成后,创建的策略展示于自定义策略列表中。

    编辑策略文件:用户也可以通过编辑策略文件添加自定义策略,策略文件本质上是一个 JSON 文件,无论是系统策略还是用户自定义策略,最终都会映射成为一个 ACL 的 JSON 串。使用 ACL 策略配置文件,用户可以非常灵活的定义权限策略,但是需要用户理解 ACL 字符串的含义。编辑 ACL 权限策略的语法可参考文档策略语法。BOS 策略文件的详细解释请参见策略文件说明

    选择“自定义策略”并点击“创建策略”。填写策略名称并选择服务类型为“对象存储BOS”。

    策略创建流程

    1. 点击创建策略

    页面左侧选择"策略管理",在新的页面中点击"创建策略"。

    image.png

    2. 选择创建策略的方式

    您可以选择"按策略生成器创建"或者"按标签创建"。若您需要对某个标签下的实例创建策略,请选择按标签创建。若您不需要为标签创建策略,则选择按策略生成方式创建。

    3. 填写策略基本信息

    在创建策略的页面中,填写需要创建的策略的名称,并在说明中填写该策略的备注信息,如该策略应用的实例,希望赋予的子用户或者策略的使用场景,以免将该策略和其他策略混淆。

    image.png

    4. 填写策略权限配置

    填写完策略的基本信息后,您需要填写该策略中包含的使用权限。

    • 首先,您需要填写该策略生效的产品服务。若您希望将该策略生效于 BOS 服务,则在服务中选择"对象存储 BOS";
    • 选择策略的配置方式。其中,策略生成器方式允许您将系统中已生成的权限配置到该策略中;而策略文件需要您编辑 ACL 权限策略,详细的语法可参考文档策略语法。BOS 策略文件的详细解释请参见策略文件说明
    • 若您选择策略生成器方式,您需要进一步该权限对应的效力为允许还是拒绝。若您选择允许,则该策略中选择的权限将允许被授权的用户操作;若您选择拒绝,则该策略中选择的权限将禁止被授权用户操作;
    • 选择权限,您需要选择该策略中包含的权限为只读权限还是管理权限。关于两种权限的区别和说明,请查看本页面上方"系统策略"中的说明;
    • 您还可以选择该策略针对的资源。在 BOS 服务中,您可以指定该策略能够生效的具体 Bucket。若您不选择,那么将对全部 Bucket 生效;
    • 最后,您需要选择该策略在生效时间上的限制条件。您可以指定该策略在某一时刻后或者某一时刻前生效。

    image.png

    用户授权

    当您创建完子用户并生成策略后,即可以为该子用户授予该策略。授予后,子用户在访问主用户资源时,将受到授予策略中已配置权限的限制。

    在“用户管理->子用户”列表页中希望授权的子用户后“操作”栏中选择“添加权限”,为用户授予已生成的策略。

    image.png

    在授权页面中,选择希望授予该子用户的权限对子用户进行访问权限授权。左侧的策略列表中包括全部系统策略和您已经创建的自定义策略。您可以在搜索框中搜索相关的策略名称后,勾选该策略后点击确认完成授权。

    image.png

    说明:如果在不修改已有策略规则的情况下修改某子用户的权限,只能通过删除已有的策略并添加新的策略来实现,不能取消勾选已经添加过的策略权限。

    需要说明的是,主子账户中子用户授予权限的优先级低于 BOS 自有 Bucket ACL 鉴权优先级。Bucket ACL 鉴权是根据主用户 UserId 来进行鉴权的。若系统检测到 Bucket ACL 规则中“effect“字段为”Deny”,且"Userid"字段匹配到通配符“*“或子用户所属主账户 UserId 时,那么 BOS 将优先遵循主账号中 Bucket ACL 的权限配置,此时主账号下子账号授予的权限将失效。

    Bucket 创建时,Bucket ACL 会包含一条默认规则,表示 Bucket 创建者拥有 FULL_CONTROL 权限。Bucket ACL 设置参考Bucket权限控制

    子用户登录

    添加完子用户权限后,子用户可以使用以下两种方式使用 BOS 服务。

    • 点击子用户名可以查看 IAM 用户详细信息,包括 AKSK 及子用户的权限等。子用户可以使用 AKSK 通过 BOS 的周边工具、SDK、API 来使用BOS服务。
    • 将控制台上方的子用户登录链接发送给子用户,子用户可以通过该链接登录控制台。登录后,该子用户将根据被授权的策略对主账户资源进行操作和查看。

    image.png

    您也可以查看 IAM 帮助文档,对其他详细操作参考:多用户访问控制

    上一篇
    管理Object
    下一篇
    数据发布