访问控制

在 ProtonBase 产品中,用户和角色是两种不同的实体。用户主要用于系统登录和身份识别,而角色则用于平台内的权限管理。它们的关系如下图所示:

用户

在 ProtonBase 平台上,用户需使用邮箱完成账号注册流程。注册后的账号可用于登录 ProtonBase 平台或数据库实例。

角色

ProtonBase 角色是另外一种账号对象,它作为身份标识,会关联一组权限的集合。目前角色是默认内置对象,当用户在 ProtonBase 平台上创建资源实例后,系统会默认创建该资源的关联角色对象,用户通过资源实例的【访问控制】功能,细粒度管理资源实例的访问控制。

定义

在 ProtonBase 产品中,角色可被视为对特定对象的一系列操作权限的集合。例如,如下图所示的 admin 角色对 id 为 dc00000001 的合同对象拥有读、写、更新的权限。用户可以通过将其他用户添加到 admin 角色中,以授予他们相应的权限。

角色的继承树

角色可以通过权限的组合实现更精细的权限管理。例如,一个 Viewer 角色可能仅拥有读权限,而 Admin 角色同时具备读写权限。在这种情况下,Admin 角色可以继承 Viewer 角色,如下图所示:

Contract 角色管理

合同权限管理模块允许用户详细管理角色。以下是可管理的角色列表:

角色作用角色能力
admin@{id}.contractsContract 角色管理具有 admin 角色的用户可以管理 Contract,对 Contract 中的角色进行添加、删除用户操作,并且拥有其他所有角色的权限
viewer@{id}.contractsContract 订阅者具有 viewer 角色的用户对合同对象拥有只读权限
dc_creator@{id}.contractsData Clouds 管理具有 dc_creator 角色的用户可以创建、删除 Data Clouds 对象,并拥有 viewer 角色的权限
billing_admin@{id}.contracts账单管理具有 billing_admin 角色的用户同时拥有 billing_viewer 角色的权限
billing_viewer@{id}.contracts账单订阅具有 billing_viewer 角色的用户可以订阅合同账单信息,并拥有 viewer 角色的权限

角色的命名格式为 ShortName@Resource,其中 ShortName 为角色简写,Resource 为资源定位符。在上下文明确的页面中,系统会以 ShortName 形式展示角色信息。

打开 Contract 权限管理

登录 ProtonBase 平台后,点击【合同】-【具体的合同 id】-【权限管理】,如下所示:

Contract 角色关系树视图

Contract 资源中绑定的角色关系视图如下:

添加、删除 Contract 角色中的用户

添加用户

  1. 点击【合同】-【具体的合同】-【权限管理】打开权限管理面板
  2. 点击对应角色右侧的【授权用户】
  3. 在弹出的窗口中,输入目标用户邮箱
  4. 点击【确定】按钮

删除用户

  1. 点击【合同】-【具体的合同】-【权限管理】打开权限管理面板
  2. 点击对应用户右侧的红色【x】标志
  3. 在弹出的窗口中,点击【确定】按钮