用户组和角色
此概述介绍了与 Oracle Blockchain Platform 相关的组和角色。使用或管理 Oracle Blockchain Platform 的任何人都必须添加到验证服务器并被授予正确的组。
组
全局角色组与 OpenLDAP 和 OIDC 一起使用。
对于 OpenLDAP,Blockchain Platform Manager 会创建全局组。它们的名称是固定的常量,对于所有实例都是相同的。
对于 OIDC,必须在外部身份提供者中创建和配置全局组。组名不需要遵循固定的命名模式。
对于特定于实例的访问,如果不使用默认访问组 Instance Admin,则必须在 OpenLDAP 和 OIDC 中显式创建实例访问组。
下面是可用于 Oracle Blockchain Platform 的组角色。
| 用户组 | OpenLDAP 中的组名 | 说明 |
|---|---|---|
| BPM 管理 | 对象 CP_ADMIN |
具有此组成员资格的平台级管理员用户可以登录到区块链平台管理器,并设置/重置/配置 IdP 提供者、丰富的历史记录、KeyStore、添加用户以及在 OpenLDAP 中分配角色。他们无法创建/删除/更新/查看实例。 |
| 实例管理 |
对象实例管理 |
Besu 实例操作的主要管理组:创建、删除、更新、启动、停止、缩放和证书更新。此组可以创建/删除/缩放/停止/启动实例,或者对实例执行任何其他生命周期操作。他们还可以通过 UI 或控制台 REST API(如果存在)访问服务控制台并对其执行所有操作。 这些用户具有对区块链平台管理器和区块链平台控制台的读/写访问权限。 |
| 实例运算符 | 对象实例运算符 |
读取/查看访问:实例详细信息、操作状态、控制台/API 查看路径,但不是生命周期操作。此组还可以访问 Blockchain Platform Manager,并可以查看实例详细信息(前提是用户也是实例访问组的一部分)。这些权限将是只读的,它们将无法执行任何其他操作。 |
| 实例 API 客户端 | 对象实例 -API_ 客户 |
代理客户机组。面向通过 RPC 代理 API 进行交互的用户/客户机。 无法登录到区块链平台管理器或数据层。仅允许 REST API 访问。 |
| Fabric CA 管理 | 对象结构 _CA_ADMIN |
用于管理 Fabric CA 身份(例如在 CA 中注册和注册用户)的特定于 Fabric 的角色。它不提供区块链平台管理器管理、实例管理、控制台访问或 Besu/RPC 访问。 无法登录到 Blockchain Platform Manager 或 Blockchain Platform Console。特定于 Fabric CA。 |
| 钱包超级管理员 | OBP_WALLET_SUPER_ADMIN |
允许创建组织管理员和组织用户。具有跨多个组织配置钱包和策略的完全访问权限。 可以登录到 Blockchain Platform Manager。 |
| Wallet 组织管理 | OBP_WALLET_ORG_ADMIN |
允许在自己的组织中创建组织管理员和组织用户。具有仅在其组织中配置钱包和策略的完全访问权限。 可以登录到 Blockchain Platform Manager。 |
| Wallet 组织用户 | OBP_WALLET_ORG_USER |
对自己组织中的所有钱包和策略具有读取访问权限。 无法登录到区块链平台管理器。 |
| 数字资产超级管理员 | 对象 _DA_SUPER_ADMIN |
创建新资产,为资产分配一个或多个部署者,并根据 GOV 策略分配审批者。 无法登录到区块链平台管理器。 |
| 数字资产标记管理 | 对象 _DA_TOKEN_ADMIN |
管理资产的生命周期 无法登录到区块链平台管理器。 |
| 数字资产部署器 | OBP_DA_DEPLOYER |
开发并启动初始部署或升级的审批。 无法登录到区块链平台管理器。 |
| 数字资产审批人 | 对象 DA 审批人 |
批准资产部署。 无法登录到区块链平台管理器。 |
具有可选实例特定覆盖的全局组
在身份 - 提供商级别配置全局组一次将为任何实例的用户定义角色方面。
此外,需要定义一个实例特定的访问组,该访问组定义有权对该实例执行操作的用户。添加到组中的用户将有权使用该全局组定义的角色对该实例执行操作或操作。如果用户不在实例的访问组中,则无论全局组为其定义的角色如何,他都无法对实例执行任何操作。
在创建实例期间,管理员还将提供一个组名称,以用作实例的访问组,该实例定义可以对实例进行操作的用户集(在用户与全局角色组的关联所定义的不同角色中)。由于以下原因,在创建实例期间将此输入用作字段,而不是将组名称与预定义的命名模板(包括实例名称)一起使用:
- 组织可能有自己的命名约定来在其 IDP 中定义组,如果产品预先决定要使用的名称模板,则您可能无法接受。相反,此方法使您可以控制为实例访问组定义组名称。
- 如果您希望同一组用户能够对多个实例进行操作,则可以创建组并将其重新用于多个实例。
这结合了统一的全局组的简单性和特定于实例的许可灵活性。
需要考虑的要点:
- 访问组字段将是可选的,默认值为实例管理员的组 OBP_INSTANCE_ADMIN。
- 如果未提供显式访问组且使用了默认 OBP_INSTANCE_ADMIN,则实例将失去特定于此实例的任何独占访问模式,因为 OBP_INSTANCE_ADMIN 是全局组,并且 IdP 环境中的任何实例管理员用户都将访问该实例。
- 选择了一次访问组,以后无法修改。
- 创建访问组和添加所需用户是 OpenLDAP 和 OIDC 中的用户责任。Blockchain Platform Manager 不会自动创建任何组。
- 将用户添加到组中后,需要在 Blockchain Platform Manager 中完成新登录。Blockchain Platform Manager 将无法识别用户在组注册之前创建的现有会话中的访问权限。
基于 Besu 角色的访问控制
表 4-1 Besu 基于角色的访问控制
| 角色名 | 登录到 Blockchain Platform Manager | 创建实例 | 对实例执行操作 | 查看实例详细资料 | 配置验证 | 查看 Wallet 选项卡 | 在 Wallet 选项卡中执行操作 | 调用 UWaas API | 访问服务控制台 | 执行 RPC 代理 API |
|---|---|---|---|---|---|---|---|---|---|---|
| BPM 管理员 | 是 | 否 | 否 | 否 | 是 | 否 | 否 | 否 | 否 | 否 |
| 实例管理员 | 是 | 是 | 是
仅适用于作为访问组成员的组织 |
是
仅适用于作为访问组成员的组织 |
否 | 否 | 否 | 否 | 是
仅适用于作为访问组成员的组织 |
是
仅适用于作为访问组成员的组织 |
| 实例 API 客户端 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是
仅适用于作为访问组成员的组织 |
| 实例运算符 | 否 | 否 | 否 | 是
仅适用于作为访问组成员的组织 |
否 | 否 | 否 | 否 | 是
只对作为访问组成员的组织提供只读访问权限 |
否 |
| Wallet 超级管理员 | 是 | 否 | 否 | 否 | 否 | 是 | 是 | 是 | 是 | 否 |
| Wallet 组织管理员 | 是 | 否 | 否 | 否 | 否 | 是
仅针对自己的组织 |
是
仅针对自己的组织 |
是 | 是 | 否 |
| Wallet 组织用户 | 否 | 否 | 否 | 否 | 否 | 否 | 否 | 是
仅获取调用 |
是 | 否 |
服务控制台视图
| RBAC 组 | 仪表盘 | 节点 | 浏览器 | 合同 | 数字资产 | 开发者工具 | 客户 | 日志 |
|---|---|---|---|---|---|---|---|---|
BpmAdminGroup |
否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 |
InstanceAdminGroup |
可见:所有仪表盘汇总 | 可见:节点清单和详细信息;管理节点操作 | 可见:块、事务处理和搜索 | 可见:注册表数据、合同详细信息和合同操作 | 可见:所有数字资产视图 | 可见 | 可见:当前用户的账户、余额和活动 | 可见 |
InstanceOperatorGroup |
可见:只读汇总 | 可见:节点清单和详细信息;无管理节点操作 | 可见:块、事务处理和搜索 | 可见:只读 | 可见:只读 | 可见 | 未出现 | 可见 |
InstanceApiClientGroup |
否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问;与 DaTokenAdminGroup 结合使用时启用资源管理器 |
否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 | 否:仅控制台访问 |
DaTokenAdminGroup |
未出现 | 未出现 | 仅当与 InstanceApiClientGroup 组合使用时显示 |
可见:注册表数据、合同详细信息和允许的合同操作 | 可见:数字资产视图和允许的令牌管理工作流 | 未出现 | 可见:当前用户的账户、余额和活动 | 未出现 |
WalletOrgAdminGroup |
未出现 | 未出现 | 未出现 | 未出现 | 未出现 | 未出现 | 可见:当前用户的账户、余额和活动 | 未出现 |
WalletOrgUserGroup |
未出现 | 未出现 | 未出现 | 未出现 | 未出现 | 未出现 | 可见:当前用户的账户、余额和活动 | 未出现 |
WalletSuperAdminGroup |
未出现 | 未出现 | 未出现 | 未出现 | 未出现 | 未出现 | 可见:当前用户的账户、余额和活动 | 未出现 |
InstanceOperatorGroup以及任何 wallet 组都会收到 Operator 选项卡和帐户。wallet 角色不授予合同操作或管理节点操作。DaTokenAdminGroup加上InstanceApiClientGroup将接收合同、数字资产、浏览器和客户。InstanceAdminGroup接收每个当前控制台选项卡。其他组可以授予对下游服务的访问权限,但不能添加控制台选项卡。BpmAdminGroup和InstanceApiClientGroup不是独立的控制台登录角色。- Wallet 组织名和超级管理员组名当前未在控制台中授予跨用户 Wallet 库存或 Wallet 变更。"Accounts"(帐户)选项卡将保留对已验证用户的钱包的作用域。