チャネルの管理

このトピックでは、チャネルの作成および表示方法、ピアの結合方法、ピアの指定およびアンカー方法、ポリシーおよびアクセス制御リストの使用方法、およびオーダラをチャネルに関連付ける方法など、ネットワーク内のチャネルの管理について説明します。

チャネルとは

チャネルは、ピアとレジャー・データを分離して、ブロックチェーン・ネットワークで機密トランザクションを提供します。

メンバーは、特定のピアが、同じブロックチェーン・ネットワーク上の他のメンバーが表示またはアクセスできない非公開の機密トランザクションを実行できるように、チャネルを定義して構造化します。各チャネル:
  • 同僚
  • 共有台帳
  • チャネルでインスタンス化されたチェーンコード
  • 1つ以上の順序付けサービス・ノード
  • チャネル・ポリシー定義および定義が適用されるACL

チャネルに参加する各ピアは、チャネルのピアおよびサービスに対する認証に使用するアイデンティティをそれぞれ保持しています。ピアは複数のチャネルに属することができますが、トランザクション、元帳状態およびチャネル・メンバーシップに関する情報は各チャネル内のピアに限定されます。

You can use the Oracle Blockchain Platform console or the Hyperledger Fabric SDK to create channels on your blockchain network.「チャネルの表示」を参照してください。

チャネルの表示

ネットワークのメンバーは、チャネルを使用してブロックチェーン・トランザクション情報をプライベート通知します。

チャネル・タブを使用して、ネットワーク内のチャネルのリストの表示、チャネルの作成およびモニター、アンカー・ピアの指定およびチャネルで使用されるインスタンス化されたチェーンコードのアップグレードを実行します。
  1. コンソールに移動し、チャネル・タブを選択します。
    チャネル・タブが表示され、チャネル表にネットワーク上のすべてのチャネルのリストが表示されます。
  2. チャネル表で、情報を表示するチャネル名をクリックします。チャネルに参加しているピアがすべて停止している場合、チャネルはリスト表示されますが、その情報を表示することはできません。
    チャネル情報ページが表示されます。
  3. チャネル情報ページのペインを使用して、チャネルに関する情報を得ます。
    セクション このペインでできること
    元帳 ブロック番号やブロック内のユーザー・トランザクション数など、チャネルのレジャー・アクティビティに関する情報を取得します。ブロック番号をクリックして、そのトランザクションの詳細を確認します。フィルタ・フィールドを使用して表示するサマリー情報を指定(たとえば、前日または先月の情報)したり、カスタム・オプションを使用して開始時間および終了時間を入力できます。「チャネルのレジャー・アクティビティの表示」を参照してください。
    (Hyperledger Fabric v2.x)デプロイされたチェーンコード チャネルにデプロイされたチェーンコードのリストを表示します。
    (Hyperledger Fabric v1.4.7)インスタンス化されたチェーンコード チャネルでインスタンス化されたチェーンコードのリストを表示します。
    オーダラ 現在アクティブなオーダラのリストを表示し、新しいOSNを追加してチャネルに参加できます。
    同僚 チャネルに参加しているピアのリストを表示します。このセクションを使用して、チャネルのアンカー・ピアを設定します。
    組織 ピアがチャネルを使用して通信しているネットワーク・メンバーのリストを表示します。
    チャネル・ポリシー 標準ポリシーおよびチャネルに作成したポリシーのリストを表示します。この項では、ポリシーを追加、変更および削除します。
    ACL どの組織およびロールがチャネルのリソースにアクセスできるかの管理に使用されるアクセス制御リスト(ACL)を表示します。

チャネルの作成

ネットワークにチャネルを追加し、そのチャネルを使用できるメンバーおよびそのチャネルに参加できるピアを指定できます。チャネルは削除できません。

