B 使用 Marble 範例中包含的微點存取控制函式庫

從 v1.2 開始,Hyperledger Fabric 提供了對許多管理功能的微點存取控制。Oracle Blockchain Platform 在主控台的「開發人員工具」頁籤上提供極限範例套件,導入鏈碼開發人員可用來建立鏈碼函數的存取控制清單的功能庫。它目前僅支援 Go 語言。

背景

此存取控制庫範例的目標是提供下列項目:

  • 提供允許您控制哪些使用者可以存取特定鏈碼功能的機制。
  • 使用者清單與其權益應為動態且跨鏈碼共用。
  • 提供存取控制檢查,讓鏈碼能夠輕鬆檢查存取控制清單。
  • 在鏈碼部署時間,可讓您將初始成員填入資源清單和存取控制清單。
  • 必須提供存取控制清單,才能授權使用者執行存取控制清單作業。

下載範例

開發人員工具頁籤上,開啟範例窗格。按一下具有微點 ACL 的組合下的下載連結。此套裝軟體包含三個子套裝軟體:
  • Fine-GrainedAccessControlLibrary.zip:

    微點存取控制程式庫。它包含 Go 中的函數,可供鏈碼開發人員用來建立鏈碼函數的存取控制清單。

  • fgACL_MarbleSampleCC.zip:

    實作存取控制清單的組合範例。其中包括多種功能,可讓您檢查如何使用微點存取控制清單、群組和資源,將功能限制在特定使用者 / 識別。

  • fgACL-NodeJSCode.zip:

    使用 Node.js SDK 執行範例的 Node.js 命令檔。registerEnrollUser.js 可用來在區塊鏈平台註冊新使用者。invokeQueryCC.js 可用來針對區塊鏈平台執行處理執行交易。

術語和縮寫

詞彙 描述
識別 X509 憑證,代表鏈碼要檢查之呼叫者或特定識別的識別。
身分識別樣式

符合一或多個識別的樣式。建議的樣式如下:

  • X.509 主體一般名稱 - CN
  • X.509 學科組織單位 - 作業單位
  • X.509 學科組織 - O
  • 此程式庫中定義的群組 - GRP
  • 屬性 - ATTR

樣式的格式基本上只是包含前置碼的字串。例如,若要定義符合組織 "example.com" 中任何識別的樣式,樣式會是 "%O%example.com"。

資源 鏈碼要控制存取權的任何項目名稱。對此程式庫來說,它只是一個包含於平面命名空間中的具名任意字串。名稱的語意完全由鏈碼決定。
群組 一組識別樣式。
ACL 存取控制清單:具有識別模式清單的具名實體、存取類型清單,例如 "READ"、"CREATE"、"INVOKE"、"FORWARD" 或鏈碼想要使用的任何項目。此程式庫將使用 CREATE、READ、UPDATE 和 DELETE (標準 CRUD 作業) 的存取類型來維護其資訊。除了這四個項目與此程式庫中的項目相關之外,它們只是沒有隱含語意的字串。應用程式可能會決定使用 "A"、"B" 和 "CUSTOM" 的存取權。