访问控制
在 ProtonBase 产品中,用户和角色是两种不同的实体。用户主要用于系统登录和身份识别,而角色则用于平台内的权限管理。它们的关系如下图所示:
用户
在 ProtonBase 平台上,用户需使用邮箱完成账号注册流程。注册后的账号可用于登录 ProtonBase 平台或数据库实例。
角色
ProtonBase 角色是另外一种账号对象,它作为身份标识,会关联一组权限的集合。目前角色是默认内置对象,当用户在 ProtonBase 平台上创建资源实例后,系统会默认创建该资源的关联角色对象,用户通过资源实例的【访问控制】功能,细粒度管理资源实例的访问控制。
定义
在 ProtonBase 产品中,角色可被视为对特定对象的一系列操作权限的集合。例如,如下图所示的 admin 角色对 id 为 dc00000001 的合同对象拥有读、写、更新的权限。用户可以通过将其他用户添加到 admin 角色中,以授予他们相应的权限。
角色的继承树
角色可以通过权限的组合实现更精细的权限管理。例如,一个 Viewer 角色可能仅拥有读权限,而 Admin 角色同时具备读写权限。在这种情况下,Admin 角色可以继承 Viewer 角色,如下图所示:
Contract 角色管理
合同权限管理模块允许用户详细管理角色。以下是可管理的角色列表:
角色 | 作用 | 角色能力 |
---|---|---|
admin@{id}.contracts | Contract 角色管理 | 具有 admin 角色的用户可以管理 Contract,对 Contract 中的角色进行添加、删除用户操作,并且拥有其他所有角色的权限 |
viewer@{id}.contracts | Contract 订阅者 | 具有 viewer 角色的用户对合同对象拥有只读权限 |
dc_creator@{id}.contracts | Data 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 角色中的用户
添加用户
- 点击【合同】-【具体的合同】-【权限管理】打开权限管理面板
- 点击对应角色右侧的【授权用户】
- 在弹出的窗口中,输入目标用户邮箱
- 点击【确定】按钮
删除用户
- 点击【合同】-【具体的合同】-【权限管理】打开权限管理面板
- 点击对应用户右侧的红色【x】标志
- 在弹出的窗口中,点击【确定】按钮