このタスクを実行できるのは、管理者のみです。

  1. コンソールに移動し、チャネル・タブを選択します。
  2. チャネル・タブで、「新規チャネルの作成」をクリックします。
  3. チャネル名フィールドに、チャネルの名前を入力します。チャネルの名前は、最大128文字の長さにできます。
  4. 組織セクションで、チャネルで通信する追加メンバーを選択します。
    参加者インスタンスで作業している場合、ファウンダのMSP IDが組織セクションに表示されるように、ファウンダをインスタンスに追加しておく必要があります。ファウンダ組織を追加するには、ネットワーク・タブに移動し、組織の追加ボタンをクリックしてファウンダの証明書をアップロードします。
  5. MSP ID ACLセクションで、チャネルにアクセスできる組織および選択した各組織の権限を指定します。必要に応じて、後でチャネルに対して組織を追加または削除できます。
    組織の権限は書込み(ReaderWriter)に設定され、この設定は変更できません。デフォルトでは、他のメンバーの権限は書込み(ReaderWriter)に設定されますが、メンバーがチェーンコードを呼び出さないようにしたり、チャネル情報およびチャネル上のブロックの読取りのみを行うようにする場合は、読取り(ReaderOnly)に変更できます。
  6. (オプション) チャネルに参加させるピア・フィールドで、ピアを1つ以上選択します。次の点に注意してください。
    • ネットワークに参加者が含まれる場合、参加者のピアはこのリストに表示されません。参加者はコンソールを使用してピアをチャネルに参加させる必要があります。参加者は、その組織がチャネルのMSP ID ACLセクションに追加されていなければ、ピアをチャネルに参加させることができません。
    • チャネルのみを作成する場合は、ピアを選択しないでください。ピアは後でチャネルを追加できます。
  7. 「送信」をクリックします。
    チャネル表に新しいチャネルが表示されます。
チャネルを作成すると、次のことができます:

チャネルのレジャー・アクティビティの表示

台帳を使用して、特定のチャネルのトランザクションに関するサマリー情報およびランタイム統計を検索します。

  1. コンソールに移動し、チャネル・タブを選択します。
  2. チャネル表で、トランザクション情報を表示するチャネル名をクリックします。チャネル情報ページで、レジャー・ペインが選択されていることを確認します。
  3. 「Ledger Summary」領域を使用して、レジャーのチェーン内のブロックの合計数やチャネル上のユーザー・トランザクションの合計数などのチャネルのアクティビティに関する基本情報を検索します。
  4. 前日や先週などの特定の時間に発生したブロックチェーン・アクティビティを表示するには、フィルタのドロップダウン・リストを使用して時間範囲を選択します。特定のトランザクション・セットを見つけてドリルダウンするには、「カスタム」を選択し、「開始時間」および「終了時間」フィールドに検索基準を入力するか、カレンダ・アイコンをクリックして日付を選択します。「Apply」をクリックします。
    特定の期間(「前日」)を選択した後、それを再度選択して問合せを再実行すると、問合せは再実行されません。リフレッシュ・ボタンをクリックして、最新情報を取得します。
    ブロックには、次のトランザクション・タイプを表示できます。
    • Genesis - 構成ブロックを実行してチャネルを初期化するトランザクション。
    • データ(sys) - チェーンコードを使用可能にするためにチェーンコード・コンテナを開始するトランザクション。
    • データ- チャネルで実行するためにコールされるチェーンコード・トランザクション。
  5. 特定のトランザクションに関する詳細は、問合せレジャー表でトランザクションを探してクリックします。トランザクション表にトランザクションの詳細が表示されます。

    任意のブロックについて、表内のトランザクションはトランザクション番号の順序でリストされます。トランザクション番号は、ブロックの作成時にオーダー・サービスによって割り当てられます。このため、テーブルにリストされているトランザクションには、同じブロック内のほかのトランザクションの前または後のタイムスタンプ(チェーンコードのピア承認からのもの)が含まれることがあります。単一ブロック内のトランザクションの時間範囲は、バッチ・タイムアウト・パラメータ(ブロックを切断する前に最初のトランザクション後にオーダリング・サービスが追加のトランザクションを待機する時間)を含むサービス設定の順序によって制御されます。

    トランザクション詳細 説明
    TxID トランザクションに割り当てられた一意の英数字ID。TxIDは、ノンスのハッシュとして、署名アイデンティティのシリアル番号付きバイトと連結されて構成されます。
    Time トランザクションのタイムスタンプ(トランザクションが発生した日時)。
    チェーンコード トランザクションを実行したチェーンコードの名前。このフィールドには、記述、インストールおよびデプロイしたチェーンコードの名前が表示されますが、システム・チェーンコードも表示されます。

    システム・チェーンコードのオプションは次のとおりです:

    • (Hyperledger Fabric v2.x) _lifecycle - インストール、デプロイ、アップグレードなどのライフサイクル・リクエスト用。
    • (Hyperledger Fabric v1.4.7) LSCC - インスタンス化、インストール、アップグレードなどのライフサイクル・リクエストの場合。
    • QSCC - 問合せの場合。このチェーンコードにはレジャー問合せ用のAPIが含まれています。
    ステータス トランザクションが成功したか失敗したかを示すステータス。
  6. TxIDの横にある三角形アイコンをクリックして、ファンクション名、引数、検証結果、レスポンス・ステータス、イニシエータ、エンドーサなど、トランザクションに関する詳細情報を表示します。
    トランザクションが失敗した場合は、TxIDを使用して、ピア・ノードまたはオーダラ・ノードのエラー・ログを検索して詳細を調べることができます。

