하이퍼레저 패브릭 - Channel policies

choko's avatar
Jun 29, 2024
하이퍼레저 패브릭 - Channel policies
  • 채널은 Org 간에 통신하는 private한 방법이다. 따라서, 대부분의 채널 구성 변경은 채널의 다른 멤버들의 동의가 필요하다.
  • 채널 정책(Channel Policies)은, 채널에 체인코드를 배포하기 전 승인해야 하는 조직 집합이나 채널 관리자의 작업 또는 사용자와의 상호작용하는 방식 등을 제어한다.
 

Signature policies

  • 각 채널 구성원은 기본적으로 Org를 참조하는 서명 정책(Signature policies)를 정의한다.
  • Proposal(제안)이 Peer에게 전송되거나, 트랜잭션이 Ordering 노드에 전송되면 노드들은 트랜잭션에 첨부된 서명을 읽고 채널 구성에 정의된 서명 정책에 대해 평가한다.
  • configtx.yaml의 아래 섹션을 참고하자.
- &Org1 ... Policies: Readers: Type: Signature Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'Org1MSP.client')" Writers: Type: Signature Rule: "OR('Org1MSP.admin', 'Org1MSP.client')" Admins: Type: Signature Rule: "OR('Org1MSP.admin')" Endorsement: Type: Signature Rule: "OR('Org1MSP.peer')"
 

ImplicitMeta Policies

  • 채널이 기본 정책을 사용하는 경우, 각 조직의 서명 정책은 채널 구성의 더 상위 레벨인 ImplicitMeta로 평가받는다.
  • ImplicitMeta는 Rule항목이 있는데, 이 Rule에 충족해야 ImplicitMeta 정책이 적용된다.
Policies: Readers: Type: ImplicitMeta Rule: "ANY Readers" Writers: Type: ImplicitMeta Rule: "ANY Writers" Admins: Type: ImplicitMeta Rule: "MAJORITY Admins" LifecycleEndorsement: Type: ImplicitMeta Rule: "MAJORITY Endorsement" Endorsement: Type: ImplicitMeta Rule: "MAJORITY Endorsement"
  • 궁극적으로 "Signature policies" 에서 더 세밀하고 깊이있는 정의가 가능하다.
  • 문법적으로 <ALL|ANY|MAJORITY> <sub_policy> 등 사용해서, 더 까다롭게 정의한다.
    • Admins : 전반적인 네트워크의 주요 운영적 역할.
    • Writers : 원장 업데이트 역할.
    • Readers : 원장 조회 역할.
    • (위 디폴트 이외에도, Peer 나 Client 역할을 추가할 수 있다)
    •  
Share article

Tom의 TIL 정리방