본문 바로가기
컴퓨터 지식/블록체인

[Fabric] configtx.yaml 파일의 Polices 란?

by LiveData 2020. 1. 9.
반응형

 

configtx.yaml 파일은 채널 관련 아티팩트를 생성할 때 사용합니다.

 

예를들어 genesis.block , channel.tx 파일을 생성할 때 쓰죠

 

이 configtx.yaml 을 보던중 한가지 궁금사항이 생겼습니다.

 

 

 

바로 Policies 입니다.

 

Policies는 기본적으로 채널 내 액세스 제어를 하며 규칙을 정의합니다.

 

그 유형은 2가지로 정의됩니다.

 

 

Policy의 종류

 

1. Signature : AND나 OR을 사용하여 보다 유연하고 강력한 정책 설정을 할 수 있습니다.

 -  Readers 같은 경우는 admin, peer, client 접근 권한을 가지고 있으며 각각 다르게 설정할 수 있습니다.

ex) Org1MSP의 admin이나 peer, client 중 하나만 트랜잭션에 서명하면 됩니다.

 

2. Implicit Meta : 유연성이 떨어지는 정책입니다 (ANY, MAJORITY 사용)

           광범위한 정책이기 때문에 최종적으로 SignaturePolicy까지 만족해야합니다.

 - Signature에 비해 매우 간단하게 적용되어 있습니다.

 - ANY :  하위 정책을 만족해야합니다. 하위정책이 없을경우 무조건 true

 - ALL :  모든 정책의 경우에 만족합니다.

 - MAJORITY : 하위 정책에 과반수를 만족해야합니다.

 

ex)

ANY READER : 참여 Reader 가운데 어떤 하나의 Reader만 참여해도 된다.

MAJORITY Admins : 참여 Admins 중에서 대다수의 Admin 이 참여해야한다.

 

 

 

대부분 상위 정책은 Implicity Meta 로 정의되고 하위 리프들은 더 구체적은 SignaturePolicy로 정의합니다.

조직이 추가되거나 삭제되는 경우 SignaturePolicy는 수정이 필요할 수 있지만 Implicity Meta는 수정이 필요하지 않습니다.

 

 

 

정책 범위

  • Readers : 데이터에 대한 조회만 가능하고 원장 업데이트나 관리에 대한 권한은 없다.
  • Writers : 원장을 업데이트하는 것에 대한 제안할 수 있는 권리를 가지며 관리 권한은 없다.
  • Admins : 전체적인 네트워크 운영하고 관리하는 권한을 가지며 , 리소스에 직접 접근할 수 있다.  
                각 접근 타입의 세부항목으로 TYPE과 RULE이 있으며 Implicity Meta 인지 SignaturePolicY인지확인합니다.
                그리고 Rule에는 Type에 따른 구체적인 세부 정책을 입력받습니다.
  • AnchorPeers : 앵커피어에 관한 설정을 입력. 입력값으로는 호스트와 포트를 입력받으며, 조직마다 여러개의 앵커 피어를 설정할 수 있습니다.
반응형