ACL:如何`ImplicitMeta`规则解释?

问题描述 投票:2回答:1

在访问控制Hyperledger面料的官方文档:https://hyperledger-fabric.readthedocs.io/en/latest/access_control.html

ImplicitMeta政策汇总政策的结果

ImplicitMeta法则究竟是如何解释`设置理论”,当与其他规则相结合?

例:

Policies:
  AndPolicy:
    Type:Signature
    Rule: "AND('Org1.Peer','Org2.Peer','Org3.Peer')"
  OrPolicy:
    Type:Signature
    Rule: "OR('Org1.Peer','Org2.Peer','Org3.Peer')"
  MetaPolicy:
    Type:ImplicitMeta
    Rule: "ALL OrPolicy" 

如果我们设置MetaPolicy为“任何社会实践Practical Work”的规则,是相当于OrPolicy?

如果我们把“ALL OrPolicy”,是等同于实践Practical Work?

ImplicitMeta规则<ALL|ANY|MAJORITY> <sub_policy>的语法表明sub_policy是一组元素,而像SignatureA and B and C规则语法可以表达的条件表达式,而不是一组。因此,这两种规则的组合的确切含义,似乎我不清楚。

hyperledger-fabric hyperledger
1个回答
0
投票

我觉得我已经找到了答案,尽管是不完整的。任何更正,补充的欢迎。

如果我们设置MetaPolicy为“任何社会实践Practical Work”的规则,是相当于OrPolicy?如果我们把“ALL OrPolicy”,是等同于实践Practical Work?

最简洁的答案是不。

Policies in Hyperledger Fabric页,这是不是从一些未知的原因任何位置链接,为我们提供了一些建议。

更详尽的解释:

# The lines below are just based on my conceptual understanding, 
# therefore they may have errors in details.
Channel:
  Groups:
    Application:
      Policies:
        M:             #-----------(1)
          Type: ImplicitMeta
          Rule: "ALL P"
      Groups:
        GroupA:
          Policies:
            P:         #-----------(2)              
              Type: Signature
              Rule: "OR('SampleOrg.admin')"
        GroupB:
          Policies:
            P:         #-----------(3)
              Type: Signature
              Rule: "AND('SampleOrg.member')"

另外,在上述的结构中,

  • (1)可以表示为/Channel/Application/M
  • (2)可以表示为/Channel/Application/GroupA/P
  • (3)可表示为/Channel/Application/GroupB/P
  • 让我们看看(1)表示。 它的规则被指定为ALL P,这应该被理解为M的所有子策略必须满足.. 但什么是子策略?这是这个答案的关键在于:根据policies.htmlImplicitMeta政策隐式地选择其所在组的子组。在这种情况下,M驻留在/Channel/Application,因此两个(2)和(3),这是该路径下,是子策略。 一个ImplicitMeta规则规定,所有/任何/大部分的规则必须得到满足。在上述情况下,M将满足仅当至少一个管理员和全体成员签署。
© www.soinside.com 2019 - 2024. All rights reserved.