Kanäle verwalten
Dieses Thema enthält Informationen zur Verwaltung der Kanäle in Ihrem Netzwerk, wie z.B. das Erstellen und Anzeigen von Kanälen, das Verknüpfen von Peers und das Festlegen und Ankern von Peers, das Arbeiten mit Policys und Access-Control-Listen und das Zuordnen von Bestellern zu einem Kanal.
Was sind Kanäle?
Kanäle partitionieren und isolieren Peers und Ledger-Daten, um private und vertrauliche Transaktionen im Blockchain-Netzwerk bereitzustellen.
- Gleichgestellte Mitarbeiter
- Gemeinsames Buch
- Chaincodes auf dem Kanal instanziiert
- Ein oder mehrere Ordering-Service-Knoten
- Kanal-Policy-Definitionen und ACLs, in denen die Definitionen angewendet werden
Jeder Peer, der einem Kanal beitritt, hat seine eigene Identität, die ihn für die Kanal-Peers und -Services authentifiziert. Obwohl Peers zu mehreren Kanälen gehören können, sind die Informationen zu Transaktionen, Buchstatus und Kanalmitgliedschaft auf Peers in jedem Kanal beschränkt.
Sie können die Oracle Blockchain Platform-Konsole oder das Hyperledger Fabric-SDK verwenden, um Kanäle in Ihrem Blockchain-Netzwerk zu erstellen. Siehe Kanäle anzeigen.
Kanäle anzeigen
Mitglieder in Ihrem Netzwerk verwenden Kanäle, um Blockchain-Transaktionsinformationen privat zu kommunizieren.
Kanal erstellen
Sie können dem Netzwerk Kanäle hinzufügen und angeben, welche Mitglieder den Kanal verwenden können und welche Peers dem Kanal beitreten können. Sie können keine Kanäle löschen.
Sie müssen Administrator sein, um diese Aufgabe abzuschließen.
-
Stellen Sie einen Chaincode auf dem Kanal bereit. Siehe Chaincode bereitstellen.
-
Wenn das Netzwerk Teilnehmer enthält, verwenden diese Teilnehmer ihre Konsolen, um Peers von Mitgliedern mit dem Kanal zu verbinden. Siehe Peer to a Channel beitreten.
Buchaktivität eines Kanals anzeigen
Mit dem Buch können Sie Übersichtsinformationen und Laufzeitstatistiken für Transaktionen in einem bestimmten Kanal suchen.
Organisationsliste eines Kanals anzeigen oder aktualisieren
Sie können die Liste der Organisationen anzeigen, die Zugriff auf den Kanal haben. Wenn Sie den Kanal erstellt haben, können Sie die Berechtigungen einer Organisation für den Kanal ändern und Organisationen zum Kanal hinzufügen oder daraus entfernen
Mit einem Peer zu einem Kanal verbinden
Sie können einem Kanal einen Peer-Knoten hinzufügen, damit der Knoten damit private Transaktionsinformationen mit anderen Peer-Knoten im Kanal austauschen kann.
-
Wenn Sie einen Kanal erstellen, geben Sie an, welche lokalen Peerknoten dem Kanal beitreten können.
-
Wenn Sie ein Netzwerk erstellen, das einen Teilnehmer enthält, können Sie den Teilnehmer als Mitglied im Kanal auswählen. Sie können den Teilnehmer auch hinzufügen, nachdem der Kanal erstellt wurde.
-
Ihre Instanz verfügt über mehrere Availability-Domains oder Faultdomains. Oracle empfiehlt, dass Sie einen Peer von jeder Partition mit dem Kanal verbinden. Wenn eine VM nicht verfügbar ist, ist der Kanal weiterhin für Bestätigungen und Commits verfügbar. Um zu bestimmen, in welcher Domain sich ein Peer befindet, wählen Sie im Menü Weitere Aktionen die Option AD-Informationen anzeigen, um die Availability-Domaininformationen anzuzeigen.
- Sie können maximal sieben Peers aus jeder Domain beitreten.
Siehe Kanal erstellen.
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
Ankerstelle hinzufügen
Jedes Element, das einen Kanal verwendet, muss mindestens einen Ankerpeer angeben. Ankerpeers sind primäre Netzwerkkontaktpunkte und werden verwendet, um andere Netzwerkpeers im Kanal zu erkennen und mit ihnen zu kommunizieren.
Sie können einen oder mehrere Peers in Ihrer Organisation als Ankerpeer auf einem Kanal angeben. Bei einem High Availability-Netzwerk können Sie zwei oder mehr Ankerpeers angeben. Alle Mitglieder, die den Netzwerkkanal verwenden, müssen ihre Konsole verwenden, um einen oder mehrere ihrer Peer-Knoten als Anker-Peers festzulegen.
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
Ankerpeers ändern oder entfernen
Sie können die Ankerpeers eines Kanals ändern oder entfernen. Ankerpeers sind primäre Netzwerkkontaktpunkte und werden verwendet, um andere Netzwerkpeers im Kanal zu erkennen und mit ihnen zu kommunizieren.
Bevor Sie die Ankerpeers des Kanals ändern oder entfernen, beachten Sie die folgenden Informationen:
- Um auf dem Kanal zu kommunizieren, müssen Sie mindestens einen Peer in Ihrer Organisation als Anker-Peer festlegen.
- Bei einem High Availability-Netzwerk können Sie zwei oder mehr Ankerpeers angeben.
- Alle Mitglieder, die den Netzwerkkanal verwenden, müssen ihre Konsole verwenden, um einen oder mehrere ihrer Peer-Knoten als Anker-Peers festzulegen.
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
Informationen zu bereitgestellten Chaincodes anzeigen
Sie können Informationen zu den Chaincodes anzeigen, die auf den verschiedenen Kanälen in Ihrem Netzwerk bereitgestellt werden.
- Navigieren Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
- Klicken Sie in der Kanaltabelle auf den Kanalnamen mit dem Chaincode, für den Sie Informationen anzeigen möchten.
- Bestätigen Sie auf der Seite Kanalinformationen, dass der Bereich "Bereitgestellte Chaincodes" ausgewählt ist
- In der Chaincodetabelle können Sie folgende Aktionen ausführen:
- Klicken Sie auf die Chaincode-Paket-ID, um zur Registerkarte Chaincodes zu gelangen und weitere Informationen dazu zu erhalten. Beispiel: Die Peers, auf denen der Chaincode installiert ist, und die Kanäle, auf denen der Chaincode bereitgestellt wird.
- Klicken Sie im Menü "Weitere Aktionen" eines Chaincodes auf Chaincode-Definition anzeigen, um Details zur Definition des Chaincodes anzuzeigen, einschließlich der Bestätigungs-Policy.
- (Optional) Wenn eine Kanalliste ohne Chaincode angezeigt wird, können Sie zur Registerkarte "Chaincodes" gehen und einen Chaincode für den Kanal bereitstellen. Siehe Chaincode bereitstellen.
Mit Channel-Policys und -ACLs arbeiten
Dieses Thema enthält Informationen zu den Policys und Access Control-Listen (ACLs) eines Kanals. Es bietet einen Überblick über Policys, Policy-Typen und deren Änderung sowie über die Verwendung von ACLs, um zu verwalten, welche Organisationen und Rollen auf die Ressourcen eines Kanals zugreifen können.
Was sind Channel-Policys? (Hyperledger Fabric v2.x)
Eine Policy definiert eine Gruppe von Bedingungen. Die erforderlichen Parteien müssen die Bedingungen der Richtlinie erfüllen, bevor ihre Unterschriften als gültig angesehen werden und die entsprechende Anfrage im Netzwerk erfolgt.
Das Blockchain-Netzwerk wird durch diese Richtlinien verwaltet. Policys prüfen die mit einer Anforderung verknüpfte Identität anhand der Policy, die mit der zur Erfüllung der Anforderung erforderlichen Ressource verknüpft ist. Policys befinden sich in der Kanalkonfiguration.
Nachdem Sie die Policys des Kanals konfiguriert haben, weisen Sie sie den ACLs des Kanals zu, um zu bestimmen, welche Mitglieder signiert werden müssen, bevor eine Änderung oder Aktion auf dem Kanal ausgeführt werden kann. Beispiel: Sie haben die Writers-Policy so geändert, dass sie Elemente aus Organisation A oder Organisation B enthält. Anschließend haben Sie die Writers-Policy der ACL-Ressource cscc/GetConfigBlock
des Kanals zugewiesen. Jetzt kann nur ein Mitglied aus Organisation A oder Organisation B GetConfigBlock
in der Komponente cscc
aufrufen.
Was sind die Policy-Typen?
Es gibt zwei Policy-Typen: Signatur und ImplicitMeta.
- Signatur – Gibt eine Kombination aus Bewertungsregeln an. Es unterstützt Kombinationen aus AND, OR und NOutOf. Beispiel: Sie können z.B. "Ein Administrator von Organisation A und 2 anderen Administratoren" oder "11 von 20 Organisationsadministratoren" definieren.
Alle neu erstellten Policys sind Signatur-Policys.
- ImplicitMeta: Dieser Policy-Typ ist nur im Kontext der Konfiguration gültig. Es aggregiert das Ergebnis der Auswertung von Policys, die tiefer in der Konfigurationshierarchie enthalten sind und durch Signatur-Policys definiert werden. Es unterstützt Standardregeln, z.B. "Ein Großteil der Organisations-Admin-Policys".
Wann werden Policys erstellt?
Wenn Sie dem Netzwerk einen Kanal hinzufügen, erstellt Oracle Blockchain Platform Standard-Policys. Die Standard-Policys sind: Admins, Writers, Readers, Endorsement, LifecycleEndorsement (ImplicitMeta Policys) und Creator (Signatur-Policy). Sie können diese Policys bei Bedarf ändern oder neue Policys erstellen.
Beachten Sie das folgende wichtige Problem bei Kanal-Policys:
-
Mit der Konsole können Sie einen Kanal erstellen und die ACL Ihrer Organisation auf ReaderOnly setzen. Nachdem Sie den neuen Kanal gespeichert haben, können Sie diese ACL-Einstellung nicht über die Option "Organisation bearbeiten" des Kanals aktualisieren.
Sie können jedoch die Funktionalität "Kanal-Policys verwalten" der Konsole verwenden, um Ihre Organisation der Writers-Policy hinzuzufügen. Dadurch wird die ACL-Einstellung ReaderOnly des Kanals überschrieben.
Policys eines Channels hinzufügen oder ändern
Sie können die Policy eines Kanals hinzufügen oder ändern, um anzugeben, welche Elemente für eine bestimmte Aktion im Kanal erforderlich sind. Nachdem Sie Policys definiert haben, weisen Sie sie den ACLs des Kanals zu.
Bevor Sie Policys hinzufügen oder aktualisieren, müssen Sie wissen, wie Oracle Blockchain Platform Standardkanal-Policys erstellt. Siehe Was sind Kanalrichtlinien? (Hyperledger Fabric v2.x).
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
- Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
Die Registerkarte Kanäle wird angezeigt, und die Kanaltabelle enthält eine Liste aller Kanäle in Ihrem Netzwerk.
- Klicken Sie in der Kanaltabelle auf den Kanalnamen, für den Sie Policys hinzufügen oder Policys ändern möchten.
Die Seite Kanalinformationen wird angezeigt.
- Klicken Sie auf der Seite Kanalinformationen auf den Bereich Kanal-Policys.
- Führen Sie eine der folgenden Aktionen aus:
- Um eine neue Policy hinzuzufügen, klicken Sie auf die Schaltfläche Neue Policy erstellen. Das Dialogfeld Policy erstellen wird angezeigt. Geben Sie im Feld Policy-Name einen Namen ein, und wählen Sie im Feld Policy-Typ die Option "Signatur". Blenden Sie den Abschnitt Signatur-Policy ein.
- Um eine vorhandene Policy zu ändern, klicken Sie auf den Namen einer Policy. Das Dialogfeld Policy aktualisieren wird angezeigt.
- Klicken Sie auf die Schaltfläche Identität hinzufügen, um eine Organisation hinzuzufügen. Oder ändern Sie eine vorhandene Signaturrichtlinie nach Bedarf. Beachten Sie die folgenden Informationen:
Feld Beschreibung KENNUNG ANZEIGEN Wählen Sie im Dropdown-Menü die Organisation aus, die die Policy signieren muss. Rolle Wählen Sie die entsprechende Peerrolle aus, die für die Policy erforderlich ist. Normalerweise wird dies Mitglied sein. Sie können die Rolle eines gleichgestellten Mitarbeiters suchen, indem Sie dessen Konfigurationsinformationen anzeigen. Policy-Ausdrucksmodus In den meisten Fällen verwenden Sie Einfach. Wählen Sie Erweitert aus, um eine Ausdruckszeichenfolge mit AND, OR und NOutOf zu schreiben. Informationen zum Schreiben einer gültigen Policy-Ausdruckszeichenfolge finden Sie unter Bestätigungsrichtlinien in der Hyperledger Fabric-Dokumentation. Signiert von Wählen Sie aus, wie viele Mitglieder die Policy unterzeichnen müssen, um die Anforderung zu erfüllen. - Wenn Sie eine neue Policy hinzufügen, klicken Sie auf Erstellen. Wenn Sie eine Policy ändern, klicken Sie auf Aktualisieren.
Policys eines Channels löschen
Sie können Kanal-Policys, die Sie erstellt haben, löschen.
Sie können die Standard-Policys nicht löschen: Admins, Ersteller, Leser, Schriftsteller, Bestätigung und LifecycleEndorsement. Außerdem können Sie eine Kanal-Policy nicht löschen, wenn sie einer ACL zugewiesen ist. Bevor Sie versuchen, eine Kanal-Policy zu löschen, bestätigen Sie, dass die Policy nicht zugewiesen ist.
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
- Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
Die Registerkarte Kanäle wird angezeigt, und die Kanaltabelle enthält eine Liste aller Kanäle in Ihrem Netzwerk.
- Klicken Sie in der Kanaltabelle auf den Kanal, aus dem Sie eine Policy löschen möchten.
Die Seite Kanalinformationen wird angezeigt.
- Klicken Sie auf der Seite Kanalinformationen auf den Bereich Kanal-Policys.
- Suchen Sie die Policy, die Sie löschen möchten, und klicken Sie auf die Schaltfläche Weitere Optionen.
- Klicken Sie auf Entfernen, und bestätigen Sie den Löschvorgang.
Was sind Channel-ACLs?
Access Control-Listen (ACLs) verwenden Policys, um zu verwalten, welche Organisationen und Rollen auf die Ressourcen eines Kanals zugreifen können.
Benutzer interagieren mit dem Blockchain-Netzwerk, indem sie Komponenten wie den Abfragesystemkettencode (qscc
), den Lebenszyklussystemkettencode (_lifecycle
), den Konfigurationssystemkettencode (cscc
), den Peer und das Ereignis als Ziel festlegen. Diese Komponenten sind mit bestimmten Ressourcen (z.B. GetConfigBlock
oder GetChaincodeData
) verknüpft, denen Sie Policys auf Kanalebene zuweisen können. Diese Policys sind Teil der Kanalkonfiguration.
Eine Policy definiert, welche Organisationen und Rollen eine Ressource anfordern können. Wenn eine Anforderung gestellt wird, weist die Policy das System an, die Identität des Anforderers zu prüfen und zu bestimmen, ob die Anforderung autorisiert ist. Wenn Sie einen Kanal erstellen, enthält Oracle Blockchain Platform die Standard-Hyperledger Fabric-ACLs mit dem Kanal. Oracle Blockchain Platform erstellt außerdem Standard-Policys (Admin, Creator, Writers, Readers, Endorsement und LifecycleEndorsement) für den Kanal. Sie können diese Policys ändern oder nach Bedarf neue Policys erstellen. Siehe Was sind Kanalrichtlinien? (Hyperledger Fabric v2.x).
Kanal-ACLs aktualisieren
Sie können die ACLs des Kanals aktualisieren, indem Sie den Ressourcen des Kanals Policys zuweisen. Eine Policy definiert, welche Organisationen und Rollen eine Ressource anfordern können
Bevor Sie die ACLs eines Kanals aktualisieren, sollten Sie sich mit den Policys und ACLs vertraut machen. Weitere Informationen finden Sie unter Was sind Kanal-ACLs?.
- Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
Die Registerkarte Kanäle wird angezeigt, und die Kanaltabelle enthält eine Liste aller Kanäle in Ihrem Netzwerk.
- Klicken Sie in der Kanaltabelle auf den Namen des Kanals, für den Sie ACLs aktualisieren möchten.
Die Seite Kanalinformationen wird angezeigt.
- Klicken Sie auf der Seite Kanalinformationen auf den Bereich ACLs.
- Suchen Sie in der Tabelle "Ressourcen" die Ressource, die Sie aktualisieren möchten. Klicken Sie auf die Schaltfläche Einblenden der Ressource, und wählen Sie die Policy aus, die Sie der Ressource zuweisen möchten.
- Ändern Sie die Policys der anderen Ressource nach Bedarf.
- Klicken Sie auf ACLs aktualisieren.
Orderer zu oder aus einem Kanal hinzufügen oder entfernen
Die Administratororganisation des Bestellers kann Auftragnehmer zu einem Kanal hinzufügen oder daraus entfernen.
- Öffnen Sie in der Gründerkonsole die Registerkarte Kanäle, und wählen Sie den Kanal aus, um die zugehörige Detailansicht anzuzeigen.
- Öffnen Sie die Unterregisterkarte Besteller. Alle Orderer-Knoten, die derzeit mit dem Kanal verbunden sind, werden aufgelistet.
- Klicken Sie auf Kanal beitreten. Wählen Sie einen OSN aus, der noch nicht in diesem Kanal enthalten ist, und klicken Sie auf Beitreten.
- Öffnen Sie in der Gründerkonsole die Registerkarte Kanäle, und wählen Sie den Kanal aus, um die zugehörige Detailansicht anzuzeigen.
- Öffnen Sie die Unterregisterkarte Besteller. Alle Orderer-Knoten, die derzeit mit dem Kanal verbunden sind, werden aufgelistet.
- Wählen Sie den Auftragnehmer, den Sie aus dem Kanal entfernen möchten, und wählen Sie im Menü "Weitere Aktionen" die Option Entfernen.
Organisation für den Orderer-Administrator festlegen
Sie können die Administration von OSNs in einem Kanal jeder Organisation zuweisen. Normalerweise wird entweder der Gründer oder der Channel-Ersteller zugewiesen.
- Öffnen Sie in der Gründerkonsole die Registerkarte Kanäle.
- Wählen Sie den Kanal aus, für den Sie die Organisation des Orderer-Administrators festlegen möchten, und wählen Sie im Menü "Aktion" die Option OSN-Admin verwalten.
- Wählen Sie eine der verfügbaren Organisationen, und klicken Sie auf Weiterleiten.
Ordering-Service-Einstellungen für einen Kanal bearbeiten
Sie können die Ordering-Service-Einstellungen für einen bestimmten Kanal aktualisieren.
- Separat können Sie die Einstellungen für den Bestellservice für das gesamte Netzwerk aktualisieren, wie unter Einstellungen für den Bestellservice für das Netzwerk bearbeiten beschrieben.
- Wenn Sie die Bestellserviceeinstellungen ändern und Anwendungen im Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Bestellserviceeinstellungen zu verwenden.
- Es ist nicht üblich, aber in einigen Situationen können Sie einigen der Netzwerkteilnehmern einen anderen Bestellservice anbieten. In diesem Fall exportieren Sie den aktualisierten Netzwerkkonfigurationsblock, und die erforderlichen Teilnehmer importieren die überarbeiteten Einstellungen. Weitere Informationen finden Sie unter Teilnehmer beitreten oder OSNs mit skaliertem Out für den Ordering-Service des Gründers.