PlatONE是万向区块链与合作伙伴联合打造的区块链联盟链,支持隐私计算。本文为PlatONE的权限模型介绍。
根据系统中的不同实体对象,PlatONE将权限管理进行了模块化的拆分。针对系统中用户账户、节点和智能合约这三类实体,分别设计了用户角色管理模块、节点管理模块和合约防火墙模块来进行权限的控制和管理。
- 角色管理模块:用于管理用户在链上的权限
- 节点管理模块:用于管理区块链网络中的节点
- 合约防火墙模块:实现接口级别的合约访问权限
1. 角色管理
PlatONE中每种角色对应不同的权限等级,并通过系统合约对用户的角色进行管理,以控制用户的权限。
新用户向系统合约提交注册信息,待链管理员审核通过后,便成为平台用户。用户可以通过用户地址或用户名称来查询或更新用户信息。与此同时,管理员可以禁用、激活以及删除用户。
平台用户可以申请不同的角色,待链管理员审核通过后,被授予对应的角色,并拥有相应的权限。用户可以通过角色管理合约来查询角色,通过用户地址和用户名称两种查询条件查询用户角色信息,是否有某个角色,系统中某个角色的地址。
PlatONE中的权限都是对系统中的用户分配的,用户的角色即表示用户的权限,目前用户可以分配如下角色(权限)。
每个角色的权限范围如下表所示