Kanäle verwalten

Dieses Thema enthält Informationen zum Verwalten der Kanäle in Ihrem Netzwerk, wie 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 Auftragnehmern zu einem Kanal.

Was sind Kanäle?

Kanäle partitionieren und isolieren Peer- und Ledger-Daten, um private und vertrauliche Transaktionen im Blockchain-Netzwerk bereitzustellen.

Mitglieder definieren und strukturieren Kanäle, um bestimmten Peers zu ermöglichen, private und vertrauliche Transaktionen durchzuführen, die andere Mitglieder im selben Blockchain-Netzwerk nicht sehen oder darauf zugreifen können. Jeder Kanal umfasst:
  • Peers
  • Gemeinsames Buch
  • Chaincodes auf dem Kanal instanziiert
  • Mindestens ein Order-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 bei den Channel-Peers und -Services authentifiziert. Obwohl Peers zu mehreren Kanälen gehören können, sind die Informationen zu Transaktionen, Hauptbuchstatus 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.

Auf der Registerkarte Kanal können Sie eine Liste der Kanäle in Ihrem Netzwerk anzeigen, Kanäle erstellen und überwachen, Anker-Peers angeben und die instanziierten Chaincodes upgraden, die auf Ihren Kanälen verwendet werden.
  1. 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.
  2. Klicken Sie in der Kanaltabelle auf den Kanalnamen, zu dem Sie Informationen benötigen. Wenn alle mit dem Kanal verknüpften Peers gestoppt werden, wird der Kanal aufgelistet. Die zugehörigen Informationen können jedoch nicht angezeigt werden.
    Die Seite Kanalinformationen wird angezeigt.
  3. Klicken Sie durch die Seitenbereiche der Seite Kanalinformationen, um Informationen zum Kanal zu suchen.
    Abschnitt Was kann ich in diesem Bereich tun?
    Buch Rufen Sie Informationen zur Buchaktivität des Kanals ab, z.B. die Blocknummer und die Anzahl der Benutzertransaktionen im Block. Klicken Sie auf eine Blocknummer, um einen Drilldown zu Informationen über ihre Transaktionen durchzuführen. Mit dem Filterfeld können Sie die Übersichtsinformationen angeben, die angezeigt werden sollen (z.B. Informationen vom letzten Tag oder letzten Monat), oder Sie können die Start- und Endzeit mit der benutzerdefinierten Option eingeben. Siehe Hauptbuchaktivität eines Kanals anzeigen.
    (Hyperledger Fabric v2.x) Bereitgestellte Chaincodes Zeigen Sie die Liste der Chaincodes an, die auf dem Kanal bereitgestellt wurden.
    (Hyperledger Fabric v1.4.7) instanziierte Chaincodes Zeigen Sie die Liste der Chaincodes an, die auf dem Kanal instanziiert wurden.
    Anforderer Zeigen Sie eine Liste der derzeit aktiven Auftragnehmer an, und können Sie ein neues OSN hinzufügen, um dem Kanal beizutreten.
    Peers Zeigen Sie die Liste der Peers an, die mit dem Kanal verknüpft sind. In diesem Abschnitt können Sie Anker-Peers für den Kanal festlegen.
    Organisationen Zeigen Sie die Liste der Netzwerkmitglieder an, deren Peers den Kanal für die Kommunikation verwenden.
    Kanal-Policys Zeigen Sie die Liste der Standard-Policys und aller Policys an, die Sie für den Kanal erstellt haben. In diesem Abschnitt können Sie Policys hinzufügen, ändern und löschen.
    ACLs Zeigen Sie die Access Control-Listen (ACLs) und die Policys an, mit denen verwaltet wird, welche Organisationen und Rollen auf die Ressourcen des Kanals zugreifen können.

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 auszuführen.

  1. Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
  2. Klicken Sie auf der Registerkarte Channels auf Neuen Channel erstellen.
  3. Geben Sie im Feld Kanalname einen eindeutigen Namen für den Kanal ein. Der Kanalname kann maximal 128 Zeichen umfassen.
  4. Wählen Sie im Abschnitt Organisationen alle zusätzlichen Elemente aus, die Sie über den Kanal kommunizieren möchten.
    Wenn Sie in einer Teilnehmerinstanz arbeiten, müssen Sie den Gründer zu Ihrer Instanz hinzufügen, bevor die MSP-ID des Gründers im Abschnitt "Organisation" angezeigt wird. Um die Gründerorganisation hinzuzufügen, gehen Sie zur Registerkarte "Netzwerk", und klicken Sie auf die Schaltfläche Organisation hinzufügen, um die Zertifikate des Gründers hochzuladen.
  5. Geben Sie im Abschnitt MSP-ID-ACL die Organisationen an, die Zugriff auf den Kanal und Berechtigungen für jede ausgewählte Organisation haben. Beachten Sie, dass Sie weitere Organisationen hinzufügen oder später aus dem Kanal löschen können.
    Die Berechtigungen Ihrer Organisation sind auf "Schreiben" (ReaderWriter) gesetzt, und Sie können diese Einstellung nicht ändern. Standardmäßig sind die Berechtigungen anderer Mitglieder auf "Schreiben" (ReaderWriter) gesetzt. Sie können sie jedoch in "Lesen" (ReaderOnly) ändern, wenn die Mitglieder keine Chaincodes aufrufen und nur Kanalinformationen und -blöcke im Kanal lesen sollen.
  6. (Optional) Wählen Sie im Feld Peers zum Verknüpfen von Kanälen mindestens einen Peer aus. Beachten Sie die folgenden Informationen:
    • Wenn Ihr Netzwerk Teilnehmer enthält, werden die Peers der Teilnehmer nicht in dieser Liste angezeigt. Die Teilnehmer müssen ihre Konsolen verwenden, um Peers mit dem Kanal zu verbinden. Ein Teilnehmer kann seinen Peers erst beitreten, wenn seine Organisation dem ACL-Abschnitt der MSP-ID des Kanals hinzugefügt wurde.
    • Wenn Sie nur den Kanal erstellen möchten, wählen Sie keine Peers aus. Sie können dem Kanal später Peers hinzufügen.
  7. Klicken Sie auf Weiterleiten.
    In der Kanaltabelle wird der neue Kanal angezeigt.