チャネルの組織リストの表示または更新

チャネルにアクセスできる組織のリストを表示できます。チャネルを作成した場合は、チャネルに対する組織の権限を変更したり、チャネルに対して組織を追加または削除できます

  1. コンソールに移動し、チャネル・タブを選択します。
    チャネル・タブが表示され、チャネル表にネットワーク内のすべてのチャネルのリストが表示されます。
  2. チャネル表で、情報が必要なチャネルを探し、チャネルのその他のアクションボタンをクリックして、「チャネル組織の編集」をクリックします。
    組織の編集ページが表示されます。
  3. MSP ID ACLセクションで、次のことができます:
    • 組織の権限を変更します。チャネルを作成した組織は書込み(ReaderWriter)に設定されます。この設定は変更できません。

    • ネットワーク・創設者である場合、組織のチェック・ボックスをクリアして組織をチャネルから削除します。ネットワーク参加者は、削除ボタンをクリックして組織をチャネルから削除します。組織をチャネルから削除した場合、組織とそのピアはチャネルでのチェーンコードの問合せ、呼出しおよびインスタンス化をできなくなります。また、削除された組織のピアはチャネルに参加できません。

    • 組織のチェックボックスを選択して、チャネルに組織を追加して権限を設定します。デフォルトでは、各メンバーの権限は書込み(ReaderWriter)に設定されますが、メンバーがチェーンコードを呼び出さないようにしたり、チャネル情報およびチャネル上のブロックの読取りのみを行うようにする場合は、それを読取り(ReaderOnly)に変更できます。

  4. 「送信」をクリックして変更を保存します。

チャネルへのピアの参加

ピア・ノードをチャネルに追加すると、ノードはそれを使用してチャネル上の他のピア・ノードとプライベート・トランザクション情報を交換できるようになります。

次の点に注意してください。
  • チャネルを作成する際、チャネルに参加できるローカル・ピア・ノードを指定します。

  • 参加者が含まれるネットワークを作成する場合は、チャネルのメンバーとしてその参加者を選択します。または、チャネルの作成後に参加者を追加できます。

  • インスタンスには複数の可用性ドメインまたはフォルト・ドメインがあるため、Oracleでは、各パーティションからチャネルにピアを参加させることをお薦めします。これは、一方のVMが利用できない場合でも、チャネルがエンドースおよびコミットで使用できるためです。ピアが配置されているドメインを確認するには、「その他のアクション」メニューでAD情報の表示を選択して可用性ドメイン情報を表示します。

  • 各ドメインから最大7つのピアに参加できます。

「チャネルの作成」を参照してください。

このタスクを実行できるのは、管理者のみです。

  1. Go to the console and select the Nodes tab.
  2. ノード・タブをクリックします。
  3. ノード情報ページで、チャネル・ペインをクリックしてピアが使用しているチャネルのリストを表示します。
  4. 「新しいチャネルへの参加」をクリックします。
    新規チャネルへの参加ダイアログが表示されます。
  5. チャネル名フィールドをクリックし、参加するチャネルをリストから選択します。フィールドを再度クリックして、別のチャネルを選択します。「結合」をクリックします。

