* 본 포스팅은 하이퍼레저 패브릭 docs를 번역한 내용으로, 번역 과정에서 잘못된 부분이 있을 수 있습니다.
상세 내용은 하단 링크를 참조 부탁드리며, 잘못된 내용에 대한 피드백은 언제든 환영합니다 : )
https://hyperledger.github.io/composer/latest/business-network/bnd-deploy

 

Deploying Business Networks | Hyperledger Composer

Deploying Business Networks Before a business network definition can be deployed it must be packaged into a Business Network Archive (.bna) file. The composer archive create command is used to create a business network archive file from a business network

hyperledger.github.io

비즈니스 네트워크 정의는 배포되기 전에 비즈니스 네트워크 아카이브 (.bna) 파일로 패키징되어야 합니다. composer archive create 커맨드는 디스크에 있는 비즈니스 네트워크 정의 폴더에서 비즈니스 네트워크 아카이브 파일을 생성하느데 사용됩니다.

비즈니스 네트워크 아카이브 파일이 생성되면 composer network start 커맨드 이후 composer network install 커맨드를 통해 하이퍼레저 패브릭에 배포할 수 있습니다.

예를 들면 아래와 같습니다.

composer network install --archiveFile tutorial-network@1.0.0.bna --card PeerAdmin@fabric-network
composer network start --networkName tutorial-network --networkVersion 1.0.0 --card PeerAdmin@fabric-network --networkAdmin admin --networkAdminEnrollSecret adminpw

이미 배포된 비즈니스 네트워크에 비즈니스 네트워크 정의를 업그레이드하려면 composer network upgrade CLI 커맨드를 사용합니다.

 

Deploying business networks to Hyperledger Fabric v1.2

하이퍼레저 패브릭 v1.2에서 피어는 관리자와 멤버 컨셉을 사용합니다. 관리자는 새로운 비즈니스 네트워크를 위한 하이퍼레저 패브릭 체인코드를 피어들에게 설치할 수 있는 권한을 가집니다. 멤버들은 체인코드를 설치할 권한이 없습니다. 피어들에게 비즈니스 네트워크를 배포하기 위해서는 모든 피어에 대한 관리 권한이 있는 identity를 제공해야 합니다.

이런 identity를 만들고 certificates를 사용가능하게 하려면 피어 관리자 신원과 관련된 certificate와 private key를 사용해 피어 관리자 비즈니스 네트워크 카드를 생성해야 합니다. 하이퍼레저 컴포저는 샘플 하이퍼레저 패브릭 v1.2 네트워크를 제공합니다. 이 네트워크의 피어 관리자는 PeerAdmin이라 불리며 이 관리자의 신원은 네트워크를 시작하기 위해 샘플 스크립트를 사용할 때 자동으로 import됩니다. 다른 하이퍼레저 패브릭 네트워크에서는 피어 관리자가 다른 이름을 가질 수도 있음에 주의하세요.

중요: 비즈니스 네트워크를 하이퍼레저 패브릭 v1.2에 배포할 때, bootstrap registrar는 하이퍼레저 패브릭 Certificate Authority (CA) 환경설정에 정의되어 있습니다. 하이퍼레저 컴포저 개발환경은 bootstrap registrar의 등록 ID와 secret으로 미리 설정된 하이퍼레저 패브릭 객체를 포함하고 있습니다.

 

Business network administrators

비즈니스 네트워크를 배포할 때, 접근 제어는 비즈니스 네트워크 정의에 명시된 접근 제어 규칙마다 이루어집니다. 각 비즈니스 네트워크는 적어도 한 명의 참가자를 보유해야 합니다. 그리고 그 참가자는 비즈니스 네트워크에 접속할 수 있는 유효한 신원을 갖고 있어야 합니다. 그렇지 않으면 클라이언트 애플리케이션은 비즈니스 네트워크와 상호작용할 수 없습니다.

비즈니스 네트워크 관리자는 비즈니스 네트워크 배포 후에 해당 조직의 비즈니스 네트워크 구성을 설정하는 역할을 하는 참가자입니다. 또한 해당 조직의 다른 참가자들을 참여시키는 역할도 합니다. 비즈니스 네트워크는 여러 조직을 포함하기 때문에 주어진 비즈니스 네트워크용 다수의 비즈니스 네트워크 관리자가 있어야합니다.

