Hyperledger fabric 在Hyperledger结构中使用基于自定义从属关系的策略
我希望为对等组织提供4个中间CA:Hyperledger fabric 在Hyperledger结构中使用基于自定义从属关系的策略,hyperledger-fabric,hyperledger-fabric-ca,organizational-unit,Hyperledger Fabric,Hyperledger Fabric Ca,Organizational Unit,我希望为对等组织提供4个中间CA:ICA1、ICA2、ICA3和ICA4——每个节点OU(对等、订购方、管理员和客户端)一个 假设我将ICA1作为信道配置的对等节点OU中的cacerts属性,那么Peer身份是否会位于不同的ICA(ICA2、ICA3或ICA4)下,能够满足签名为“OrgMSP.Peer”的策略 如果是,那么我如何确保只有特定部门下的角色集才能满足OrgMSP.给出的策略?我不希望为组织中的每个部门或团队创建MSP定义。那么,没有这一点是否可以实现 如果否,那么我还可以在通道的
ICA1、ICA2、ICA3和ICA4
——每个节点OU(对等、订购方、管理员和客户端)一个
假设我将ICA1
作为信道配置的对等节点OU中的cacerts
属性,那么Peer
身份是否会位于不同的ICA
(ICA2
、ICA3
或ICA4
)下,能够满足签名为“OrgMSP.Peer”
的策略
- 如果是,那么我如何确保只有特定部门下的角色集才能满足
给出的策略?我不希望为组织中的每个部门或团队创建MSP定义。那么,没有这一点是否可以实现OrgMSP.
- 如果否,那么我还可以在通道的节点OU配置中为特定OU指定一组ICA,这样我就可以利用非常复杂的策略,如
,假设这里,“OrgMSP.peer”之一的签名
OU的对等方
属性将是ICA1和ICA3。这是可以实现的吗cacerts
您可以看到有关此证书在实际中如何使用的更多详细信息。因此,这意味着如果我创建policy
OrgMSP.admin
并在OU定义中将ICA1作为admin
角色的cacert
,那么只有ICA1下的admin
身份才能执行该操作,对吗?假设ICA2下的admin
类型标识将无法满足该策略。对的如果我没有错,cacerts
值只能设置为一个PEM证书,对吗?如果我在此处编辑FabricNodeOUs
消息块:那么我也可以拥有自定义角色。对吗?Fabric目前实际上不支持该功能。但是,在结构的某些不同组件上还有其他含义吗?是的,如果您指定了与特定节点出口关联的CA证书,则该证书和OU组合被认为对该角色有效。注意,您可以多次指定角色,并具有多个颁发证书。您可以为角色选择自定义OU名称,但不能指定自定义角色。如果您想要任意角色,您可以基于OU而不是基于角色构建策略。答案有点细微差别。可以直接使用引用OU的JSON/protobuf表示来制定策略。但是,CLI工具(如configtxgen
或peer
)使用的“策略语言”仅支持引用角色。扩展策略语言应该不会太困难,而且它有一个开放的工作项,但是现在,尽管可以在内部定义基于OU的策略,但我们没有很好的方式对外表示它。对于大多数用例,“管理员”、“对等者”、“客户机”和“订购者”的角色已经足够了。如果这能满足你的需要,我会用这些。如果确实需要基于OU的任意策略,可以定义与特定发行人关联的任意OU,并使用这些OU手动(在代码中)制定自定义策略。如果你能避免的话,我建议你不要使用后者,因为这需要更多的工作。至于这些事情是必须在引导时完成,还是可以在以后修改,一般来说,任何参数,比如在引导时设置的MSP和策略,都可以在以后更新。只是有点痛。