アンカー・ピアの追加

チャネルを使用する各メンバーは、1つ以上のアンカー・ピアを指定する必要があります。アンカー・ピアは、プライマリ・ネットワークのコンタクト・ポイントで、チャネル上の他のネットワーク・ピアを検出して通信するために使用されます。

組織で、チャネルのアンカー・ピアとして1つ以上のピアを指定できます。高可用性ネットワークでは、アンカー・ピアを2つ以上指定できます。ネットワーク・チャネルを使用するすべてのメンバーは、コンソールを使用して1つ以上のピア・ノードをアンカー・ピアとして指定する必要があります。

このタスクを実行できるのは、管理者のみです。

  1. コンソールに移動し、チャネル・タブを選択します。
    チャネル・タブが表示され、チャネル表にネットワーク上のすべてのチャネルのリストが表示されます。
  2. チャネル表で、アンカー・ピアを追加するチャネル名をクリックします。
    チャネル情報ページが表示されます。
  3. チャネル情報ページで、ピア・ペインをクリックします。
  4. アンカー・ピアとして指定するピアを特定し、そのアンカー・ピア・チェックボックスをクリックして選択します。
  5. 「適用」ボタンをクリックします。

アンカー・ピアの変更または削除

チャネルのアンカー・ピアを変更または削除できます。アンカー・ピアは、プライマリ・ネットワークのコンタクト・ポイントで、チャネル上の他のネットワーク・ピアを検出して通信するために使用されます。

チャネルのアンカー・ピアを変更または削除する前に、次の情報に注意してください:

  • チャネルで通信するには、組織内の1つ以上のピアをアンカー・ピアとして指定する必要があります。
  • 高可用性ネットワークでは、アンカー・ピアを2つ以上指定できます。
  • ネットワーク・チャネルを使用するすべてのメンバーは、コンソールを使用して1つ以上のピア・ノードをアンカー・ピアとして指定する必要があります。

このタスクを実行できるのは、管理者のみです。

  1. コンソールに移動し、チャネル・タブを選択します。
    チャネル・タブが表示され、チャネル表にネットワーク上のすべてのチャネルのリストが表示されます。
  2. チャネル表で、アンカー・ピアの削除元のチャネル名をクリックします。
    チャネル情報ページが表示されます。
  3. チャネル情報ページで、ピア・ペインをクリックします。
  4. アンカー・ピアとして削除するピアを特定し、そのアンカー・ピア・チェックボックスをクリアします。または、アンカー・ピアとして別のピアを追加するには、そのアンカー・ピア・チェックボックスをクリックして選択します。
  5. 「適用」ボタンをクリックします。

デプロイ済チェーンコードに関する情報の表示

ネットワーク内の様々なチャネルにデプロイされているチェーンコードに関する情報を表示できます。

チェーンコードをアップグレードする必要があるかどうかを判断したり、チェーンコードがデプロイされたチャネルを見つけるために、デプロイされたチェーンコードに関する情報が必要になる場合があります。
  1. コンソールに移動し、チャネル・タブを選択します。
  2. チャネル表で、情報を表示するチェーンコードがあるチャネル名をクリックします。
  3. チャネル情報ページで、デプロイされたチェーンコード・ペインが選択されていることを確認します。
  4. チェーンコード表では、次のことができます:
    • チェーンコード パッケージIDをクリックすると、チェーンコード タブに移動して詳細を確認できます。たとえば、チェーンコードがインストールされているピア、およびチェーンコードがデプロイされているチャネルなどです。
    • チェーンコードの「その他のアクション」メニューで、「チェーンコード定義の表示」をクリックして、エンドースメント・ポリシーを含むチェーンコードの定義の詳細を検索します。
  5. (オプション)チェーンコードなしのチャネルがリスト表示されている場合は、チェーンコード・タブに移動してチャネルにチェーンコードをデプロイできます。チェーンコードのデプロイを参照してください。

チャネル・ポリシーとACLの使用

