我尝试通过禁止组织通过以下方式调用链码来限制访问权限: 对等/提议:/ Channel / Application / MyPolicy 在哪里
我的政策: 类型:签名 规则:“ OR('Org1MSP.admin')”
但是,这也阻止了Org2查询。 Org2是否可能仅查询而无法调用?
答案 0 :(得分:0)
不。频道的任何成员都可以查询和调用实例化的链码。
您唯一可以限制的是Endorsement policy-“,它指定通道上必须执行链码并认可执行结果才能使交易被视为有效的对等体的集合“
答案 1 :(得分:0)
您可以通过限制对chaincode本身中函数的访问来实现此目标。使用CID Lib,您可以识别主叫方(例如通过其msp)并根据这些信息管理访问。有了它和AttributeBasedAccessControl的概念,您可以完美地管理链上所有对查询/调用的访问,并在同级和组织级别将其分开
答案 2 :(得分:0)
联盟中的所有组织都对数据具有相同的权限。因此,不可能仅授予组织READ访问权限。 如果您真的想这样做,那么如何使用私有数据呢?将所有数据都设为私有数据,并向受欺凌者以外的所有组织授予授权。
更方便的方法是为他们提供一个中间CA服务器,并在该信任链上仅授予READ访问权限。