成员服务提供者(MSP)
证书机构通过生成可以用来证实身份的由公钥和私钥形成的键值对来发放认证信息。
MSP是一个可让身份被信任和被网络中其他参与者公认的,而不需要暴露成员的私钥的机制。
MSP将一个身份(信用卡)转换为一个角色(在商店购买东西的能力)。
它给予组织、节点和通道建立MSPs的能力,使其确定谁可以在组织、节点和通道层次上运作。
加入一个需要许可的区块链网络:
- 拥有一个由网络信任的CA颁发的身份。
- 成为一个被网络成员认可和认可的 组织 的成员。MSP将身份与组织的成员资格联系在一起。成员资格是通过将成员的公钥添加到组织的MSP来实现的。
- 将MSP添加到网络上的一个联盟 或者通道。
- 确保MSP包括在网络中的策略 定义。
MSP通过标识参与者在节点或通道上拥有的特定特权,将身份转换为角色。
MSP域
MSP 出现在两个位置:
- 在参与者节点本地(本地 MSP)
- 在通道配置中(通道 MSP)
本地MSP
为客户端和节点(peer节点和排序节点)定义的。
本地MSPs定义节点的权限。(例如,谁是可以操作节点的peer节点管理员)。
每个节点都必须定义一个本地MSP,它定义了在该级别上谁拥有管理权或参与权。
通道MSP
通道MSP在通道层面上定义了管理权和参与权。
本地MSP表现为文件系统上的文件夹结构,而通道MSP则在通道配置中被描述。
通道MSP识别谁在通道层次拥有权限。
每个参与通道的组织都必须为其定义一个MSP。
系统通道MSP包括参与排序服务的所有组织的MSP。
通道MSP也在通道中的每个节点的文件系统上实例化,并通过共识保持同步。
尽管每个节点的本地文件系统上都有每个通道MSP的副本,但从逻辑上讲,通道MSP存在并被维护于通道或网络上。
组织
组织是一个逻辑上成员们的管理组。在单个MSP下管理其成员。
以组织的名字为前缀命名MSP。
组织单元(ou)
一个组织也可以被划分为多个组织单元,每个单元都有一定的职责。
当CA颁发X.509证书时,证书中的OU
字段指定该身份所属的业务流水线。
节点组织单元
特殊类型的组织单元,有时称为节点组织单元
,可用于授予角色以身份标识。
为了使用节点组织单元角色,通过在MSP目录下的配置文件config.yaml中启用“Node OUs”字段来实现:
1 | NodeOUs: |
MSP有4种节点组织单元角色
:
- client
- peer
- admin
- orderer
联盟中的不同组织可以使用组织单元来区分彼此。在这种情况下,不同的组织必须为其信任链使用相同的根CA和中间CA,并分配OU字段来标识每个组织的成员们。
MSP结构
本地MSP文件夹: