B Marbleサンプルに含まれるファイングレイン・アクセス・コントロールのライブラリの使用

Hyperledger Fabricではv1.2より、多くの管理機能にファイングレイン・アクセス・コントロールを使用できるようになりました。Oracle Blockchain Platformには、コンソールの「開発者ツール」タブにある大理石のサンプル・パッケージが用意されており、チェーンコード開発者はこれを使用して、チェーンコード関数のアクセス制御リストを作成できます。現在サポートされているのはGo言語のみです。

バックグラウンド

このアクセス制御ライブラリのサンプルは、次を提供することです:

  • 特定のチェーンコード機能にアクセス可能なユーザーを制御するメカニズムを提供します。
  • ユーザーとそれらの権限のリストを動的なものとし、チェーンコード間で共有すること。
  • チェーンコードでアクセス制御リストを簡単にチェックできるよう、アクセス・コントロール・チェックを提供します。
  • チェーンコードのデプロイ時に、リソースのリストとアクセス制御リストに初期メンバーを入力できるようにすること。
  • アクセス制御リストを指定して、アクセス制御リストを指定して、アクセス制御リストの操作の実行をユーザーに許可できるようにする。

サンプルのダウンロード

「開発者ツール」タブで、「サンプル」ペインを開きます。ファイングレインACLを含むマーブルの下にあるダウンロード・リンクをクリックします。このパッケージには、次の3つのサブパッケージが含まれています:
  • Fine-GrainedAccessControlLibrary.zip:

    ファイングレイン・アクセス制御ライブラリ。これには、Goで記述された関数が含まれており、チェーンコード開発者はこれを使用して、チェーンコード関数のアクセス制御リストを作成できます。

  • fgACL_MarbleSampleCC.zip:

    アクセス制御リストが実装されたMarbleサンプル。これには様々な関数が含まれており、特定のユーザー/IDに関数を制限するために、ファイングレイン・アクセス制御リストやグループ、リソースをどのように使用するかを確認できます。

  • fgACL-NodeJSCode.zip:

    Node.js SDKを使用してサンプルを実行するNode.jsスクリプト。registerEnrollUser.jsを使用して、新しいユーザーをBlockchain Platformに登録できます。invokeQueryCC.jsを使用して、Blockchain Platformインスタンスに対するトランザクションを実行できます。

用語と頭字語

用語 説明
アイデンティティ コール元のIDまたはチェーンコードがチェックする特定のIDを表すX509証明書。
IDパターン

1つ以上のIDに一致するパターン。次のパターンをお薦めします:

  • X.509サブジェクト共通名- CN
  • X.509サブジェクト組織ユニット- OU
  • X.509サブジェクト組織- O
  • このライブラリに定義されているグループ- GRP
  • 属性- ATTR

パターの形式は、基本的には接頭辞の付いた文字列です。たとえば、組織example.comの任意のIDに一致するパターンを定義する場合、パターンは%O%example.comになります。

リソース チェーンコードでアクセスを制御する対象の名前。このライブラリでは、フラットなネームスペースに含まれる任意の名前付き文字列にすぎません。名前のセマンティクスは、すべてチェーンコードによって決定されます。
グループ IDパターンのグループ。
ACL アクセス制御リスト: 名前付きのエンティティで、これにはIDパターンのリスト、アクセス・タイプ(READ、CREATE、INVOKE、FORWARDなど)のリスト、チェーンコードで使用するものが含まれます。このライブラリでは、CREATE、READ、UPDATEおよびDELETE (標準的なCRUD操作)のアクセス・タイプを使用して、その情報を管理します。このライブラリ内のアイテムに関連するこれら4つを除き、これらは暗黙的にセマンティクスを持たない単なる文字列です。アプリケーションでは、A、BおよびCUSTOMのアクセスを使用できます。