Nach dem Erstellen des Kanals können Sie:

Buchaktivität eines Kanals anzeigen

Mit dem Buch können Sie Übersichtsinformationen und Laufzeitstatistiken für Transaktionen in einem bestimmten Kanal suchen.

  1. Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
  2. Klicken Sie in der Kanaltabelle auf den Kanalnamen, zu dem Sie Transaktionsinformationen benötigen. Vergewissern Sie sich auf der Seite Kanalinformationen, dass der Bereich Buch ausgewählt ist.
  3. Im Bereich Buchübersicht finden Sie grundlegende Informationen zur Kanalaktivität, wie die Gesamtanzahl der Blöcke in der Buchkette und die Gesamtanzahl der Benutzertransaktionen im Kanal.
  4. Um die Blockchain-Aktivität zu einem bestimmten Zeitpunkt anzuzeigen, z.B. am letzten Tag oder in der letzten Woche, wählen Sie in der Dropdown-Liste "Filter" den gewünschten Zeitraum aus. Um eine bestimmte Gruppe von Transaktionen zu suchen und einen Drilldown durchzuführen, wählen Sie Benutzerdefiniert aus, und geben Sie Suchkriterien in die Felder Startzeit und Endzeit ein. Sie können auch auf das Kalendersymbol klicken und die gewünschten Datumsangaben auswählen. Klicken Sie auf Übernehmen.
    Wenn Sie einen bestimmten Zeitraum (z.B. Letzter Tag) auswählen und ihn dann erneut auswählen, um die Abfrage erneut auszuführen, wird die Abfrage nicht erneut ausgeführt. Um die neuesten Informationen abzurufen, klicken Sie auf die Schaltfläche Aktualisieren.
    Die folgenden Transaktionstypen können für einen Block angezeigt werden:
    • genesis - Die Transaktion, die den Konfigurationsblock ausführt, um den Kanal zu initialisieren.
    • data (sys) - Die Transaktion, mit der der Chaincode-Container gestartet wird, um den Chaincode zur Verwendung verfügbar zu machen.
    • data - Eine Chaincode-Transaktion, die zur Ausführung auf dem Kanal aufgerufen wird.
  5. Um weitere Informationen zu einer bestimmten Transaktion zu erhalten, suchen Sie die Transaktion in der Abfragebuchtabelle, und klicken Sie darauf. In der Transaktionstabelle werden die Transaktionsdetails angezeigt.

    Für einen bestimmten Block werden die Transaktionen in der Tabelle in der Reihenfolge der Transaktionsnummer aufgelistet, die beim Erstellen des Blocks vom Ordering-Service zugewiesen wird. Aus diesem Grund können die in der Tabelle aufgeführten Transaktionen Zeitstempel (die von der Bestätigung des Chaincodes durch den Peer stammen) aufweisen, die vor oder nach anderen Transaktionen im selben Block liegen. Der Zeitraum der Transaktionen in einem einzelnen Block wird durch die Einstellungen des Ordering-Service bestimmt, einschließlich des Batch-Timeoutparameters (die Zeit, die der Ordering-Service nach einer ersten Transaktion auf zusätzliche Transaktionen wartet, bevor er einen Block ausschneidet).

    Transaktionsdetails Beschreibung
    TxID Die der Transaktion zugewiesene eindeutige alphanumerische ID. Die TxID wird als Hash einer Nonce erstellt, die mit den serialisierten Byte der Signaturidentität verkettet ist.
    Time Der Zeitstempel der Transaktion (Datum und Uhrzeit der Transaktion).
    Kettencode Der Name des Chaincodes, der die Transaktion ausgeführt hat. Dieses Feld kann den Namen eines Chaincodes anzeigen, den Sie geschrieben, installiert und bereitgestellt haben, aber auch einen System Chaincode anzeigen.

    Systemkettencodeoptionen sind:

    • (Hyperledger Fabric v2.x) _lifecycle - Für Lebenszyklusanforderungen wie Installation, Deployment und Upgrade.
    • (Hyperledger Fabric v1.4.7) LSCC - Für Lebenszyklusanforderungen, wie Instanziieren, Installieren und Upgrade.
    • QSCC - Für Abfragen. Dieser Chaincode enthält APIs für Buchabfragen.
    Status Status, der angibt, ob die Transaktion erfolgreich oder nicht erfolgreich war.
  6. Klicken Sie auf das Dreieckssymbol neben TxID, um detaillierte Informationen zur Transaktion anzuzeigen, wie Funktionsname, Argumente, Validierungsergebnisse, Antwortstatus, Initiator und Unterstützer.
    Wenn eine Transaktion nicht erfolgreich war, können Sie mit TxID die Fehlerlogs auf dem Peer- oder Orderer-Knoten nach weiteren Informationen durchsuchen.

