管理管道
本主題包含管理您網路中通道的相關資訊,例如如何建立和檢視通道、如何加入對等體、指定和錨點對等體、如何使用原則和存取控制清單,以及如何建立訂購者與通道的關聯。
何謂通道?
通道分割及隔離對等和分類帳資料,以在區塊鏈網路上提供私密和機密交易。
- 對等
- 共用分類帳
- 在通道上建立的鏈碼
- 一或多個訂購服務節點
- 套用定義的通道原則定義和 ACL
加入通道的每個對等都擁有自己的身分,可向通道對等和服務進行認證。雖然對等體可以屬於多個通道,但是交易、分類帳狀態和通道成員身分的相關資訊會限制為每個通道內的對等體。
您可以使用 Oracle Blockchain Platform 主控台或 Hyperledger Fabric SDK 在區塊鏈網路上建立通道。請參閱檢視通道。
加入對等至通道
您可以將對等節點新增至通道,讓節點可以用來與通道上的其他對等節點交換專用交易資訊。
-
建立通道時,您可以指定可以加入通道的本機對等節點。
-
如果您正在建立包含參與者的網路,則可以選取參與者作為通路上的成員。或者,您可以在建立通道之後新增參與者。
-
您的執行處理有多個可用性網域或容錯域,而且 Oracle 建議您將每個分割區的一個對等互連至通道。這是因為如果一個 VM 無法使用,通道仍可供背書和確認使用。若要判斷對等體所在的網域,請在其他動作功能表中,選取顯示 AD 資訊以查看可用性網域資訊。
- 每個網域最多可以加入 7 個對等體。
請參閱 建立通道。
您必須是管理員,才能夠執行此作業。
新增錨點對等項
每個使用通道的成員都必須至少指定一個錨點對等。錨點對等體是主要網路聯絡點,可用來尋找與與通道上其他網路對等體通訊。
您可以指定組織中的一或多個對等體作為通道上的錨點對等體。對於高可用性網路,您可以指定兩個或多個錨點對等體。所有使用網路通道的成員都必須使用其主控台,指定一或多個其對等節點作為錨點對等節點。
您必須是管理員,才能夠執行此作業。
變更或移除錨點對等
您可以變更或移除通道的錨點對等。錨點對等體是主要網路聯絡點,可用來尋找與與通道上其他網路對等體通訊。
在您變更或移除通道的錨點對等之前,請注意下列資訊:
- 若要在通道上進行通訊,您必須將組織中的一或多個對等體指定為錨點對等體。
- 對於高可用性網路,您可以指定兩個或多個錨點對等體。
- 所有使用網路通道的成員都必須使用其主控台,指定一或多個其對等節點作為錨點對等節點。
您必須是管理員,才能夠執行此作業。
檢視已部署鏈碼的相關資訊
您可以檢視網路中不同通道上部署之鏈碼的相關資訊。
- 移至主控台並選取通道頁籤。
- 在通道表格中,按一下您要檢視其資訊之鏈碼的通道名稱。
- 在通道資訊頁面中,確認已選取「部署的鏈碼」窗格
- 在鏈碼表格中,您可以:
- 按一下鏈碼套裝程式 ID 即可移至「鏈碼」頁籤,瞭解其詳細資訊。例如,安裝鏈碼的對等體和部署鏈碼的通道。
- 在鏈碼的「其他動作」功能表中,按一下檢視鏈碼定義以尋找鏈碼定義 (包括背書原則) 的詳細資訊。
- (選擇性) 如果您看到沒有鏈碼的通路清單,則可前往「鏈碼」頁標,並將鏈碼部署至通路。請參閱部署鏈碼。
使用通道原則和 ACL
本主題包含通路政策與存取控制清單 (ACL) 的相關資訊。其中簡要說明哪些原則、原則類型以及如何修改這些原則,以及如何使用 ACL 管理哪些組織和角色可以存取通道的資源。
什麼是通路政策? (Hyperledger Fabric v2.x)
原則定義一組條件。必要關係人必須符合原則的條件,才能將簽章視為有效,並在網路上發生對應的要求。
區塊鏈網路由這些原則管理。原則會根據與完成要求所需之資源關聯的原則,檢查與要求關聯的識別。原則位於通道的組態中。
設定通道的原則之後,您可以將它們指派給通道的 ACL 資源,以決定在通道上發生變更或動作之前,需要簽署哪些成員。例如,假設您已修改 Writers 原則來包括 Organization A 或 Organization B 的成員。接著,您將 Writers 原則指派給通道的 cscc/GetConfigBlock
ACL 資源。現在只有「組織 A」或「組織 B」的成員可以在 cscc
元件上呼叫 GetConfigBlock
。
何謂原則類型?
有兩種原則類型:「簽章」和 ImplicitMeta。
- 簽章 - 指定評估規則的組合。它支援 AND 、 OR 和 NOutOf 的組合。例如,您可以定義像是「組織 A 和 2 個其他管理員的管理員」或「20 個組織管理員中的 11 個管理員」。
您建立的任何新原則都會是「簽章」原則。
- ImplicitMeta - 此原則類型只在組態相關資訊環境中有效。它會聚總評估組態階層中更深入之原則的結果 (由「簽章」原則所定義)。它支援預設規則,例如「大多數的組織管理原則」。
何時建立原則?
當您新增通道至網路時,Oracle Blockchain Platform 會建立預設原則。預設原則為:管理、撰寫者、讀取者、背書、LifecycleEndorsement (ImplicitMeta 原則) 以及建立者 (簽章原則)。如有需要,您可以修改這些原則或建立新原則。
請注意下列與通道原則有關的重要問題:
-
您可以使用主控台建立通道,並將組織的 ACL 設為 ReaderOnly。在您儲存新通路之後,就無法從通路的「編輯組織」選項更新此 ACL 設定。
不過,您可以使用主控台的「管理通道原則」功能,將組織新增至「寫入器」原則,這會覆寫通道的 ReaderOnly ACL 設定。
什麼是通路政策? (Hyperledger Fabric v1.4.7)
原則定義一組條件。必要關係人必須符合原則的條件,才能將簽章視為有效,並在網路上發生對應的要求。
區塊鏈網路由這些原則管理。原則會根據與完成要求所需之資源關聯的原則,檢查與要求關聯的識別。原則位於通道的組態中。
設定通道的原則之後,您可以將它們指派給通道的 ACL 資源,以決定在通道上發生變更或動作之前,需要簽署哪些成員。例如,假設您已修改 Writers 原則來包括 Organization A 或 Organization B 的成員。然後,將 Writers 原則指派給通道的 cscc/GetConfigBlock ACL 資源。現在,只有組織 A 或組織 B 的成員可以在 cscc 元件上呼叫 GetConfigBlock。
何謂原則類型?
有兩種原則類型:「簽章」和 ImplicitMeta。
- 簽章 - 指定評估規則的組合。它支援 AND 、 OR 和 NOutOf 的組合。例如,您可以定義像是「組織 A 和 2 個其他管理員的管理員」或「20 個組織管理員中的 11 個管理員」。
請注意,當您修改 Oracle Blockchain Platform 的預設管理原則 (建立為 ImplicitMeta 原則) 時,將會使用「簽章」原則。您建立的任何新原則都會是「簽章」原則。
- ImplicitMeta - 此原則類型只在組態相關資訊環境中有效。它會聚總評估組態階層中更深入之原則的結果 (由「簽章」原則所定義)。它支援預設規則,例如「大多數的組織管理原則」。
Oracle Blockchain Platform 使用 ImplicitMeta 原則類型建立管理原則。當您修改「管理」原則時,將會使用「簽章」原則。您無法使用 ImplicitMeta 原則建立或修改任何原則。Oracle Blockchain Platform 僅支援使用「簽章」原則類型修改或建立原則。
何時建立原則?
當您新增通道至網路時,Oracle Blockchain Platform 會建立預設原則。預設原則為:管理 (ImplicitMeta 原則)、建立者、撰寫者和讀取者 (簽章原則)。如有需要,您可以修改這些原則或建立新原則。
請注意下列有關通道原則的重要問題:
-
您可以使用主控台建立通道,並將組織的 ACL 設為 ReaderOnly。在您儲存新通路之後,就無法從通路的「編輯組織」選項更新此 ACL 設定。
不過,您可以使用主控台的「管理通道原則」功能,將組織新增至「寫入器」原則,這會覆寫通道的 ReaderOnly ACL 設定。
-
當您使用 Hyperledger Fabric SDK 建立通道時,Fabric 會使用 ImplicitMeta 原則作為讀取器和寫入器的預設通道原則。當通道使用這些原則時,Oracle Blockchain Platform 主控台無法保證將順利處理管理作業 (例如,編輯組織)。
若要更正此問題,請將讀取器和寫入器原則更新為「簽章」原則,然後視需要定義原則規則。請參閱 https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html
- 當您使用 Hyperledger Fabric SDK 或 CLI 建立通道時,建立者原則不會包含在 configtx.yaml 檔案中。Oracle Blockchain Platform 需要建立者原則,以允許通道建立者編輯通道的組態。您必須手動編輯 configtx.yaml 檔案並新增建立者原則。
新增或修改通道的原則
您可以新增或修改通道的原則,以指定在通道上執行特定動作所需的成員。定義原則之後,您可以將它們指派給通道的 ACL。
新增或更新原則之前,您必須瞭解 Oracle Blockchain Platform 如何建立預設通道原則。請參閱 What Are Channel Policies?(Hyperledger Fabric v1.4.7) 或 What Are Channel Policies?(Hyperledger Fabric v2.x) 。
您必須是管理員,才能夠執行此作業。
- 移至主控台並選取通道頁籤。
隨即顯示通道頁籤,通道表格則包含網路上所有通道的清單。
- 在通道表格中,按一下您要新增原則或修改其原則的通道名稱。
隨即顯示通道資訊頁面。
- 在通道資訊頁面中,按一下通道原則窗格。
- 請執行下列一項:
- 若要新增原則,請按一下建立新原則按鈕。隨即顯示建立原則對話方塊。在原則名稱欄位中輸入名稱,然後在原則類型欄位中選取「簽章」。展開簽章原則段落。
- 若要修改現有原則,請按一下原則的名稱。更新原則對話方塊便會顯示。
- 按一下新增識別按鈕,即可新增組織。或視需要修改現有的簽名策略。請注意下列資訊:
欄位 描述 MSP 識別碼 從下拉式功能表中,選取必須簽署原則的組織。 角色 選取原則所需的對應對等角色。通常這將會是成員。您可以檢視對等方的組態資訊來尋找對等方的角色。 原則表示式模式 在大多數情況下,您將使用基本。選取進階以使用 AND 、 OR 和 NOutOf 寫入表示式字串。如需如何撰寫有效原則表示式字串的相關資訊,請參閱 Hyperledger Fabric 文件中的背書原則。 簽署者 選取必須簽署原則才能完成要求的成員數目。 - 如果您要新增原則,請按一下建立。如果您正在修改原則,請按一下更新。
刪除通道的原則
您可以刪除您建立的通道原則。
您無法刪除預設原則:管理、建立者、讀取者、寫入者、背書及 LifecycleEndorsement。此外,如果通道原則已指定給 ACL,您就無法將其刪除。請先確認未指派原則,再嘗試刪除通道原則。
您必須是管理員,才能夠執行此作業。
- 移至主控台並選取通道頁籤。
隨即顯示通道頁籤,通道表格則包含網路上所有通道的清單。
- 在通道表格中,按一下要從中刪除原則的通道。
隨即顯示通道資訊頁面。
- 在通道資訊頁面中,按一下通道原則窗格。
- 找到要刪除的原則,然後按一下其其他選項按鈕。
- 按一下移除並確認刪除。
什麼是通道 ACL?
存取控制清單 (ACL) 會使用原則來管理哪些組織和角色可以存取通道的資源。
使用者可以藉由目標元件 (例如查詢系統鏈碼 (qscc
)、生命週期系統鏈碼 (Hyperledger Fabric v2.x 上的 _lifecycle
)、Hyperledger Fabric v1.4.7 上的 lscc
)、組態系統鏈碼 (cscc
)、對等和事件,與區塊鏈網路互動。這些元件與特定資源 (例如 GetConfigBlock
或 GetChaincodeData
) 關聯,您可以在通道層次指派原則。這些原則是通道組態的一部分。
原則定義可要求資源的組織和角色。提出要求時,原則會告知系統檢查要求者的識別,並判斷其是否已獲授權進行要求。建立通道時,Oracle Blockchain Platform 會包含預設的 Hyperledger Fabric ACL 與通道。Oracle Blockchain Platform 也會為通道建立預設原則 (Admin、Creator、Writers 和 Readers;Endorsement 和 LifecycleEndorsement on Hyperledger Fabric v2.x)。您可以視需要修改這些原則或建立新原則。請參閱 What Are Channel Policies?(Hyperledger Fabric v2.x) 或 What Are Channel Policies?(Hyperledger Fabric v1.4.7) 。
更新通道 ACL
您可以藉由指派原則給通道的資源來更新通道的 ACL。原則定義哪些組織和角色可以要求資源
在更新通道的 ACL 之前,您應該先瞭解哪些原則和 ACL。請參閱何謂通道原則?(Hyperledger Fabric v1.4.7) 和何謂通道 ACL?
- 移至主控台並選取通道頁籤。
隨即顯示通道頁籤,通道表格則包含網路上所有通道的清單。
- 在通道表格中,按一下您要更新其 ACL 的通道名稱。
隨即顯示通道資訊頁面。
- 在通道資訊頁面中,按一下 ACL 窗格。
- 在「資源」表格中,找出您要更新的資源。按一下資源的展開按鈕,然後選取要指派給資源的原則。
- 視需要修改其他資源的原則。
- 按一下更新 ACL 。
新增或移除通路的訂購者
訂購者管理組織可以從通路新增或移除訂購者。
- 在創立者主控台中,開啟通道頁籤並選取通道以查看其詳細資訊檢視。
- 開啟訂單子頁標。將會列出目前加入通道的所有排序器節點。
- 按一下結合通道。選取尚未在此通道中的 OSN,然後按一下加入。
- 在創立者主控台中,開啟通道頁籤並選取通道以查看其詳細資訊檢視。
- 開啟訂單子頁標。將會列出目前加入通道的所有排序器節點。
- 選取要從通道移除的排序器,然後從其「其他動作」功能表選取移除。
設定訂購者管理員組織
您可以將通道中的 OSN 管理指派給任何組織。一般而言,會指派創辦人或通路建立者。
- 在創立者主控台中,開啟通道頁籤。
- 選取要設定訂購者管理員組織的通道,然後從「動作」功能表選取管理 OSN 管理員。
- 從可用的組織清單中選取,然後按一下「提交」。
編輯通路的訂購服務設定
您可以更新特定通路的訂購服務設定。
- 您可以另外更新整個網路的訂購服務設定,如編輯網路的訂購服務設定中所述。
- 如果您變更訂購服務設定,且有針對網路執行的應用程式,則必須手動更新這些應用程式,才能使用修訂後的訂購服務設定。
- 這並不常見,但在某些情況下,您可能會對某些網路參與者顯示不同的訂購服務。在此情況下,您將會匯出更新的網路組態區塊,而必要的參與者將會匯入修訂過的設定值。請參閱加入參與者的或橫向擴展的 OSN 至創辦人訂購服務。