このトピックでは、チャネルのポリシーおよびアクセス制御リスト(ACL)について説明します。ポリシーの概要、ポリシー・タイプおよびポリシー・タイプの変更方法、およびACLを使用してチャネルのリソースにアクセスできる組織およびロールを管理する方法について説明します。

チャネル・ポリシーとは(Hyperledger Fabric v2.x)

ポリシーは、一連の条件を定義します。署名が有効とみなされ、対応するリクエストがネットワーク上で実行されるには、そのパーティがポリシーの条件を満たしている必要があります。

ブロックチェーン・ネットワークは、これらのポリシーによって管理されます。ポリシーは、リクエストに関連付けられたアイデンティティを、リクエストを実行するために必要なリソースに関連付けられたポリシーと照らし合せてチェックします。ポリシーはチャネルの構成内にあります。

ポリシーの構成後、それらのポリシーをチャネルのACLリソースに割り当て、チャネルで変更または処理が実行されるために署名する必要があるメンバーを決定します。たとえば、組織Aまたは組織Bのメンバーを含めるようにライター・ポリシーを変更したとします。次に、ライター・ポリシーをチャネルのcscc/GetConfigBlock ACLリソースに割り当てます。これで、組織Aまたは組織Bのメンバーのみがcsccコンポーネントに対してGetConfigBlockをコールできるようになります。

ポリシー・タイプとは

ポリシー・タイプには、署名とImplicitMetaの2つがあります。

  • 署名 - 評価ルールの組合せを指定します。ANDORおよびNOutOfの組合せがサポートされます。たとえば、「組織Aの管理者1名と他の2名の管理者」や「20名の組織管理者のうち11名」などのような定義が可能です。

    新たに作成するポリシーは、署名ポリシーになります。

  • ImplicitMeta - このポリシー・タイプは、構成のコンテキストでのみ有効です。署名ポリシーで定義されているポリシーを構成階層の深くで評価した結果が集約されます。"大半の組織管理ポリシー"などのデフォルト・ルールがサポートされます。

ポリシーが作成される場合

ネットワークにチャネルを追加すると、Oracle Blockchain Platformによってデフォルトのポリシーが作成されます。デフォルトのポリシーは、管理者、ライター、リーダー、エンドースメント、LifecycleEndorsement (ImplicitMetaポリシー)および作成者(署名ポリシー)です。必要に応じて、これらのポリシーを変更したり、新しいポリシーを作成したりできます。

チャネル・ポリシーに関する次の重要な問題に注意してください:

  • コンソールを使用して、チャネルを作成し、組織のACLをReaderOnlyに設定できます。新しいチャネルを保存した後、このACL設定をチャネルの組織の編集オプションから更新することはできません。

    ただし、コンソールのチャネル・ポリシーの管理機能を使用して組織をライター・ポリシーに追加し、チャネルのReaderOnly ACL設定を上書きできます。

チャネル・ポリシーとは(Hyperledger Fabric v1.4.7)

ポリシーは、一連の条件を定義します。署名が有効とみなされ、対応するリクエストがネットワーク上で実行されるには、そのパーティがポリシーの条件を満たしている必要があります。

ブロックチェーン・ネットワークは、これらのポリシーによって管理されます。ポリシーは、リクエストに関連付けられたアイデンティティを、リクエストを実行するために必要なリソースに関連付けられたポリシーと照らし合せてチェックします。ポリシーはチャネルの構成内にあります。

ポリシーの構成後、それらのポリシーをチャネルのACLリソースに割り当て、チャネルで変更または処理が実行されるために署名する必要があるメンバーを決定します。たとえば、組織Aまたは組織Bのメンバーを含めるようにライター・ポリシーを変更したとします。次に、ライター・ポリシーをチャネルのcscc/GetConfigBlock ACLリソースに割り当てます。これで、組織Aまたは組織Bのメンバーのみがcsccコンポーネントに対してGetConfigBlockをコールできるようになります。

ポリシー・タイプとは