Organisationsliste eines Vertriebskanals 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.

  1. 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.
  2. Suchen Sie in der Kanaltabelle den Kanal, zu dem Sie Informationen benötigen, klicken Sie auf die Schaltfläche Weitere Aktionen für die Kanäle, und klicken Sie auf Kanalorganisationen bearbeiten.
    Die Seite Organisationen bearbeiten wird angezeigt.
  3. Im Abschnitt MSP-ID-ACL können Sie folgendermaßen vorgehen:
    • Berechtigungen einer Organisation ändern. Die Organisation, die den Kanal erstellt hat, ist auf "Schreiben" (ReaderWriter) gesetzt. Sie können diese Einstellung nicht ändern.

    • Wenn Sie der Netzwerkgründer sind, deaktivieren Sie das Kontrollkästchen einer Organisation, um sie aus dem Kanal zu löschen. Wenn Sie ein Netzwerkteilnehmer sind, verwenden Sie die Schaltfläche Löschen, um eine Organisation aus dem Kanal zu löschen. Wenn Sie eine Organisation aus einem Kanal löschen, können die Organisation und ihre Kollegen keinen Chaincode mehr im Kanal abfragen, aufrufen und instanziieren. Und die entfernten Kollegen der Organisation können dem Kanal nicht beitreten.

    • Klicken Sie auf das Kontrollkästchen einer Organisation, um die Organisation dem Kanal hinzuzufügen und ihre Berechtigungen festzulegen. Standardmäßig sind die Berechtigungen jedes Elements auf "Schreiben" (ReaderWriter) gesetzt. Sie können sie jedoch in "Lesen" (ReaderOnly) ändern, wenn das Element keine Chaincodes aufrufen und nur Kanalinformationen und -blöcke im Kanal lesen soll.

  4. Klicken Sie auf Weiterleiten, um die Änderungen zu speichern.

