Hyperledger Fabric Composer - 限制系统管理员的访问权限

Hyperledger Fabric Composer - restricting access rights of system administrators

我的问题是关于 hyperledger fabric composer 中的访问控制。

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

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

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

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

使用hyperledger composer的Access Control Language,可以任意限制买卖双方的访问权限。

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

不仅有买卖双方,还有两位系统管理员:一位负责戴姆勒同行的系统管理员,一位负责通用电气同行的系统管理员。

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

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

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

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

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

请注意,链码的 Peer install、通道 instantiate/upgrade 之类的东西是结构级别的功能,而不是作曲家的能力,因此您无法通过作曲家 ACL 定义来控制这些类型的 activity