Gestisci canali
In questo argomento vengono fornite informazioni sulla gestione dei canali nella rete, ad esempio come creare e visualizzare i canali, come unire i pari livello e designare e ancorare i pari livello, come utilizzare i criteri e le liste di controllo dell'accesso e come associare gli ordini a un canale.
Informazioni sui canali
Partiziona e isola i peer e i dati dei libri contabili per fornire transazioni private e riservate sulla rete blockchain.
- peer
- Libro contabile condiviso
- Chaincode con istanza sul canale
- Uno o più nodi del servizio di ordinazione
- Definizioni dei criteri canale e ACL in cui vengono applicate le definizioni
Ogni peer che si unisce a un canale ha una propria identità che lo autentica ai peer e ai servizi del canale. Sebbene i pari livello possano appartenere a più canali, le informazioni su transazioni, stato del libro contabile e appartenenza al canale sono limitate ai pari livello all'interno di ciascun canale.
Puoi utilizzare la console di Oracle Blockchain Platform o l'SDK Hyperledger Fabric per creare canali nella tua rete blockchain. Vedere Visualizza i canali.
Visualizzare i canali
I membri della tua rete utilizzano i canali per comunicare privatamente le informazioni sulle transazioni blockchain.
Crea un canale
È possibile aggiungere canali alla rete e specificare quali membri possono utilizzare il canale e quali colleghi possono accedere al canale. Impossibile eliminare i canali.
Per eseguire questo task è necessario essere un amministratore.
-
(Hyperledger Fabric v2.x) Distribuire un codice concatenato sul canale. Vedere Distribuisci un codice concatenato.
-
(Hyperledger Fabric v1.4.7) Crea un'istanza di un codice concatenato nel canale. Vedere Istanziare un codice concatenato.
-
Se la rete contiene partecipanti, utilizzano le proprie console per unire i colleghi membri al canale. Vedere Unisciti a un peer a un canale.
Visualizza attività libro contabile canale
Utilizzare il libro contabile per trovare informazioni sintetiche e statistiche di runtime per le transazioni su un canale specifico.
Visualizza o aggiorna l'elenco delle organizzazioni di un canale
È possibile visualizzare l'elenco delle organizzazioni che hanno accesso al canale. Se è stato creato il canale, è possibile modificare le autorizzazioni di un'organizzazione sul canale e aggiungerle o rimuoverle dal canale.
Unisciti a un peer a un canale
È possibile aggiungere un nodo peer a un canale in modo che il nodo possa utilizzarlo per scambiare informazioni sulle transazioni private con altri nodi peer sul canale.
-
Quando si crea un canale, è possibile specificare quali nodi peer locali possono accedere al canale.
-
Se si sta creando una rete contenente un partecipante, è possibile selezionare il partecipante come membro sul canale. In alternativa, è possibile aggiungere il partecipante dopo la creazione del canale.
-
L'istanza dispone di più domini di disponibilità o di errore e Oracle consiglia di unire un peer da ogni partizione al canale. Questo perché, se una VM non è disponibile, il canale è ancora disponibile per le approvazioni e i commit. Per determinare in quale dominio si trova un peer, nel menu Altre azioni selezionare Mostra informazioni AD per visualizzare le informazioni sul dominio di disponibilità.
- È possibile unire un massimo di sette peer per ogni dominio.
Vedere Crea un canale.
Per eseguire questo task è necessario essere un amministratore.
Aggiungi un peer di ancoraggio
Ogni membro che utilizza un canale deve designare almeno un peer di ancoraggio. I peer di ancoraggio sono punti di contatto di rete primari e vengono utilizzati per scoprire e comunicare con altri peer di rete sul canale.
È possibile designare uno o più pari livello nell'organizzazione come pari livello di ancoraggio su un canale. Per una rete ad alta disponibilità, è possibile specificare due o più peer di ancoraggio. Tutti i membri che utilizzano il canale di rete devono utilizzare la propria console per designare uno o più nodi peer come peer di ancoraggio.
Per eseguire questo task è necessario essere un amministratore.
Modificare o rimuovere un peer di ancoraggio
È possibile modificare o rimuovere i pari livello di un canale. I peer di ancoraggio sono punti di contatto di rete primari e vengono utilizzati per scoprire e comunicare con altri peer di rete sul canale.
Prima di modificare o rimuovere i peer di ancoraggio del canale, tenere presenti le informazioni riportate di seguito.
- Per comunicare sul canale, è necessario designare uno o più pari livello nell'organizzazione come pari livello di ancoraggio.
- Per una rete ad alta disponibilità, è possibile specificare due o più peer di ancoraggio.
- Tutti i membri che utilizzano il canale di rete devono utilizzare la propria console per designare uno o più nodi peer come peer di ancoraggio.
Per eseguire questo task è necessario essere un amministratore.
Visualizza informazioni sui codici concatenati distribuiti
È possibile visualizzare le informazioni sui codici concatenati distribuiti sui diversi canali della rete.
- Andare alla console e selezionare la scheda Canali.
- Nella tabella Canali, fare clic sul nome del canale con il codice concatenato per il quale si desidera visualizzare le informazioni.
- Nella pagina Informazioni canale, confermare che è selezionato il riquadro Codici concatenati distribuiti
- Nella tabella del codice concatenato è possibile:
- Fare clic sull'ID package codice concatenato per accedere alla scheda Codici concatenati per ulteriori informazioni. Ad esempio, i peer su cui è installato il codice concatenato e i canali su cui è distribuito il codice concatenato.
- Nel menu Altre azioni di un codice concatenato, fare clic su Visualizza definizione codice concatenato per trovare i dettagli sulla definizione del codice concatenato, incluso il criterio di approvazione.
- (Facoltativo) Se viene visualizzato un elenco di canali senza un codice concatenato, è possibile andare alla scheda Codici concatenati e distribuire un codice concatenato nel canale. Vedere Distribuire un codice concatenato.
Gestione criteri canale e ACL
Questo argomento contiene informazioni sui criteri e sulle liste di controllo dell'accesso (ACL) di un canale. Fornisce una panoramica sui criteri, sui tipi di criteri e su come modificarli, nonché su come utilizzare le ACL per gestire le organizzazioni e i ruoli che possono accedere alle risorse di un canale.
Che cosa sono i criteri di canale? (Hyperledger Fabric v2.x)
Un criterio definisce un set di condizioni. Le parti richieste devono soddisfare le condizioni della politica prima che le loro firme siano considerate valide e la richiesta corrispondente avvenga sulla rete.
La rete blockchain è gestita da queste politiche. I criteri controllano l'identità associata a una richiesta in base al criterio associato alla risorsa necessaria per soddisfare la richiesta. I criteri si trovano nella configurazione del canale.
Dopo aver configurato i criteri del canale, assegnarli alle risorse ACL del canale per determinare i membri da firmare prima che una modifica o un'azione possa verificarsi sul canale. Si supponga, ad esempio, di aver modificato il criterio Scrittori per includere membri dell'organizzazione A o dell'organizzazione B. Successivamente è stato assegnato il criterio Writers alla risorsa ACL cscc/GetConfigBlock
del canale. Ora solo un membro dell'organizzazione A o dell'organizzazione B può chiamare GetConfigBlock
nel componente cscc
.
Tipi di criteri
Esistono due tipi di criteri: Firma e ImplicitMeta.
- Firma: specifica una combinazione di regole di valutazione. Supporta combinazioni di AND, OR e NOutOf. Ad esempio, è possibile definire "Un amministratore dell'organizzazione A e 2 altri amministratori" o "11 di 20 amministratori dell'organizzazione".
I nuovi criteri creati saranno i criteri di firma.
- ImplicitMeta: questo tipo di criterio è valido solo nel contesto della configurazione. Aggrega il risultato della valutazione dei criteri più in profondità nella gerarchia di configurazione, definiti dai criteri di firma. Supporta regole predefinite, ad esempio "La maggior parte dei criteri di amministrazione dell'organizzazione".
Quando vengono creati i criteri?
Quando si aggiunge un canale alla rete, Oracle Blockchain Platform crea criteri predefiniti. I criteri predefiniti sono: Amministratori, Scrittori, Lettori, Approvazione, LifecycleEndorsement (criteri ImplicitMeta) e Creatore (criterio di firma). Se necessario, è possibile modificare i criteri oppure crearne di nuovi.
Tenere presente il seguente importante problema relativo ai criteri di canale:
-
È possibile utilizzare la console per creare un canale e impostare l'ACL dell'organizzazione su ReaderOnly. Dopo aver salvato il nuovo canale, non è possibile aggiornare questa impostazione ACL dall'opzione Modifica organizzazione del canale.
Tuttavia, è possibile utilizzare la funzionalità Gestisci criteri canale della console per aggiungere l'organizzazione al criterio Writers, che sovrascrive l'impostazione ACL ReaderOnly del canale.
Che cosa sono i criteri di canale? (Hyperledger Fabric v1.4.7)
Un criterio definisce un set di condizioni. Le parti richieste devono soddisfare le condizioni della politica prima che le loro firme siano considerate valide e la richiesta corrispondente avvenga sulla rete.
La rete blockchain è gestita da queste politiche. I criteri controllano l'identità associata a una richiesta in base al criterio associato alla risorsa necessaria per soddisfare la richiesta. I criteri si trovano nella configurazione del canale.
Dopo aver configurato i criteri del canale, assegnarli alle risorse ACL del canale per determinare i membri da firmare prima che una modifica o un'azione possa verificarsi sul canale. Si supponga, ad esempio, di aver modificato il criterio Scrittori per includere membri dell'organizzazione A o dell'organizzazione B. Quindi è stato assegnato il criterio Writers alla risorsa ACL cscc/GetConfigBlock del canale. Ora solo un membro dell'organizzazione A o dell'organizzazione B può chiamare GetConfigBlock nel componente cscc.
Tipi di criteri
Esistono due tipi di criteri: Firma e ImplicitMeta.
- Firma: specifica una combinazione di regole di valutazione. Supporta combinazioni di AND, OR e NOutOf. Ad esempio, è possibile definire "Un amministratore dell'organizzazione A e 2 altri amministratori" o "11 di 20 amministratori dell'organizzazione".
Tenere presente che quando si modifica il criterio di amministrazione predefinito di Oracle Blockchain Platform, creato come criterio ImplicitMeta, verrà utilizzato il criterio di firma. I nuovi criteri creati saranno i criteri di firma.
- ImplicitMeta: questo tipo di criterio è valido solo nel contesto della configurazione. Aggrega il risultato della valutazione dei criteri più in profondità nella gerarchia di configurazione, definiti dai criteri di firma. Supporta regole predefinite, ad esempio "La maggior parte dei criteri di amministrazione dell'organizzazione".
Oracle Blockchain Platform utilizza il tipo di criterio ImplicitMeta per creare il criterio di amministrazione. Quando si modifica il criterio di amministrazione, verrà utilizzato il criterio di firma. Non è possibile creare o modificare alcun criterio utilizzando il criterio ImplicitMeta. Oracle Blockchain Platform supporta solo la modifica o la creazione di criteri mediante il tipo di criterio Firma.
Quando vengono creati i criteri?
Quando si aggiunge un canale alla rete, Oracle Blockchain Platform crea criteri predefiniti. I criteri predefiniti sono: Amministratori (criterio ImplicitMeta), Creatore, Scrittori e Lettori (criteri di firma). Se necessario, è possibile modificare i criteri oppure crearne di nuovi.
Tenere presenti i problemi importanti riportati di seguito relativi ai criteri di canale.
-
È possibile utilizzare la console per creare un canale e impostare l'ACL dell'organizzazione su ReaderOnly. Dopo aver salvato il nuovo canale, non è possibile aggiornare questa impostazione ACL dall'opzione Modifica organizzazione del canale.
Tuttavia, è possibile utilizzare la funzionalità Gestisci criteri canale della console per aggiungere l'organizzazione al criterio Writers, che sovrascrive l'impostazione ACL ReaderOnly del canale.
-
Quando si utilizzano gli SDK Hyperledger Fabric per creare un canale, Fabric utilizza i criteri ImplicitMeta come criteri di canale predefiniti per Lettori e Scrittori. Quando il canale utilizza questi criteri, la console di Oracle Blockchain Platform non può garantire che le operazioni amministrative (ad esempio, modifica dell'organizzazione) vengano elaborate correttamente.
Per correggere questo problema, aggiornare i criteri di lettura e scrittura ai criteri di firma e definire le regole dei criteri in base alle esigenze. Vedere https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html
- Quando si utilizzano gli SDK o l'interfaccia CLI di Hyperledger Fabric per creare un canale, il criterio Creator non è incluso nel file configtx.yaml. Il criterio Creator è richiesto da Oracle Blockchain Platform per consentire all'autore del canale di modificare la configurazione di un canale. È necessario modificare manualmente il file configtx.yaml e aggiungere il criterio Creator.
Aggiungere o modificare i criteri di un canale
È possibile aggiungere o modificare i criteri di un canale per specificare i membri necessari per eseguire un'azione specifica sul canale. Dopo aver definito i criteri, assegnarli alle ACL del canale.
Prima di aggiungere o aggiornare i criteri, è necessario comprendere in che modo Oracle Blockchain Platform crea criteri di canale predefiniti. Vedere What Are Channel Policies? (Hyperledger Fabric v1.4.7) o What Are Channel Policies? (Hyperledger Fabric v2.x).
Per eseguire questo task è necessario essere un amministratore.
- Andare alla console e selezionare la scheda Canali.
Viene visualizzata la scheda Canali e la tabella dei canali contiene un elenco di tutti i canali della rete.
- Nella tabella Canali fare clic sul nome del canale per il quale si desidera aggiungere o modificare i criteri.
Viene visualizzata la pagina Informazioni canale.
- Nella pagina Informazioni canale, fare clic sul riquadro Criteri canale.
- Procedere in uno dei seguenti modi:
- Per aggiungere un nuovo criterio, fare clic sul pulsante Create a New Policy. Viene visualizzata la finestra di dialogo Crea criterio. Immettere un nome nel campo Nome criterio e selezionare Firma nel campo Tipo di criterio. Espandere la sezione Criterio firma.
- Per modificare un criterio esistente, fare clic sul nome di un criterio. Viene visualizzata la finestra di dialogo Aggiorna criterio.
- Fare clic sul pulsante Aggiungi identità per aggiungere un'organizzazione. In alternativa, modificare un criterio di firma esistente in base alle esigenze. Tenere presenti le informazioni riportate di seguito.
Campo Descrizione ID MSP Dal menu a discesa selezionare l'organizzazione che deve firmare la polizza. Ruolo Selezionare il ruolo peer corrispondente richiesto dal criterio. Di solito questo sarà membro. È possibile trovare il ruolo di un peer visualizzandone le informazioni di configurazione. Modalità espressione criteri Nella maggior parte dei casi, verrà utilizzato il valore Basic. Selezionare Avanzate per scrivere una stringa di espressione utilizzando AND, OR e NOutOf. Per informazioni su come scrivere una stringa di espressione dei criteri valida, vedere i criteri di approvazione nella documentazione di Hyperledger Fabric. Autore firma Selezionare il numero di membri che devono firmare il criterio per soddisfare la richiesta. - Se si sta aggiungendo un nuovo criterio, fare clic su Crea. Se si sta modificando un criterio, fare clic su Aggiorna.
Elimina i criteri di un canale
È possibile eliminare i criteri di canale creati personalmente.
Impossibile eliminare i criteri predefiniti: Amministratori, Creatore, Lettori, Scrittori, Approvazione e LifecycleEndorsement. Inoltre, non è possibile eliminare un criterio canale se è assegnato a una lista ACL. Prima di provare a eliminare un criterio canale, confermare che il criterio non è assegnato.
Per eseguire questo task è necessario essere un amministratore.
- Andare alla console e selezionare la scheda Canali.
Viene visualizzata la scheda Canali e la tabella dei canali contiene un elenco di tutti i canali della rete.
- Nella tabella Canali, fare clic sul canale da cui si desidera eliminare un criterio.
Viene visualizzata la pagina Informazioni canale.
- Nella pagina Informazioni canale, fare clic sul riquadro Criteri canale.
- Individuare il criterio che si desidera eliminare e fare clic sul relativo pulsante Altre opzioni.
- Fare clic su Rimuovi e confermare l'eliminazione.
Descrizione delle ACL di canale
Le liste di controllo dell'accesso (ACL, Access Control List) utilizzano i criteri per gestire le organizzazioni e i ruoli che possono accedere alle risorse di un canale.
Gli utenti interagiscono con la rete blockchain prendendo di mira componenti come il codice concatenato del sistema di query (qscc
), il codice concatenato del sistema del ciclo di vita (_lifecycle
su Hyperledger Fabric v2.x, lscc
su Hyperledger Fabric v1.4.7), il codice concatenato del sistema di configurazione (cscc
), il peer e l'evento. Questi componenti sono associati a risorse specifiche (ad esempio, GetConfigBlock
o GetChaincodeData
) a cui è possibile assegnare criteri a livello di canale. Questi criteri fanno parte della configurazione del canale.
Un criterio definisce quali organizzazioni e ruoli possono richiedere una risorsa. Quando viene effettuata una richiesta, il criterio indica al sistema di controllare l'identità del richiedente e di determinare se è autorizzato a effettuare la richiesta. Quando si crea un canale, Oracle Blockchain Platform include le ACL predefinite di Hyperledger Fabric con il canale. Oracle Blockchain Platform crea anche criteri predefiniti (Admin, Creator, Writers, and Readers; anche Endorsement e LifecycleEndorsement su Hyperledger Fabric v2.x) per il canale. È possibile modificare questi criteri o crearne di nuovi in base alle esigenze. Vedere What Are Channel Policies? (Hyperledger Fabric v2.x) oppure What Are Channel Policies? (Hyperledger Fabric v1.4.7).
Aggiorna ACL canale
È possibile aggiornare le ACL del canale assegnando criteri alle risorse del canale. Un criterio definisce le organizzazioni e i ruoli che possono richiedere una risorsa
Prima di aggiornare le ACL di un canale, è necessario comprendere i criteri e le ACL. Vedere What Are Channel Policies? (Hyperledger Fabric v1.4.7) e What Are Channel ACLs?
- Andare alla console e selezionare la scheda Canali.
Viene visualizzata la scheda Canali e la tabella dei canali contiene un elenco di tutti i canali della rete.
- Nella tabella Canali fare clic sul nome del canale per il quale si desidera aggiornare le liste ACL.
Viene visualizzata la pagina Informazioni canale.
- Nella pagina Informazioni canale, fare clic sul riquadro ACL.
- Nella tabella Risorse individuare la risorsa da aggiornare. Fare clic sul pulsante Espandi della risorsa e selezionare il criterio che si desidera assegnare alla risorsa.
- Modificare i criteri dell'altra risorsa in base alle esigenze.
- Fare clic su Aggiorna ACL.
Aggiungi o rimuovi ordini a o da un canale
L'organizzazione di amministrazione ordinatore può aggiungere o rimuovere ordini da un canale.
- Nella console del fondatore, aprire la scheda Canali e selezionare il canale per visualizzarne la vista dei dettagli.
- Aprire la scheda secondaria Ordini. Vengono elencati tutti i nodi Orderer attualmente uniti al canale.
- Fare clic su Canale di join. Selezionare un OSN non ancora presente in questo canale e fare clic su Iscriviti.
- Nella console del fondatore, aprire la scheda Canali e selezionare il canale per visualizzarne la vista dei dettagli.
- Aprire la scheda secondaria Ordini. Vengono elencati tutti i nodi Orderer attualmente uniti al canale.
- Selezionare l'ordinatore che si desidera rimuovere dal canale e dal relativo menu Altre azioni selezionare Rimuovi.
Impostazione dell'organizzazione amministratore ordinatore
È possibile assegnare l'amministrazione di OSN in un canale a qualsiasi organizzazione. Normalmente il fondatore o il creatore del canale sarebbe assegnato.
- Nella console del fondatore, aprire la scheda Canali.
- Selezionare il canale per il quale si desidera impostare l'organizzazione amministratore ordinante e selezionare Gestisci amministratore OSN dal menu Azione.
- Effettuare una selezione dalla lista di organizzazioni disponibili e fare clic su Sottometti.
Modifica impostazioni servizio di ordinamento per un canale
È possibile aggiornare le impostazioni del servizio di ordinazione per un determinato canale.
- A parte ciò, è possibile aggiornare le impostazioni del servizio di ordinazione per l'intera rete come descritto in Modifica impostazioni del servizio di ordinazione per la rete.
- Se si modificano le impostazioni del servizio di ordinazione e sono presenti applicazioni in esecuzione sulla rete, è necessario aggiornare manualmente tali applicazioni per utilizzare le impostazioni modificate del servizio di ordinazione.
- Non è comune, ma in alcune situazioni, potresti esporre un servizio di ordinazione diverso ad alcuni dei partecipanti alla rete. In questo caso, si esporta il blocco di configurazione di rete aggiornato e i partecipanti richiesti importeranno le impostazioni riviste. Vedere Partecipa al servizio di ordinazione del fondatore o alle OSN a scalabilità orizzontale.