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

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 學科組織單位 – OU
  • X.509 主旨組織 - O
  • 此程式庫中定義的群組 – GRP
  • 屬性 - ATTR

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

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