Peer zu einem Channel beitreten

Sie können einem Kanal einen Peer-Knoten hinzufügen, damit der Knoten damit private Transaktionsinformationen mit anderen Peer-Knoten im Kanal austauschen kann.

Beachten Sie die folgenden Informationen:
  • Wenn Sie einen Kanal erstellen, geben Sie an, welche lokalen Peerknoten mit dem Kanal verknüpft werden 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 von jeder Partition aus einen Peer mit dem Kanal verbinden. Wenn eine VM nicht verfügbar ist, ist der Kanal noch 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 Informationen zur Availability-Domain anzuzeigen.

  • Sie können maximal sieben Peers aus jeder Domain beitreten.

Siehe Kanal erstellen.

Sie müssen Administrator sein, um diese Aufgabe auszuführen.

  1. Gehen Sie zur Konsole, und wählen Sie die Registerkarte Knoten aus.
  2. Klicken Sie auf der Registerkarte Knoten auf den Peer-Knoten, den Sie einem Kanal hinzufügen möchten.
  3. Klicken Sie auf der Seite Knoteninformationen auf den Bereich Kanäle, um die Liste der Kanäle anzuzeigen, die der Peer bereits verwendet.
  4. Klicken Sie auf Neue Kanäle beitreten.
    Das Dialogfeld Neue Kanäle beitreten wird angezeigt.
  5. Klicken Sie auf das Feld Kanalname, und wählen Sie in der Liste den Namen des Channels aus, dem Sie beitreten möchten. Klicken Sie erneut auf das Feld, um einen anderen Kanal auszuwählen. Klicken Sie auf Join.

Anker-Peer hinzufügen

Jedes Element, das einen Kanal verwendet, muss mindestens einen Ankerpeer angeben. Anker-Peers sind primäre Netzwerk-Kontaktpunkte und werden verwendet, um andere Netzwerk-Peers auf dem 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 Anker-Peers angeben. Alle Mitglieder, die den Netzwerkkanal verwenden, müssen über ihre Konsole einen oder mehrere ihrer Peer-Knoten als Anker-Peers angeben.

Sie müssen Administrator sein, um diese Aufgabe auszuführen.

  1. 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.
  2. Klicken Sie in der Kanaltabelle auf den Kanalnamen, dem Sie Anker-Peers hinzufügen möchten.
    Die Seite Kanalinformationen wird angezeigt.
  3. Klicken Sie auf der Seite Kanalinformationen auf den Bereich Peers.
  4. Suchen Sie die Peer oder Peers, die Sie als Anker-Peers festlegen möchten, und klicken Sie auf die entsprechenden Kontrollkästchen Anker-Peer, um sie auszuwählen.
  5. Klicken Sie auf die Schaltfläche Anwenden.

Anker-Peer ändern oder entfernen

Sie können die Anker-Peers eines Kanals ändern oder entfernen. Anker-Peers sind primäre Netzwerk-Kontaktpunkte und werden verwendet, um andere Netzwerk-Peers auf dem Kanal zu erkennen und mit ihnen zu kommunizieren.

Beachten Sie die folgenden Informationen, bevor Sie die Anker-Peers des Kanals ändern oder entfernen:

  • Um auf dem Kanal zu kommunizieren, müssen Sie einen oder mehrere Peers in Ihrer Organisation als Anker-Peer angeben.
  • Bei einem High Availability-Netzwerk können Sie zwei oder mehr Anker-Peers angeben.
  • Alle Mitglieder, die den Netzwerkkanal verwenden, müssen über ihre Konsole einen oder mehrere ihrer Peer-Knoten als Anker-Peers angeben.

