首页 > 解决方案 > Hyperledger Fabric Composer - 限制系统管理员的访问权限

问题描述

我的问题是关于超级账本结构作曲家的访问控制。

假设您有一个业务网络,其中有以下参与者:

  1. 卖家
  2. (潜在)买家

卖方是向采购公司销售产品的公司的雇员。采购员是采购公司的雇员。

示例:采购公司是戴姆勒。戴姆勒的三名员工在网络中注册为买家。销售公司是通用电气。通用电气的两名员工在网络中注册为卖方。

使用 hyperledger composer 的访问控制语言,可以随意限制买卖双方的访问权限。

但是节点级别的访问控制情况如何?

不仅有买家和卖家,还有两个系统管理员:一个系统管理员负责戴姆勒同行,一个系统管理员负责通用电气同行。

默认情况下,系统管理员可以访问所有数据。也就是说,戴姆勒系统管理员有权访问注册的通用电气员工的所有数据。反之亦然,通用电气系统管理员可以访问戴姆勒注册员工的所有数据。

是否可以将系统管理员的访问权限限制为少数权限,例如:

  1. 安装和启动业务网络的权利
  2. 控制其他系统管理员对系统所做更改的权利(例如,如果戴姆勒系统管理员更改了应用程序的代码,则通用电气管理员必须批准这些更改才能生效)
  3. 阅读对自己公司员工的访问权限

标签: hyperledger-fabrichyperledger-composeraccess-controlsystem-administrationpeer

解决方案


对超级账本结构的访问(包括与业务网络交互的任何事情)由超级账本结构 MSP 管理。作为 Hyperledger Fabric 网络和通道设置的一部分,Hyperledger Fabric 定义了哪些身份(通过 MSP 创建)有权将链代码安装到对等节点上,哪些身份具有通道权限,以便能够实例化或升级链代码。可以将 Peer Install 和 Channel 实例化/升级限制为特定身份。例如,有关 Hyperledger 结构 MSP 的信息可以在此链接中找到 https://hyperledger-fabric.readthedocs.io/en/release-1.2/msp.html但您可能希望熟悉本节的完整操作部分部分。

Composer 中的访问控制是通过参与者和业务网络 ACL 文件完成的。您可以控制哪些参与者可以对 Composer 运行时控制的资源执行各种操作。您需要一个身份(由您的 MSP 生成)才能在通道/链码上进行交互(根据超级账本结构的要求),该身份必须事先映射到特定参与者才能在业务网络上进行交互。当请求发送到业务网络时,composer 将根据发出请求的身份查找该特定参与者,并使用该参与者及其类型通过业务网络 ACL 文件中的信息确定允许其执行的操作做。

请注意,诸如 Peer install、chaincode 的通道实例化/升级之类的东西是结构级别的功能,而不是 composer 功能,因此您不能通过 composer ACL 定义来控制这些类型的活动


推荐阅读