我试图通过禁用组织通过以下方式调用链码的能力来限制访问:peer / Propose:/ Channel / Application / MyPolicy where
MyPolicy:类型:签名规则:“OR('Org1MSP.admin')”
但这也阻止了Org2的查询。 Org2是否可以在不调用的情况下进行查询?
您可以通过限制对链代码本身中的函数的访问来实现此目标。使用CID Lib,您可以识别呼叫对等体(例如,通过其msp)并基于这些信息管理访问。通过它和AttributeBasedAccessControl的概念,您可以在链上完美地管理对查询/调用的所有访问,并在对等和组织级别上将其分离
否。通道的任何成员都可以查询和调用实例化的链代码。
唯一可以限制的是Endorsement policy - “它指定了一个必须执行链代码并支持执行结果的通道上的对等集合,以使事务被认为是有效的”
联盟中的所有组织对数据具有相同的权限。因此,不可能仅提供组织READ访问权限。如果你真的想这样做,那么使用私人数据呢?将所有数据作为私人数据,并授权除欺凌之外的所有组织。
更方便的方法是为他们提供一个中间CA服务器,并且只对该信任链提供READ访问权限。