B Marbleサンプルに含まれるファイングレイン・アクセス・コントロールのライブラリの使用
Hyperledger Fabricではv1.2より、多くの管理機能にファイングレイン・アクセス・コントロールを使用できるようになりました。Oracle Blockchain Platformには、コンソールの「開発者ツール」タブにある大理石のサンプル・パッケージが用意されており、チェーンコード開発者はこれを使用して、チェーンコード関数のアクセス制御リストを作成できます。現在サポートされているのはGo言語のみです。
バックグラウンド
このアクセス制御ライブラリのサンプルは、次を提供することです:
- 特定のチェーンコード機能にアクセス可能なユーザーを制御するメカニズムを提供します。
- ユーザーとそれらの権限のリストを動的なものとし、チェーンコード間で共有すること。
- チェーンコードでアクセス制御リストを簡単にチェックできるよう、アクセス・コントロール・チェックを提供します。
- チェーンコードのデプロイ時に、リソースのリストとアクセス制御リストに初期メンバーを入力できるようにすること。
- アクセス制御リストを指定して、アクセス制御リストを指定して、アクセス制御リストの操作の実行をユーザーに許可できるようにする。
サンプルのダウンロード
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に一致するパターン。次のパターンをお薦めします:
パターの形式は、基本的には接頭辞の付いた文字列です。たとえば、組織example.comの任意のIDに一致するパターンを定義する場合、パターンは%O%example.comになります。 |
リソース | チェーンコードでアクセスを制御する対象の名前。このライブラリでは、フラットなネームスペースに含まれる任意の名前付き文字列にすぎません。名前のセマンティクスは、すべてチェーンコードによって決定されます。 |
グループ | IDパターンのグループ。 |
ACL | アクセス制御リスト: 名前付きのエンティティで、これにはIDパターンのリスト、アクセス・タイプ(READ、CREATE、INVOKE、FORWARDなど)のリスト、チェーンコードで使用するものが含まれます。このライブラリでは、CREATE、READ、UPDATEおよびDELETE (標準的なCRUD操作)のアクセス・タイプを使用して、その情報を管理します。このライブラリ内のアイテムに関連するこれら4つを除き、これらは暗黙的にセマンティクスを持たない単なる文字列です。アプリケーションでは、A、BおよびCUSTOMのアクセスを使用できます。 |