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 憑證。 |
| 識別樣式 |
符合一或多個身分識別的樣式。建議使用下列樣式:
樣式的格式基本上只是一個含有前置碼的字串。例如,若要定義符合組織 "example.com" 中任何識別的樣式,樣式會是 "%O%example.com"。 |
| 資源 | 鏈碼要控制存取的任何項目的名稱 。對這個程式庫來說,它只是一個平面命名空間中包含的任意命名字串。名稱的語意完全由鏈碼組成。 |
| 群組 | 身分識別樣式群組。 |
| ACL | 存取控制清單:具有識別模式清單的指定實體、存取類型清單,例如 "READ"、"CREATE"、"INVOKE"、"FORWARD" 或任何要使用的鏈碼。此程式庫將使用 CREATE、READ、UPDATE 和 DELETE (標準 CRUD 作業) 的存取類型來維護其資訊。除了與此資源庫中的項目相關的這四個項目之外,它們只是沒有隱含語意的字串。應用程式可以決定使用 "A"、"B" 和 "CUSTOM" 的存取權。 |