- 채널은 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