ポリシー・タイプには、署名とImplicitMetaの2つがあります。

  • 署名 - 評価ルールの組合せを指定します。ANDORおよびNOutOfの組合せがサポートされます。たとえば、「組織Aの管理者1名と他の2名の管理者」や「20名の組織管理者のうち11名」などのような定義が可能です。

    Oracle Blockchain Platformのデフォルトの管理者ポリシー(ImplicitMetaポリシーとして作成されている)を変更する場合、署名ポリシーを使用することに注意してください。新たに作成するポリシーは、署名ポリシーになります。

  • ImplicitMeta - このポリシー・タイプは、構成のコンテキストでのみ有効です。署名ポリシーで定義されているポリシーを構成階層の深くで評価した結果が集約されます。"大半の組織管理ポリシー"などのデフォルト・ルールがサポートされます。

    Oracle Blockchain Platformでは、ImplicitMetaポリシー・タイプを使用して管理者ポリシーが作成されます。管理者ポリシーを変更する場合、署名ポリシーを使用します。ImplicitMetaポリシーを使用してポリシーを作成または変更することはできません。Oracle Blockchain Platformでは、署名ポリシー・タイプを使用したポリシーの変更または作成のみがサポートされます。

ポリシーが作成される場合

ネットワークにチャネルを追加すると、Oracle Blockchain Platformによってデフォルトのポリシーが作成されます。デフォルトのポリシーは、管理者(ImplicitMetaポリシー)、作成者、ライターおよびリーダー(署名ポリシー)です。必要に応じて、これらのポリシーを変更したり、新しいポリシーを作成したりできます。

チャネル・ポリシーに関する次の重要な問題に注意してください:

  • コンソールを使用して、チャネルを作成し、組織のACLをReaderOnlyに設定できます。新しいチャネルを保存した後、このACL設定をチャネルの組織の編集オプションから更新することはできません。

    ただし、コンソールのチャネル・ポリシーの管理機能を使用して組織をライター・ポリシーに追加し、チャネルのReaderOnly ACL設定を上書きできます。

  • Hyperledger Fabric SDKを使用してチャネルを作成すると、Fabricでは、ImplicitMetaポリシーがリーダーおよびライターのデフォルト・チャネル・ポリシーとして使用されます。チャネルでこれらのポリシーが使用されている場合、Oracle Blockchain Platformコンソールでは、管理操作(組織の編集など)が正常に処理されます。

    この問題を解決するには、リーダーおよびライターのポリシーを署名ポリシーに更新し、必要に応じてポリシールールを定義します。https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.htmlを参照してください

  • Hyperledger Fabric SDKまたはCLIを使用してチャネルを作成する場合、作成者ポリシーはconfigtx.yamlファイルに含まれません。Oracle Blockchain Platformは、チャネル作成者にチャネルの構成の編集を許可するために作成者ポリシーを必要とします。configtx.yamlファイルを手動で編集し、作成者ポリシーを追加する必要があります。

チャネルのポリシーの追加または変更

チャネルのポリシーを追加または変更して、チャネルで特定のアクションを実行する必要があるメンバーを指定できます。ポリシーを定義したら、それらをチャネルのACLに割り当てます。

ポリシーを追加または更新する前に、Oracle Blockchain Platformでデフォルト・チャネル・ポリシーがどのように作成されるのかを理解する必要があります。「チャネル・ポリシーとは」(Hyperledger Fabric v1.4.7)または「チャネル・ポリシーとは」(Hyperledger Fabric v2.x)を参照してください。

