美文网首页
Hyperledger Fabric v1.2 ACL

Hyperledger Fabric v1.2 ACL

作者: xixuejia | 来源:发表于2018-07-22 19:28 被阅读0次

为了调用create/join channel, install/instantiate chaincode,以及list channel, list installed cc, list instantiated cc, 以及update block size/timeout等功能,需要调研每个操作所需要的权限是什么。
readthedocs

以fabric v1.2为例,v1.2中引入了新的ACL机制,其中关于application(user chaincode, system chaincode以及events stream)的ACL基本都在configtx.yaml里面定义。而这里我们更关注的是系统管理所需要的各种权限。

系统操作 所需权限/policy 描述
create channel orderer genesis block中channel_group->groups->Consortiums->{consortiumName}->values->ChannelCreationPolicy中定义的,默认应该为ANY admin of the consortium. 用configtxlator decode orderer Genesis Block即可查看ChannelCreationPolicy. ChannelCreationPolicy的mod_policy是/Channel/Orderer/Admins 任意admin of the consortium签名。channel genesis block中应该包含所有channel定义的org的admin certs, tls certs等等
join channel peer local MSP Admin Policy join channel是peer级别的操作,通过调用peer的join channel方法让peer加入到某个channel。 Join channel实际上是向peer发送proposal,调用的是cscc的JoinChain方法,而次方法的调用需要检查的是peer local MSP Admin Policy。
install cc peer local MSP Admin Policy chainless proposal不会改变ledger状态,通过peer local MSP验证,也就是peer本地所保存的Org的admin证书验证。install cc只是对lscc的install方法的调用 参考源码
instantiate cc any MSP admin of the channel 由chaincode package中的instantiate policy(和endorsement policy格式一样)决定。如果未指定instantiate policy则使用默认policy。the default instantiation policy is any channel MSP administrator
update block size/timeout /Channel/Orderers/Admins Orderer Orgs中的大多数Admin的signature,由于通常一个fabric网络中只有一个orderer Org, 因此只要一个orderer Org的admin的signature即可 参考->readthedocs

相关文章

网友评论

      本文标题:Hyperledger Fabric v1.2 ACL

      本文链接:https://www.haomeiwen.com/subject/kwmlmftx.html