Sie müssen Administrator sein, um diese Aufgabe auszuführen.

  1. 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.
  2. Klicken Sie in der Kanaltabelle auf den Kanalnamen, aus dem Sie Anker-Peers entfernen möchten.
    Die Seite Kanalinformationen wird angezeigt.
  3. Klicken Sie auf der Seite Kanalinformationen auf den Bereich Peers.
  4. Suchen Sie die Peer oder Peers, die Sie als Anker-Peers entfernen möchten, und deaktivieren Sie deren Kontrollkästchen Anker-Peer. Alternativ können Sie einen weiteren Peer als Anker-Peer hinzufügen, indem Sie das entsprechende Kontrollkästchen Anker-Peer aktivieren.
  5. Klicken Sie auf die Schaltfläche Anwenden.

Informationen zu bereitgestellten Chaincodes anzeigen

Sie können Informationen zu den Chaincodes anzeigen, die auf den verschiedenen Kanälen in Ihrem Netzwerk bereitgestellt werden.

Möglicherweise benötigen Sie Informationen zu bereitgestellten Chaincodes, um zu bestimmen, ob Sie den Chaincode upgraden müssen, oder um herauszufinden, auf welchen Kanälen der Chaincode bereitgestellt wurde.
  1. Gehen Sie zur Konsole, und wählen Sie die Registerkarte Kanäle aus.
  2. Klicken Sie in der Kanaltabelle auf den Kanalnamen mit dem Chaincode, für den Sie Informationen anzeigen möchten.
  3. Vergewissern Sie sich auf der Seite Kanalinformationen, dass der Bereich "Bereitgestellte Chaincodes" ausgewählt ist.
  4. In der Chaincodetabelle können Sie folgende Aktionen ausführen:
    • Klicken Sie auf die Chaincode-Paket-ID, um zur Registerkarte Chaincodes zu gelangen, um weitere Informationen dazu zu erhalten. Beispielsweise die Peers, auf denen der Chaincode installiert ist, und die Channels, auf denen der Chaincode bereitgestellt wird.
    • Klicken Sie im Menü "Weitere Aktionen" eines Chaincodes auf Chaincode-Definition anzeigen, um Details zur Chaincode-Definition zu suchen, einschließlich der Bestätigungs-Policy.
  5. (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 Kanal-Policys und ACLs arbeiten

Dieses Thema enthält Informationen zu den Policys und Access Control-Listen (ACLs) eines Kanals. Sie bietet einen Überblick über Policys, Policy-Typen und deren Änderung sowie darüber, wie Sie mit ACLs verwalten, welche Organisationen und Rollen auf die Ressourcen eines Kanals zugreifen können.

Was sind Kanal-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 Anforderung im Netzwerk erfolgt.

Das Blockchain-Netzwerk wird durch diese Richtlinien verwaltet. Policys prüfen die Identität, die mit einer Anforderung verknüpft ist, anhand der Policy, die mit der Ressource verknüpft ist, die zur Erfüllung der Anforderung erforderlich ist. Policys befinden sich in der Konfiguration des Kanals.

Nachdem Sie die Policys des Kanals konfiguriert haben, weisen Sie sie den ACLs-Ressourcen des Kanals zu, um zu bestimmen, welche Mitglieder signiert werden müssen, bevor eine Änderung oder Aktion im Kanal erfolgen kann. Beispiel: Sie haben die Writers Policy so geändert, dass Mitglieder aus Organisation A oder Organisation B einbezogen werden. Anschließend haben Sie der ACL-Ressource cscc/GetConfigBlock des Kanals die Writers-Policy zugewiesen. Jetzt kann nur ein Mitglied von 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 von Bewertungsregeln an. Es unterstützt Kombinationen aus AND, OR und NOutOf. Beispiel: Sie können einen Administrator von Org A und 2 anderen Administratoren oder "11 von 20 Organisationsadministratoren" definieren.

    Alle neuen Policys, die Sie erstellen, 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. "Die Mehrheit 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 mehr über die Option "Organisation bearbeiten" des Kanals aktualisieren.

    Mit der Funktionalität "Kanal-Policys verwalten" der Konsole können Sie Ihre Organisation jedoch der Writers Policy hinzufügen, wodurch die ACL-Einstellung ReaderOnly des Kanals überschrieben wird.

Was sind Kanal-Policys? (Hyperledger Fabric v1.4.7)

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 Anforderung im Netzwerk erfolgt.

Das Blockchain-Netzwerk wird durch diese Richtlinien verwaltet. Policys prüfen die Identität, die mit einer Anforderung verknüpft ist, anhand der Policy, die mit der Ressource verknüpft ist, die zur Erfüllung der Anforderung erforderlich ist. Policys befinden sich in der Konfiguration des Kanals.

Nachdem Sie die Policys des Kanals konfiguriert haben, weisen Sie sie den ACLs-Ressourcen des Kanals zu, um zu bestimmen, welche Mitglieder signiert werden müssen, bevor eine Änderung oder Aktion im Kanal erfolgen kann. Beispiel: Sie haben die Writers Policy so geändert, dass Mitglieder aus Organisation A oder Organisation B einbezogen werden. Anschließend haben Sie der ACL-Ressource des Kanals cscc/GetConfigBlock die Writers-Policy zugewiesen. Jetzt kann nur ein Mitglied von Organisation A oder Organisation B GetConfigBlock in der cscc-Komponente aufrufen.

Was sind die Policy-Typen?

Es gibt zwei Policy-Typen: Signatur und ImplicitMeta.

  • Signatur - Gibt eine Kombination von Bewertungsregeln an. Es unterstützt Kombinationen aus AND, OR und NOutOf. Beispiel: Sie können einen Administrator von Org A und 2 anderen Administratoren oder "11 von 20 Organisationsadministratoren" definieren.

    Beachten Sie, dass Sie beim Ändern der Standard-Admin-Policy von Oracle Blockchain Platform, die als ImplicitMeta-Policy erstellt wurde, die Signatur-Policy verwenden. Alle neuen Policys, die Sie erstellen, 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. "Die Mehrheit der Organisations-Admin-Policys".

    Oracle Blockchain Platform verwendet den Policy-Typ ImplicitMeta, um die Admin-Policy zu erstellen. Wenn Sie die Admins-Richtlinie ändern, verwenden Sie die Signaturrichtlinie. Sie können keine Policys mit der Policy ImplicitMeta erstellen oder ändern. Oracle Blockchain Platform unterstützt nur das Ändern oder Erstellen von Policys mit dem Policy-Typ "Signatur".

Wann werden Policys erstellt?

Wenn Sie dem Netzwerk einen Kanal hinzufügen, erstellt Oracle Blockchain Platform Standard-Policys. Die Standard-Policys sind: Admins (ImplicitMeta-Policy), Creator, Writers und Readers (Signatur-Policys). Sie können diese Policys bei Bedarf ändern oder neue Policys erstellen.

Beachten Sie die folgenden wichtigen Probleme 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 mehr über die Option "Organisation bearbeiten" des Kanals aktualisieren.

    Mit der Funktionalität "Kanal-Policys verwalten" der Konsole können Sie Ihre Organisation jedoch der Writers Policy hinzufügen, wodurch die ACL-Einstellung ReaderOnly des Kanals überschrieben wird.

  • Wenn Sie die Hyperledger Fabric-SDKs zum Erstellen eines Kanals verwenden, verwendet Fabric die ImplicitMeta-Policys als Standardkanal-Policys für Leser und Writer. Wenn der Kanal diese Policys verwendet, kann die Oracle Blockchain Platform-Konsole nicht garantieren, dass die administrativen Vorgänge (z.B. "Organisation bearbeiten") erfolgreich verarbeitet werden.

    Um dieses Problem zu beheben, aktualisieren Sie die Leser- und Autoren-Policys auf Signatur-Policys, und definieren Sie die Policy-Regeln nach Bedarf. Siehe https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html

  • Wenn Sie die Hyperledger Fabric-SDKs oder die CLI zum Erstellen eines Kanals verwenden, ist die Ersteller-Policy nicht in der Datei configtx.yaml enthalten. Die Ersteller-Policy wird von Oracle Blockchain Platform benötigt, damit der Kanalersteller die Konfiguration eines Kanals bearbeiten kann. Sie müssen die Datei configtx.yaml manuell bearbeiten und die Ersteller-Policy hinzufügen.

Policys eines Kanals 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 verstehen, wie Oracle Blockchain Platform Standardkanal-Policys erstellt. Siehe Was sind Kanalrichtlinien? (Hyperledger Fabric v1.4.7) oder Was sind Kanalrichtlinien? (Hyperledger Fabric v2.x).

Sie müssen Administrator sein, um diese Aufgabe auszuführen.

  1. 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.

  2. Klicken Sie in der Kanaltabelle auf den Kanalnamen, dem Sie Policys hinzufügen oder Policys ändern möchten.

    Die Seite Kanalinformationen wird angezeigt.

  3. Klicken Sie auf der Seite Kanalinformationen auf den Bereich Kanal-Policys.
  4. 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 Policenname einen Namen ein, und wählen Sie im Feld Policentyp 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.
  5. 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
    MSP-KENNUNG Wählen Sie im Dropdown-Menü die Organisation aus, die die Policy unterzeichnen 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 Peers finden, indem Sie dessen Konfigurationsinformationen anzeigen.
    Policy-Ausdrucksmodus In den meisten Fällen verwenden Sie Basis. Wählen Sie Erweitert aus, um eine Ausdruckszeichenfolge mit UND, ODER 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.
  6. 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 löschen, die Sie selbst erstellt haben.

Sie können die Standard-Policys nicht löschen: Admins, Creator, Leser, Writers, Endorsement 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, stellen Sie sicher, dass die Policy nicht zugewiesen ist.

Sie müssen Administrator sein, um diese Aufgabe auszuführen.

  1. 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.

  2. Klicken Sie in der Kanaltabelle auf den Kanal, aus dem Sie eine Policy löschen möchten.

    Die Seite Kanalinformationen wird angezeigt.

  3. Klicken Sie auf der Seite Kanalinformationen auf den Bereich Kanal-Policys.
  4. Suchen Sie die Policy, die Sie löschen möchten, und klicken Sie auf die Schaltfläche Weitere Optionen.
  5. Klicken Sie auf Entfernen, und bestätigen Sie das Löschen.

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 Abfragesystem-Chaincode (qscc), den Lebenszyklus-System-Chaincode (_lifecycle auf Hyperledger Fabric v2.x, lscc auf Hyperledger Fabric v1.4.7), den Konfigurationssystem-Chaincode (cscc), den Peer und das Ereignis als Ziel festlegen. Diese Komponenten sind mit bestimmten Ressourcen verknüpft (z.B. GetConfigBlock oder GetChaincodeData), 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 er für 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 auch Standardrichtlinien (Admin, Creator, Writers, and Readers; auch Endorsement und LifecycleEndorsement auf Hyperledger Fabric v2.x) für den Kanal. Sie können diese Policys ändern oder nach Bedarf neue Policys erstellen. Siehe Was sind Kanalrichtlinien? (Hyperledger Fabric v2.x) oder Was sind Kanalrichtlinien? (Hyperledger Fabric v1.4.7).

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 verstehen, was Richtlinien und ACLs sind. Siehe Was sind Kanalrichtlinien? (Hyperledger Fabric v1.4.7) und Was sind Kanal-ACLs?

  1. 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.

  2. Klicken Sie in der Kanaltabelle auf den Namen des Kanals, für den Sie ACLs aktualisieren möchten.

    Die Seite Kanalinformationen wird angezeigt.

  3. Klicken Sie auf der Seite Kanalinformationen auf den Bereich ACLs.
  4. 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.
  5. Ändern Sie die Policys der anderen Ressource nach Bedarf.
  6. Klicken Sie auf ACLs aktualisieren.

Orderer zu oder aus einem Kanal hinzufügen oder entfernen

Die Administratororganisation des Auftraggebers kann Auftragnehmer zu einem Kanal hinzufügen oder daraus entfernen.

So fügen Sie einem Kanal Auftragnehmer hinzu:
  1. Öffnen Sie in der Gründerkonsole die Registerkarte Kanäle, und wählen Sie den Kanal aus, um die Detailansicht anzuzeigen.
  2. Öffnen Sie die Unterregisterkarte Auftraggeber. Alle Orderer-Knoten, die derzeit mit dem Kanal verbunden sind, werden aufgelistet.
  3. Klicken Sie auf Join Channel. Wählen Sie ein OSN aus, das noch nicht in diesem Channel vorhanden ist, und klicken Sie auf Beitreten.
So entfernen Sie Orderer aus einem Kanal:
  1. Öffnen Sie in der Gründerkonsole die Registerkarte Kanäle, und wählen Sie den Kanal aus, um die Detailansicht anzuzeigen.
  2. Öffnen Sie die Unterregisterkarte Auftraggeber. Alle Orderer-Knoten, die derzeit mit dem Kanal verbunden sind, werden aufgelistet.
  3. Wählen Sie den Auftragnehmer aus, den Sie aus dem Kanal entfernen möchten, und wählen Sie im Menü "Weitere Aktionen" die Option Entfernen aus.

Administratororganisation für Auftragnehmer einrichten

Sie können die Administration von OSNs in einem Kanal jeder Organisation zuweisen. Normalerweise wird entweder der Gründer oder der Kanalersteller zugewiesen.

  1. Öffnen Sie in der Gründerkonsole die Registerkarte Kanäle.
  2. Wählen Sie den Kanal aus, für den Sie die Organisation des Auftragnehmeradministrators festlegen möchten, und wählen Sie im Menü "Aktion" die Option OSN-Admin verwalten aus.
  3. Wählen Sie eine Organisation aus der Liste, 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.

Beachten Sie die folgenden wichtigen Informationen zum Bearbeiten der Bestellserviceeinstellungen für einen Kanal:
  • 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 Einstellungen für den Bestellservice ändern und Anwendungen im Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Einstellungen für den Bestellservice zu verwenden.
  • Es ist nicht üblich, aber in einigen Situationen können Sie einigen Netzwerkteilnehmern einen anderen Bestellservice zur Verfügung stellen. In diesem Fall exportieren Sie den aktualisierten Netzwerkkonfigurationsblock und die erforderlichen Teilnehmer importieren die überarbeiteten Einstellungen. Siehe Teilnehmer oder skalierte OSNs beim Bestellservice des Gründers beitreten.
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
  1. Gehen Sie zur Gründerkonsole, und wählen Sie die Registerkarte Kanäle aus.
  2. Suchen Sie den Kanal, klicken Sie auf das Menü Weitere Aktionen, und wählen Sie Serviceeinstellungen für die Bestellung aktualisieren aus.
    Das Dialogfeld Serviceeinstellungen für Bestellungen wird angezeigt.
  3. Aktualisieren Sie die Einstellungen nach Bedarf.
    Feld Beschreibung
    Batch-Timout (ms) Geben Sie die Zeit in Millisekunden an, die das System warten soll, bevor ein Batch erstellt wird. Geben Sie eine Zahl zwischen 1 und 3600000 ein.
    Maximale Nachrichtenanzahl Geben Sie die maximale Anzahl von Nachrichten an, die in einen Batch aufgenommen werden sollen. Geben Sie eine Zahl zwischen 1 und 4294967295 ein.
    Absolute Nachrichtenbyte Geben Sie die maximale Anzahl von Byte an, die für die serialisierten Nachrichten in einem Batch zulässig sind.

    Diese Zahl muss größer sein als der Wert, den Sie im Feld "Bevorzugte Nachrichtenbyte" eingeben.

    Bevorzugte Nachrichtenbyte Geben Sie die bevorzugte Anzahl von Byte an, die für die serialisierten Nachrichten in einem Batch zulässig sind. Eine Nachricht, die größer als diese Größe ist, führt zu einem größeren Batch. Die Batchgröße ist jedoch kleiner oder gleich der Anzahl der Byte, die Sie im Feld "Absolute Nachrichtenbyte" angegeben haben.

    Oracle empfiehlt, diesen Wert auf maximal 1 MB zu setzen.

    Der Wert, den Sie in dieses Feld eingeben, muss kleiner sein als der Wert, den Sie in das Feld "Absolute Nachrichtenbyte" eingeben.

    Snapshot-Intervallgröße Definiert die Anzahl der MB, pro denen ein Snapshot erstellt wird.
  4. Klicken Sie auf Updaten.
    Die aktualisierten Einstellungen werden gespeichert.