このタスクを実行できるのは、管理者のみです。

  1. コンソールに移動し、チャネル・タブを選択します。

    チャネル・タブが表示され、チャネル表にネットワーク上のすべてのチャネルのリストが表示されます。

  2. チャネル表で、ポリシーを追加またはポリシーを変更するチャネル名をクリックします。

    チャネル情報ページが表示されます。

  3. 「チャネル情報」ページで、「チャネル・ポリシー」ペインをクリックします。
  4. 次のいずれかの操作を行います:
    • 新規ポリシーを追加するには、新規ポリシーの作成ボタンをクリックします。ポリシーの作成ダイアログが表示されます。ポリシー名フィールドに名前を入力し、ポリシータイプフィールドで署名を選択します。「署名ポリシー」セクションを展開します。
    • 既存のポリシーを変更するには、ポリシー名をクリックします。ポリシーの更新ダイアログが表示されます。
  5. アイデンティティの追加ボタンをクリックして組織を追加します。または、必要に応じて、既存の署名ポリシーを変更します。次の点に注意してください。
    フィールド 説明
    MSP ID ドロップダウン・メニューから、ポリシーに署名する必要のある組織を選択します。
    ロール ポリシーに必要な対応するピア・ロールを選択します。通常、これはメンバーです。ピアのロールは、その構成情報を表示することで確認できます。
    ポリシー式モード ほとんどの場合、「基本」を使用します。「拡張」を選択し、ANDORおよびNOutOfを使用して式文字列を記述します。有効なポリシー式文字列を記述する方法の詳細は、Hyperledger Fabricドキュメントの「エンドースメント・ポリシー」を参照してください。
    署名者 リクエストを実行するためにポリシーに署名する必要があるメンバーの数を選択します。
  6. 新しいポリシーを追加する場合、「作成」をクリックします。ポリシーを変更する場合、「更新」をクリックします。

チャネルのポリシーの削除

作成したチャネル・ポリシーは削除できます。

デフォルトのポリシー(管理者、作成者、リーダー、ライター、エンドースメントおよびLifecycleEndorsement)は削除できません。また、チャネル・ポリシーがACLに割り当てられている場合、そのチャネル・ポリシーは削除できません。チャネル・ポリシーを削除する前に、ポリシーが割り当てられていないことを確認します。

このタスクを実行できるのは、管理者のみです。

  1. コンソールに移動し、チャネル・タブを選択します。

    チャネル・タブが表示され、チャネル表にネットワーク上のすべてのチャネルのリストが表示されます。

  2. チャネル表で、ポリシーを削除するチャネルをクリックします。

    チャネル情報ページが表示されます。

  3. 「チャネル情報」ページで、「チャネル・ポリシー」ペインをクリックします。
  4. 削除するポリシーを特定し、その詳細オプション・ボタンをクリックします。
  5. 「削除」をクリックし、削除を確定します。

チャネルACLとは

アクセス制御リスト(ACL)では、ポリシーを使用して、チャネルのリソースにアクセスできる組織およびロールを管理します。

ユーザーは、問合せシステム・チェーンコード(qscc)、ライフサイクル・システム・チェーンコード(Hyperledger Fabric v2.x_lifecycleHyperledger Fabric v1.4.7lscc)、構成システム・チェーンコード(cscc)、ピア、イベントなどのコンポーネントをターゲットにすることで、ブロックチェーン・ネットワークと対話します。これらのコンポーネントは、ポリシーにチャネル・レベルで割り当てることができる特定のリソース(GetConfigBlockGetChaincodeDataなど)に関連付けられています。これらのポリシーは、チャネルの構成の一部です。

ポリシーは、リソースをリクエストできる組織およびロールを定義します。ポリシーは、要求が行われると、システムに対し、要求者のアイデンティティを確認し、要求の作成が許可されているかどうかを判断します。チャネルの作成時、Oracle Blockchain PlatformによってデフォルトのHyperledger Fabric ACLがチャネルに付けられます。また、Oracle Blockchain Platformは、チャネルのデフォルト・ポリシー(管理者、作成者、ライターおよびリーダー、Hyperledger Fabric v2.xのエンドースメントおよびLifecycleEndorsement)を作成します。必要に応じて、これらのポリシーを変更することも、新しいポリシーを作成することもできます。「チャネル・ポリシーとは」(Hyperledger Fabric v2.x)または「チャネル・ポリシーとは」(Hyperledger Fabric v1.4.7)を参照してください。

チャネルACLの更新

ポリシーをチャネルのリソースに割り当てることで、チャネルのACLを更新できます。ポリシーは、リソースをリクエストできる組織およびロールを定義します

チャネルのACLを更新する前に、ポリシーおよびACLとは何かを理解する必要があります。「チャネル・ポリシーとは」(Hyperledger Fabric v1.4.7)および「チャネルACLとは」を参照してください。

  1. コンソールに移動し、チャネル・タブを選択します。

    チャネル・タブが表示され、チャネル表にネットワーク上のすべてのチャネルのリストが表示されます。

  2. チャネル表で、ACLを更新するチャネルの名前をクリックします。

    チャネル情報ページが表示されます。

  3. チャネル情報ページで、ACLペインをクリックします。
  4. リソース表で、更新するリソースを特定します。リソースの展開ボタンをクリックして、リソースに割り当てるポリシーを選択します。
  5. 必要に応じて、他のリソースのポリシーを変更します。
  6. ACLの更新をクリックします。

