fabric2.0官方文档翻译:成员资格Membership

原文地址:https://hyperledger-fabric.readthedocs.io/en/release-2.0/membership/membership.html

成员资格服务提供商(MSP)发挥作用的地方: 它通过列出MSP包含的成员的身份或通过标识哪些根CA和中间CA被授权为信任域(例如组织)颁发成员证书。或者(通常是这样)通过将两者结合使用。

通过定义网络或通道包含的MSP可以进行网络或者通道的成员管理,但MSP的功能不仅限于列出谁是网络参与者或通道成员。MSP可以识别参与者在MSP代表的组织范围内扮演的特定角色(2.0版本的四个角色:peer节点、客户端节点、管理员、普通成员),并基于角色进行网络或通道的访问权限设置(例如通道管理员权限,读权限,写权限)。

MSP的配置会发送给该组织的成员参与的所有通道(以MSP的形式)。除了通道MSP外,peer节点,排序节点和客户端还会维护一个本地MSP, 以对非通道相关的消息的进行身份验证,并定义对特定组件的访问权限(例如谁可以在peer节点上安装链码)。

另外,如身份文档中所讨论的,MSP可以识别已撤销的身份列表。

将MSP映射到组织
现实中的组织和MSP的映射可以是一对一,或者一对多,或者多对一,看应用场景的实际需求。MSP的命名建议:组织ORG1只有一个MSP:ORG1-MSP。组织2有两个MSP:ORG2-MSP-NATIONAL和 ORG2-MSP-GOVERNMENT,可以根据不同业务或者部门进行命名。

组织单位OUs和MSP
一个MSP下还可以用OUs属性进行不同部分的划分。
我们可以设置同个MSP下某个OU的成员可以访问通道,而别的OU的却不可以。
应用场景:比如多个组织共用一个MSP时,可以使用OUs属性区别不同组织。

本地MSP和通道MSPs
客户端(用户)和节点(peer节点和排序节点)都必须定义一个本地MSP。节点的本地MSP定义了节点的权限permission of node,比如谁是该节点的管理员或节点的普通成员。用户的本地MSP允许用户端在其交易中对自身进行身份验证(向其他人证明我是这个身份),比如调用链码的交易时,请求中加上本地MSP中的身份证书,证明自己是通道成员,配置交易时,证明自己是组织管理员。(原文:The local MSPs of the users allow the user side to authenticate itself in its transactions as a member of a channel (e.g. in chaincode transactions), or as the owner of a specific role into the system (an org admin, for example, in configuration transactions).)
使用场景:组织1管理员B使用管理员身份证书连接到组织1的peer节点要进行智能合约安装操作,peer节点检查本地MSP,验证这个身份是组织1的成员证书后链码才能成功安装。

通道MSPs包括了所有通道成员的MSP,在通道配置中配置。通道中的peer节点和排序节点共享相同的通道MSPs视图,用于验证通道参与者(交易发起者)是否有操作通道的权限。
使用场景:组织1管理员B要在通道中部署智能合约,这是一个通道操作,需要通道的其他组织同意才可以,因此peer节点需要查看通道MSPs,具体流程省略。
在这里插入图片描述
MSP级别在这里插入图片描述
MSP在每个管理级别都是必需的-必须为网络,通道,peer节点、排序节点和用户定义MSP。
如图所示,网络系统配置通道由ORG1来管理,示例应用通道channel由ORG1ORG2管理。
Note that these are administration identities, reflecting who can administer these components. So while ORG1 administers the network, ORG2.MSP does exist in the network definition.注意这图中是管理者身份,因此网络管理者是ORG1,但是ORG2同样存在在网络中 。

Network MSP: 系统配置中定义了整个区块链网络的成员,通过配置所有参与者的MSPs,同时可以定义这里面的谁有管理权限(可以进行创建通道等操作)。
Channel MSP::该通道的MSPs中的通道策略Channel policies定义了谁有能力参与该通道上的具体某些操作,例如,添加组织或实例化链码等。
Peer MSP:此本地MSP在每个对等方的文件系统上定义,并且每个对等方都有一个MSP实例。从概念上讲,它执行与通道MSP完全相同的功能,但限制是它仅适用于定义它的对等方。使用对等方的本地MSP评估授权的操作的示例是:在对等方上安装链码。
order MSP:与对等MSP一样,订购者本地MSP也定义在节点的文件系统上,并且仅适用于该节点。像对等节点一样,订购者也由单个组织拥有,因此具有单个MSP来列出其信任的参与者或节点。

MSP结构
本地MSP只代表本地该节点,比如peer2节点,则下图第六项签名证书只是peer2自己的身份证书。通道MSPs中的每个MSP是代表组织的MSP,结构略有不同,比如可能会包含组织中的所有身份证书,包括多个peer多个用户等。
在这里插入图片描述
如您所见,MSP有九个要素。在目录结构中最容易想到这些元素,其中MSP名称是根文件夹名称,每个子文件夹代表MSP配置的不同元素。

