超级账本中的角色(读+写)
Roles (read+write) in hyperledger
是否可以允许拥有超级账本权限的人只读,而其他人读+写?
那么,您可以为用户指定不同的角色吗?
我将根据 Hyperledger Fabric v1.0.0 来回答这个问题。
简短的回答是肯定的。
有几个方面需要讨论:
1) 能够发送(广播)和接收(传递)交易 to/from 排序服务。
如您所知,为了使交易进入分类帐,它们必须通过排序服务。订购服务可以分为多个通道(用最简单的术语来说,将通道视为唯一的分类帐)。每个通道都有定义谁能够读取和写入通道的策略 from/to。关于这个主题的文档正在更新中,但基本上有频道 reader 和作者政策。如果你不能 "write" 到通道,你就不能向排序服务提交交易。此外,如果您无权写入通道,则无法向部署在您没有写入权限的通道上的链代码的节点发送背书提案。
这些政策都是渠道配置交易的一部分(目前正在更新/创建文档)。
2) 链码
除了上述基于通道的策略之外,还可以限制对链代码函数的访问。这实际上通常是从链代码本身内部处理的,由链代码的部署者/开发人员来处理(尤其是在当前的 1.0.0-alpha 版本中)。正在进行一些额外的工作来添加一些访问控制库,这将使这样做变得更加简单
是否可以允许拥有超级账本权限的人只读,而其他人读+写? 那么,您可以为用户指定不同的角色吗?
我将根据 Hyperledger Fabric v1.0.0 来回答这个问题。 简短的回答是肯定的。
有几个方面需要讨论:
1) 能够发送(广播)和接收(传递)交易 to/from 排序服务。
如您所知,为了使交易进入分类帐,它们必须通过排序服务。订购服务可以分为多个通道(用最简单的术语来说,将通道视为唯一的分类帐)。每个通道都有定义谁能够读取和写入通道的策略 from/to。关于这个主题的文档正在更新中,但基本上有频道 reader 和作者政策。如果你不能 "write" 到通道,你就不能向排序服务提交交易。此外,如果您无权写入通道,则无法向部署在您没有写入权限的通道上的链代码的节点发送背书提案。
这些政策都是渠道配置交易的一部分(目前正在更新/创建文档)。
2) 链码
除了上述基于通道的策略之外,还可以限制对链代码函数的访问。这实际上通常是从链代码本身内部处理的,由链代码的部署者/开发人员来处理(尤其是在当前的 1.0.0-alpha 版本中)。正在进行一些额外的工作来添加一些访问控制库,这将使这样做变得更加简单