チャネルに対するオーダラの追加または削除

注文者管理組織は、チャネルに対して注文者を追加または削除できます。

チャネルにオーダラを追加するには:
  1. ファウンダ・コンソールで、「チャネル」タブを開き、チャネルを選択してその詳細ビューを表示します。
  2. オーダラ・サブタブを開きます。チャネルに現在参加しているオーナラ・ノードがすべてリストされます。
  3. チャネルに参加をクリックします。このチャネルにまだないOSNを選択し、「参加」をクリックします。
チャネルから注文者を削除するには:
  1. ファウンダ・コンソールで、「チャネル」タブを開き、チャネルを選択してその詳細ビューを表示します。
  2. オーダラ・サブタブを開きます。チャネルに現在参加しているオーナラ・ノードがすべてリストされます。
  3. チャネルから削除するオーナラを選択し、その「その他のアクション」メニューから、「削除」を選択します。

オーダラ管理者組織の設定

チャネル内のOSNの管理をどの組織にも割り当てることができます。通常は、作成者またはチャネル作成者が割り当てられます。

  1. ファウンダ・コンソールで、チャネル・タブを開きます。
  2. 注文者管理者組織を設定するチャネルを選択し、「アクション」メニューからOSN管理者の管理を選択します。
  3. 使用可能な組織のリストから選択して、「送信」をクリックします。

チャネルのオーダリング・サービス設定の編集

特定のチャネルのオーダリング・サービス設定を更新できます。

チャネルのオーダリング・サービス設定の編集に関する次の重要な情報に注意してください:
  • 「ネットワークのオーダリング・サービス設定の編集」の説明に従って、ネットワーク全体のオーダリング・サービス設定を個別に更新できます。
  • オーダリング・サービス設定を変更し、ネットワークに対して実行されているアプリケーションがある場合、変更したオーダリング・サービス設定を使用するようにそれらのアプリケーションを手動で更新する必要があります。
  • 一般的ではありませんが、一部のネットワーク参加者に別のオーダリング・サービスを公開することがあります。その場合、更新されたネットワーク構成ブロックをエクスポートし、必要な参加者は変更された設定をインポートします。「創設者のオーダリング・サービスへの参加者またはスケールアウトされたOSNの参加」を参照してください。
このタスクを実行できるのは、管理者のみです。
  1. ファウンダのコンソールに移動し、チャネル・タブを選択します。
  2. チャネルを特定し、「その他のアクション」メニューをクリックして、オーダー・サービス設定の更新を選択します。
    オーダリング・サービス設定ダイアログが表示されます。
  3. 必要に応じて設定を更新します。
    フィールド 説明
    バッチ・タイムアウト(ミリ秒 バッチが作成されるまでシステムが待機する時間をミリ秒単位で指定します。1から36000000の数字を入力してください。
    最大メッセージ数 バッチに含めるメッセージの最大数を指定します。1から4294967295の数字を入力してください。
    絶対メッセージ数 バッチ内のシリアライズされたメッセージに許容されるバイトの最大数を指定します。

    この数値は、優先メッセージ・バイト数・フィールドに入力する値より大きくする必要があります。

    優先メッセージ・バイト数 バッチ内のシリアライズされたメッセージに許容される優先バイト数を指定します。このサイズを超えるメッセージは大きいバッチになりますが、バッチ・サイズは絶対メッセージ・バイト数フィールドに指定したバイト数以下になります。

    Oracleでは、この値を1MB以下に設定することをお薦めします。

    このフィールドに入力する値は、「絶対メッセージ・バイト数」フィールドに入力する値より小さくする必要があります。

    スナップショット間隔のサイズ スナップショットが取得されるMB数を定義します。
  4. 更新」をクリックします。
    更新された設定が保存されます。