百度消息服务BMS

    多用户访问控制

    介绍

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

    适用于下列使用场景:

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

    创建用户

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

    2. 在左侧导航栏点击“用户管理”,在“子用户管理列表”页,点击“新建用户”。
    3. 在弹出的“新建用户”对话框中,完成填写“用户名”和确认,返回“子用户管理列表”区可以查看到刚刚创建的子用户。

    权限策略配置

    权限策略有两种类型:系统权限策略自定义权限策略,分别实现BMS的产品级权限和实例级权限控制。

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

    系统权限策略

    系统权限策略是被用户经常使用的权限集合,不可被用户编辑。Kafka默认提供了3种系统权限策略,供配置系统权限策略时选择,如下表:

    策略名称 描述 包含权限
    KAFKAReadPolicy 只读权限 topic查询操作权限;证书查询操作权限;
    KAFKAWritePolicy 读写权限 topic查询操作权限;topic更新操作权限;证书查询操作权限;证书更新操作权限;
    KAFKAFullControlPolicy 完全控制权限 kafka产品的全部权限;

    自定义权限策略

    自定义权限策略允许用户根据自己的需求灵活配置自己的权限策略;配置方式包含2中方式:策略生成器 和 编辑策略文件。

    使用策略生成器配置权限

    策略生成器,适合于需要控制资源访问的场景。kafka权限控制的资源包括topic和证书两种,使用策略生成器定义的策略,可以控制到某个具体要访问的资源;比如:可以设置用户允许下载哪些证书,也可以设置用户可以修改和删除哪些topic。

    场景举例:配置用户可以下载的证书。

    操作步骤:

    创建权限策略:多用户访问控制 -> 策略管理 -> 创建策略;

    image.png

    填写策略名称,选择服务类型为【百度消息服务 KAFKA】;

    策略生成方式,选择【策略生成器】;

    因为我们不配置针对topic的角色,所以不需要配置kafka主题的权限。直接配置kafka证书的权限。选择【下载证书】权限 -> 选择证书所在的地域 -> 选择要授权的证书;点击【完成】按钮后,完成策略配置;

    此时从策略管理的【自定义策略】列表中可以看到刚刚定义的策略;

    使用ACL策略文件配置权限

    ACL策略配置文件,可以理解为配置权限策略规则的json字符串,无论是系统策略还是用户自定义策略,最终都会映射成为一个ACL的json串。使用ACL策略配置文件,用户可以非常灵活的定义权限策略,但是需要用户理解ACL字符串的含义。Kafka提供了一个公用的ACL配置字符串模板,用户可以参照模板配置自己的策略。比如:配置单独的一个创建topic的权限策略;编辑ACL权限策略的语法可参考文档策略语法

    场景举例:配置创建topic的权限策略,并授权给用户。

    操作步骤:

    创建权限策略:多用户访问控制 -> 策略管理 -> 创建策略;

    image.png

    填写策略名称,选择服务类型为【百度消息服务 KAFKA】,策略生成方式,选择【编辑策略文件】,策略模板选择【kafka_acl】;

    配置ACL字符串,包含创建topic权限,创建topic权限使用CreateTopic字符串标识;其它权限标签可参考下文的权限模型中的权限标签。

    点击【完成】后,可以在【自定义策略】列表中查看到新建的策略;

    用户授权

    在“用户管理->子用户管理列表页”的对应子用户的“操作”列选择“添加权限”,并为用户选择系统权限或自定义策略进行授权。

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

    子用户登录

    主账号完成对子用户的授权后,可以将链接发送给子用户;子用户可以通过IAM用户登录链接登录主账号的管理控制台,根据被授权的策略对主账户资源进行操作和查看。

    其他详细操作参考:多用户访问控制

    Kafka权限模型

    kafka权限模型主要描述用户可以控制哪些操作的权限,以及控制权限的粒度。

    • kafka权限模型涉及2种资源的权限管理:topic权限和证书权限;对topic权限的管理,即子用户对topic具有哪些操作的权限;同理,对证书权限的管理,即子用户对证书具有哪些操作权限;
    • 如上图所示,整个权限模型分为3层,其中叶子节点为粒度最细的权限定义,每种权限都通过一个字符串标签唯一标识,用于在定义权限策略时区分权限。权限的含义如下表;

      权限标签 层级 描述
      FULL_CONTROL 1 等同于拥有『父账号』的全部权限;
      AdminTopic 1 针对topic的增删改查权限,包含所有对topic操作的细粒度权限,比如:创建topic;
      AdminCertificate 1 针对证书的增删改查权限,包含所有对证书操作的细粒度权限;
      TopicReadOper 2 topic的查询操作权限,包含topic列表、详情等查询操作;
      TopicWriteOper 2 topic的更新操作权限,包含topic的创建、修改、删除等操作;
      CertificateReadOper 2 证书的查询操作权限,包含证书列表、下载证书等查询操作;
      CertificateWriteOper 2 证书的更新操作权限,包含证书的创建、修改、删除、重新生成等操作;
      ListTopic 3 查看topic列表权限,对应主题列表页面;
      DescTopic 3 查看topic详情权限,对应主题列表中点击topic名称后进入的页面;
      DescTopicCertificate 3 查看topic授权的证书列表权限,对应主题列表页面中【查看证书】操作;
      CreateTopic 3 查看topic授权的证书列表权限,对应主题列表页面中【创建主题】操作;
      AlterTopic 3 修改topic元信息权限,在目前的控制台中没有对应操作;
      DeleteTopic 3 删除topic权限,对应主题列表页面中【创建主题】操作;
      AddTopicPartition 3 为topic添加分区的权限,对应主题列表页面中【扩容分区】操作;
      UpdateTopicCertificate 3 修改topic证书授权,对应主题列表页面中【查看证书】页面中对证书权限的编辑操作;
      ListCertificate 3 查看证书列表权限,对应证书列表页面;
      DescCertificate 3 查看证书详情权限,在目前的控制台中没有对应操作;
      DownloadCertificate 3 下载证书权限,对应证书列表页面中的密钥下载链接;
      DescCertificateTopic 3 查看证书对应topic列表,对应证书列表页面中的【查看主题】操作打开的页面;
      CreateCertificate 3 创建证书权限,对应证书列表页面中的【创建证书】操作;
      AlterCertificate 3 修改证书权限,对应证书列表页面中的修改证书名称操作;
      DeleteCertificate 3 删除证书权限,对应证书列表页面中的【删除证书】操作;
      RebuildCertificate 3 重新生成证书权限,对应证书列表页面中的【重新生成】操作;
      UpdateCertificateTopic 3 修改证书可以访问的topic权限,对应证书列表页面中【查看主题】页面中对证书权限的编辑操作;
    上一篇
    操作流程
    下一篇
    监控报警