내장된 참가자 유형인 org.hyperledger.composer.system.NetworkAdmin은 하이퍼레저 컴포저가 제공하는 비즈니스 네트워크 관리자를 나타냅니다. 이 내장된 참가자 유형은 특별한 권한을 갖고 있지 않습니다. 그냥 비즈니스 네트워크 정의에 명시된 접근 제어 규칙의 주체입니다. 그렇기 때문에 아래 접근 제어 규칙 샘플을 통해 비즈니스 네트워크 관리자에게 비즈니스 네트워크에 접근할 수 있는 모든 권한을 부여하는 것을 추천합니다.

rule NetworkAdminUser {
    description: "Grant business network administrators full access to user resources"
    participant: "org.hyperledger.composer.system.NetworkAdmin"
    operation: ALL
    resource: "**"
    action: ALLOW
}

rule NetworkAdminSystem {
    description: "Grant business network administrators full access to system resources"
    participant: "org.hyperledger.composer.system.NetworkAdmin"
    operation: ALL
    resource: "org.hyperledger.composer.system.**"
    action: ALLOW
}

기본적으로, 하이퍼레저 컴포저는 자동으로 배포중에 한 명의 비즈니스 네트워크 관리자인 참가자를 생성합니다. 이 신원은 비즈니스 네트워크를 배포하는데 사용되며 비즈니스 네트워크 관리자인 참가자와 바인딩되어 있습니다. 그래서 이 신원은 배포 후 비즈니스 네트워크와 상호작용하는데 사용됩니다.

하이퍼레저 패브릭 피어 관리자는 하이퍼레저 CA를 사용해 새로운 신원을 발생하는 권한을 갖고 있지 않을 것입니다. 이는 비즈니스 네트워크 관리자가 조직에 다른 참가자들을 참여시키는 능력을 제한합니다. 이러한 이유로 하이퍼레저 패브릭 CA를 사용해 새로운 신원을 발급할 수 있는 권한을 가진 비즈니스 네트워크 관리자를 생성하는 것을 선호합니다.

composer network start커맨드에 추가 옵션을 사용해 비즈니스 네트워크 배포 중에 생성되는 비즈니스 네트워크 관리자를 명시할 수 있습니다. 

비즈니스 네트워크 관리자가 등록된 ID와 secret을 갖고 있다면 -A (비즈니스 네트워크 관리자)와 -S (비즈니스 네트워크 관리자가 사용하는 secret) 플래그를 사용할 수 있습니다. 예를 들어 아래 커맨드는 기존 admin ID의 비즈니스 네트워크 관리자를 생성하는 커맨드입니다.

composer network start --networkName tutorial-network --networkVersion 1.0.0 --c PeerAdmin@fabric-network -A admin -S adminpw

 

Deploying business networks using Playground locally

주의: 비즈니스 네트워크를 하이퍼레저 패브릭 v1.2에 배포하기위해 로컬 플레이그라운드 객체를 사용할때, 배포 과정의 일부분으로 초기 비즈니스 네트워크 참가자용 credentials을 어떻게 제공할지 선택해야 합니다. 초기 참가자는 NetworkAdmin이 될 것입니다.

플레이그라운드를 사용해 비즈니스 네트워크를 배포할 때, 초기 참가자를 위한 credentials를 입력할 것입니다. credentials는 certificate로 제공되거나 이미 정의된 ID, secret으로 사용할 수 있습니다. 하이퍼레저 컴포저 개발환경에 셋팅된 하이퍼레저 패브릭 객체를 사용한다면, bootstrap registrar ID는 admin이고 secret은 adminpw입니다. 이 초기 참가자는 하이퍼레저 패브릭 CA에 있는 bootstrap registrar용으로 설정된 credentials를 사용하며 이는 NetworkAdmin이 될 것입니다.

로컬에서 플레이그라운드를 사용해 비즈니스 네트워크를 배포할 때, 적어도 하나의 비즈니스 네트워크 카드는 PeerAdmin 역할을 해야 하며 또 하나는 ChannelAdmin 역할을 해야 합니다. 이 비즈니스 네트워크 카드는 각각 올바른 admin certificates를 갖고 있어야 합니다.

+ Recent posts