让我们更详细地描述这些文件夹,看看它们为什么很重要。

**根CA:**此文件夹包含由此MSP代表的组织信任的根CA的自签名X.509证书的列表。该MSP文件夹中至少必须有一个根CA X.509证书。
这是最重要的文件夹,因为它标识了必须从其派生所有其他证书才能被视为相应组织的成员的CA。

**中间CA:**此文件夹包含此组织信任的中间CA的X.509证书的列表。每个证书必须由MSP中的一个根CA签名,或由其发行CA链最终引回到受信任的根CA的中间CA签名。
中间CA可以代表组织的不同部门(例如ORG1-MANUFACTURING和ORG1-DISTRIBUTION为ORG1),也可以代表组织本身(如果商业CA被用于组织的身份管理,则可能是这种情况)。在后一种情况下,中间CA可以用来表示CA组织的细分。请注意,可能有一个没有中间CA的正常运行的网络,在这种情况下,此文件夹将为空。
与“根CA”文件夹类似,此文件夹定义了必须从中颁发证书才能被视为组织成员的CA(本身能被根CA验证)。

组织单位(OU):这些$FABRIC_CFG_PATH/msp/config.yaml 文件在文件中列出,并包含组织单位的列表,其成员被认为是此MSP代表的组织的一部分。当您想要将组织的成员限制为持有具有特定OU的身份的成员时,此功能特别有用。

指定OU是可选的。如果未列出OU,则MSP一部分的所有身份将被视为组织的成员。

**管理员:**此文件夹包含标识列表,这些标识定义了具有该组织管理员角色的参与者。对于标准MSP类型,此列表中应该有一个或多个X.509证书,即可以有一个或多个管理员身份。
值得注意的是,仅仅因为演员具有管理员角色,并不意味着他们可以管理特定资源!实际能力由管理系统资源的策略确定。例如,渠道策略可能指定ORG1-MANUFACTURING 管理员有权向渠道添加新组织,而 ORG1-DISTRIBUTION管理员则没有这种权利。

即使X.509证书具有ROLE属性(例如,ROLE为admin),这仍指参与者在其组织内而不是在区块链网络上的角色。这类似于OU属性的目的,该属性(如果已定义)是指参与者在组织中的位置。

当某通道策略中定义了通道的管理员权限为某个组织的管理员角色时,该组织的管理员角色才真正被赋予管理的权限(如实例化链码)。这样,实现组织角色与区块链网络角色的统一。

**吊销证书:**如果演员的身份已被吊销,则有关身份的标识信息(而不是身份本身)保存在此文件夹中。对于基于X.509的身份,这些标识符是称为主题密钥标识符(SKI)和授权访问标识符(AKI)的字符串对,并且在使用X.509证书以确保未使用该证书时都将对其进行检查。被撤销。
此列表在概念上与CA的证书吊销列表(CRL)相同,但它也与组织中的成员资格吊销有关。结果,MSP的管理员(本地或渠道)可以通过向CA的更新的CRL发布由其颁发的吊销证书来快速吊销组织中的参与者或节点。此“列表列表”是可选的。仅当证书被吊销时,它才会被填充。

**节点身份:**此文件夹包含节点的身份。通过与KeyStore一起使用,这个身份将允许节点在发送给其通道和网络其他参与者的消息中对自身进行身份验证(向其他人证明我是这个身份)。对于基于X.509的身份,此文件夹包含X.509证书。
使用场景:peer节点在交易提案响应中放置这个证书,表明该peer节点对该交易提案响应进行背书-随后可以在验证时根据结果交易的背书策略检查该证书。

对于本地MSP,此文件夹是必需的,并且该节点必须完全有一个X.509证书。它不用于通道MSP。

**KeyStore私钥:**此文件夹是为peer节点或排序节点的本地MSP(或在客户端的本地MSP中)定义的,并且包含节点的签名密钥。该密钥在密码上匹配包含在“ 节点身份” 文件夹中的节点身份,并用于对数据进行签名,例如,作为背书阶段的一部分,对交易建议响应进行签名。

此文件夹对于本地MSP是必需的,并且必须仅包含一个私钥。显然,对此文件夹的访问必须仅限于对peer具有管理权限的用户。

通道MSP的配置不包括此文件夹,因为通道MSP仅旨在提供身份验证功能而不是签名功能。

**TLS根CA:**此文件夹包含此组织信任用于TLS通信的根CA的自签名X.509证书的列表。TLS通信的一个示例是当peer节点需要连接到排序节点以便接收账本更新时。

此文件夹中至少必须有一个TLS根CA X.509证书。

**TLS中间CA:**此文件夹包含由该MSP代表的组织信任的用于TLS通信的中间CA证书CA列表。当商业CA用于组织的TLS证书时,此文件夹特别有用。与成员资格中间CA相似,指定中间TLS CA是可选的。

如何配置OUs属性
看msp介绍页

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值