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 : 앵커피어에 관한 설정을 입력. 입력값으로는 호스트와 포트를 입력받으며, 조직마다 여러개의 앵커 피어를 설정할 수 있습니다.
'컴퓨터 지식 > 블록체인' 카테고리의 다른 글
[Fabric] Configtx.yaml 파일의 Profiles 란? (0) | 2020.01.09 |
---|---|
[Hypereldger fabric] 배포된 체인코드 삭제 (0) | 2019.12.17 |
Fabric - 시스템 체인코드(System Chaincode) 란 (0) | 2019.12.17 |
Hyperledger fabric 관련 유용한 정보 사이트 (0) | 2019.12.17 |
hyperledger fabric 기존 네트워크에 peer(node) 추가 (0) | 2019.11.29 |