Gérer les canaux
Cette rubrique contient des informations sur la gestion des canaux dans votre réseau, telles que la création et la visualisation de canaux, la jointure d'homologues, la désignation et l'ancrage d'homologues, l'utilisation des stratégies et des listes de contrôle d'accès, ainsi que l'association de donneurs d'ordres à un canal.
Qu'est-ce qu'un canal ?
Les canaux partitionnent et isolent les homologues et les données de registre pour fournir des transactions privées et confidentielles sur le réseau de chaîne de blocs.
- Homologues
- Livre partagé
- Codes chaîne instanciés sur le canal
- Un ou plusieurs noeuds de service de tri
- Définitions de stratégie de canal et listes de contrôle d'accès dans lesquelles les définitions sont appliquées
Chaque pair qui rejoint un canal possède sa propre identité qui l'authentifie auprès des pairs et des services du canal. Bien que les homologues puissent appartenir à plusieurs canaux, les informations sur les transactions, l'état du livre et l'appartenance aux canaux sont limitées aux homologues de chaque canal.
Vous pouvez utiliser la console Oracle Blockchain Platform ou le kit SDK Hyperledger Fabric pour créer des canaux sur votre réseau de chaîne de blocs. Reportez-vous à Affichage des canaux.
Visualiser les canaux
Les membres de votre réseau utilisent des canaux pour communiquer en privé des informations sur les transactions blockchain.
Création d'un canal
Vous pouvez ajouter des canaux au réseau et spécifier quels membres peuvent utiliser le canal et quels homologues peuvent rejoindre le canal. Vous ne pouvez pas les supprimer.
Pour réaliser cette tâche, vous devez être administrateur.
-
(Hyperledger Fabric v2.x) Déployez un code chaîne sur le canal. Reportez-vous à Déploiement d'un code chaîne.
-
(Hyperledger Fabric v1.4.7) Instanciez un code chaîne sur le canal. Reportez-vous à Instantiate a Chaincode.
-
Si le réseau contient des participants, ils utilisent leur console pour rejoindre les pairs membres du canal. Reportez-vous à Rejoindre un pair à un canal.
Afficher l'activité du livre d'un canal
Utilisez le livre pour rechercher des informations récapitulatives et des statistiques d'exécution pour les transactions sur un canal spécifique.
Afficher ou mettre à jour la liste des organisations d'un canal
Vous pouvez afficher la liste des organisations qui ont accès au canal. Si vous avez créé le canal, vous pouvez modifier les autorisations d'une organisation sur le canal, et vous pouvez ajouter des organisations au canal ou en enlever.
Rejoindre un homologue à un canal
Vous pouvez ajouter un noeud homologue à un canal afin que le noeud puisse l'utiliser pour échanger des informations de transaction privées avec d'autres noeuds homologues sur le canal.
-
Lorsque vous créez un canal, vous indiquez quels noeuds homologues locaux peuvent rejoindre le canal.
-
Si vous créez un réseau contenant un participant, vous pouvez le sélectionner en tant que membre sur le canal. Vous pouvez également ajouter le participant après la création du canal.
-
Votre instance comporte plusieurs domaines de disponibilité ou domaines de pannes. Oracle vous recommande de joindre un pair de chaque partition au canal. En effet, si une machine virtuelle est indisponible, le canal reste disponible pour les approbations et les validations. Pour déterminer le domaine dans lequel se trouve un homologue, dans le menu Actions supplémentaires, sélectionnez Afficher les informations AD pour afficher les informations sur le domaine de disponibilité.
- Vous pouvez rejoindre un maximum de sept homologues de chaque domaine.
Reportez-vous à Créer un canal.
Pour réaliser cette tâche, vous devez être administrateur.
Ajouter un élément d'ancrage
Chaque membre utilisant un canal doit désigner au moins un pair d'ancrage. Les pairs d'ancrage sont des points de contact réseau principaux et sont utilisés pour découvrir et communiquer avec d'autres pairs de réseau sur le canal.
Vous pouvez désigner un ou plusieurs pairs de votre organisation en tant que pair d'ancrage sur un canal. Pour un réseau haute disponibilité, vous pouvez spécifier plusieurs homologues d'ancrage. Tous les membres utilisant le canal réseau doivent utiliser leur console pour désigner un ou plusieurs de leurs noeuds homologues en tant qu'homologues d'ancrage.
Pour réaliser cette tâche, vous devez être administrateur.
Modification ou suppression d'un pair d'ancrage
Vous pouvez modifier ou enlever les pairs d'ancrage d'un canal. Les pairs d'ancrage sont des points de contact réseau principaux et sont utilisés pour découvrir et communiquer avec d'autres pairs de réseau sur le canal.
Avant de modifier ou de supprimer les pairs d'ancrage du canal, notez les informations suivantes :
- Pour communiquer sur le canal, vous devez désigner un ou plusieurs homologues de votre organisation en tant qu'homologues d'ancrage.
- Pour un réseau haute disponibilité, vous pouvez spécifier plusieurs homologues d'ancrage.
- Tous les membres utilisant le canal réseau doivent utiliser leur console pour désigner un ou plusieurs de leurs noeuds homologues en tant qu'homologues d'ancrage.
Pour réaliser cette tâche, vous devez être administrateur.
Affichage des informations sur les codes chaîne déployés
Vous pouvez afficher des informations sur les codes chaîne déployés sur les différents canaux de votre réseau.
- Accédez à la console et sélectionnez l'onglet Canaux.
- Dans le tableau des canaux, cliquez sur le nom du canal avec le code chaîne pour lequel visualiser les informations.
- Sur la page Informations sur le canal, vérifiez que le panneau Codes de chaîne déployés est sélectionné
- Dans la table de codes chaîne, vous pouvez :
- Cliquez sur l'ID de package de code chaîne pour accéder à l'onglet Codes chaîne et obtenir plus d'informations à ce sujet. Par exemple, les homologues sur lesquels le code chaîne est installé et les canaux sur lesquels le code chaîne est déployé.
- Dans le menu Actions supplémentaires d'un code chaîne, cliquez sur Afficher la définition de code chaîne pour obtenir des détails sur la définition du code chaîne, y compris la stratégie d'approbation.
- (Facultatif) Si vous obtenez la liste des canaux sans code chaîne, vous pouvez accéder à l'onglet Codes chaîne et déployer un code chaîne sur le canal. Reportez-vous à Déploiement d'un code chaîne.
Utilisation des stratégies de canal et des listes de contrôle d'accès
Cette rubrique contient des informations sur les stratégies et les listes de contrôle d'accès d'un canal. Il fournit un aperçu des stratégies, des types de stratégie et de la manière de les modifier, ainsi que des listes de contrôle d'accès permettant de gérer les organisations et les rôles qui peuvent accéder aux ressources d'un canal.
Définition des stratégies de canal (Hyperledger Fabric v2.x)
Une stratégie définit un ensemble de conditions. Les parties requises doivent remplir les conditions de la politique avant que leurs signatures ne soient considérées comme valides et que la demande correspondante se produise sur le réseau.
Le réseau de chaîne de blocs est géré par ces stratégies. Les stratégies vérifient l'identité associée à une demande par rapport à la stratégie associée à la ressource nécessaire pour exécuter la demande. Les stratégies se trouvent dans la configuration du canal.
Après avoir configuré les stratégies du canal, vous les affectez aux ressources des listes de contrôle d'accès du canal afin de déterminer les membres à signer avant qu'une modification ou une action ne puisse se produire sur le canal. Par exemple, supposons que vous ayez modifié la stratégie Writers pour inclure des membres de l'organisation A ou de l'organisation B. Vous avez ensuite affecté la stratégie Writers à la ressource d'ACL cscc/GetConfigBlock
du canal. Désormais, seul un membre de l'organisation A ou de l'organisation B peut appeler GetConfigBlock
sur le composant cscc
.
Quels sont les types de stratégie ?
Il existe deux types de stratégie : Signature et ImplicitMeta.
- Signature : indique une combinaison de règles d'évaluation. Il prend en charge les combinaisons de AND, OR et NOutOf. Par exemple, vous pouvez définir quelque chose comme "Un administrateur de l'organisation A et 2 autres administrateurs" ou "11 des 20 administrateurs de l'organisation".
Toutes les nouvelles stratégies que vous créez seront des stratégies de signature.
- ImplicitMeta : ce type de stratégie n'est valide que dans le contexte de la configuration. Il agrège le résultat de l'évaluation des stratégies plus en profondeur dans la hiérarchie de configuration, qui sont définies par les stratégies Signature. Il prend en charge les règles par défaut, par exemple "La majorité des stratégies d'administration de l'organisation".
Quand les stratégies sont-elles créées ?
Lorsque vous ajoutez un canal au réseau, Oracle Blockchain Platform crée des stratégies par défaut. Les stratégies par défaut sont les suivantes : administrateurs, processus d'écriture, processus de lecture, approbation, LifecycleEndorsement (stratégies ImplicitMeta) et Créateur (stratégie de signature). Si nécessaire, vous pouvez modifier ces stratégies ou en créer d'autres.
Notez le problème important suivant concernant les stratégies de canal :
-
Vous pouvez utiliser la console pour créer un canal et définir l'ACL de votre organisation sur ReaderOnly. Une fois que vous avez enregistré le nouveau canal, vous ne pouvez pas mettre à jour ce paramètre d'ACL à partir de l'option Modifier l'organisation du canal.
Toutefois, vous pouvez utiliser la fonctionnalité Gérer les stratégies de canal de la console pour ajouter votre organisation à la stratégie Writers, qui écrase le paramètre de liste de contrôle d'accès ReaderOnly du canal.
Définition des stratégies de canal (Hyperledger Fabric v1.4.7)
Une stratégie définit un ensemble de conditions. Les parties requises doivent remplir les conditions de la politique avant que leurs signatures ne soient considérées comme valides et que la demande correspondante se produise sur le réseau.
Le réseau de chaîne de blocs est géré par ces stratégies. Les stratégies vérifient l'identité associée à une demande par rapport à la stratégie associée à la ressource nécessaire pour exécuter la demande. Les stratégies se trouvent dans la configuration du canal.
Après avoir configuré les stratégies du canal, vous les affectez aux ressources des listes de contrôle d'accès du canal afin de déterminer les membres à signer avant qu'une modification ou une action ne puisse se produire sur le canal. Par exemple, supposons que vous ayez modifié la stratégie Writers pour inclure des membres de l'organisation A ou de l'organisation B. Vous avez ensuite affecté la stratégie Writers à la ressource d'ACL cscc/GetConfigBlock du canal. Désormais, seul un membre de l'organisation A ou de l'organisation B peut appeler GetConfigBlock sur le composant cscc.
Quels sont les types de stratégie ?
Il existe deux types de stratégie : Signature et ImplicitMeta.
- Signature : indique une combinaison de règles d'évaluation. Il prend en charge les combinaisons de AND, OR et NOutOf. Par exemple, vous pouvez définir quelque chose comme "Un administrateur de l'organisation A et 2 autres administrateurs" ou "11 des 20 administrateurs de l'organisation".
Lorsque vous modifiez la stratégie par défaut des administrateurs d'Oracle Blockchain Platform, qui a été créée en tant que stratégie ImplicitMeta, vous utilisez la stratégie Signature. Toutes les nouvelles stratégies que vous créez seront des stratégies de signature.
- ImplicitMeta : ce type de stratégie n'est valide que dans le contexte de la configuration. Il agrège le résultat de l'évaluation des stratégies plus en profondeur dans la hiérarchie de configuration, qui sont définies par les stratégies Signature. Il prend en charge les règles par défaut, par exemple "La majorité des stratégies d'administration de l'organisation".
Oracle Blockchain Platform utilise le type de stratégie ImplicitMeta pour créer la stratégie Administrateurs. Lorsque vous modifiez la stratégie Admins, vous utilisez la stratégie Signature. Vous ne pouvez pas créer ni modifier de stratégies à l'aide de la stratégie ImplicitMeta. Oracle Blockchain Platform prend uniquement en charge la modification ou la création de stratégies à l'aide du type de stratégie Signature.
Quand les stratégies sont-elles créées ?
Lorsque vous ajoutez un canal au réseau, Oracle Blockchain Platform crée des stratégies par défaut. Les stratégies par défaut sont les suivantes : administrateurs (stratégie ImplicitMeta), créateur, processus d'écriture et processus de lecture (stratégies de signature). Si nécessaire, vous pouvez modifier ces stratégies ou en créer d'autres.
Notez les problèmes importants suivants concernant les stratégies de canal :
-
Vous pouvez utiliser la console pour créer un canal et définir l'ACL de votre organisation sur ReaderOnly. Une fois que vous avez enregistré le nouveau canal, vous ne pouvez pas mettre à jour ce paramètre d'ACL à partir de l'option Modifier l'organisation du canal.
Toutefois, vous pouvez utiliser la fonctionnalité Gérer les stratégies de canal de la console pour ajouter votre organisation à la stratégie Writers, qui écrase le paramètre de liste de contrôle d'accès ReaderOnly du canal.
-
Lorsque vous utilisez les SDK Hyperledger Fabric pour créer un canal, Fabric utilise les stratégies ImplicitMeta en tant que stratégies de canal par défaut pour les lecteurs et les processus d'écriture. Lorsque le canal utilise ces stratégies, la console Oracle Blockchain Platform ne peut pas garantir que les opérations d'administration (par exemple, modifier l'organisation) seront traitées avec succès.
Pour corriger ce problème, mettez à jour les stratégies de lecture et d'écriture vers les stratégies Signature et définissez les règles de stratégie selon vos besoins. Reportez-vous à https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html
- Lorsque vous utilisez les SDK ou l'interface de ligne de commande Hyperledger Fabric pour créer un canal, la stratégie Créateur n'est pas incluse dans le fichier configtx.yaml. La stratégie de créateur est requise par Oracle Blockchain Platform pour permettre au créateur de canal de modifier la configuration d'un canal. Vous devez modifier manuellement le fichier configtx.yaml et ajouter la stratégie Creator.
Ajout ou modification des stratégies d'un canal
Vous pouvez ajouter ou modifier la stratégie d'un canal afin de spécifier les membres requis pour effectuer une action spécifique sur le canal. Une fois les stratégies définies, vous les affectez aux listes de contrôle d'accès du canal.
Avant d'ajouter ou de mettre à jour des stratégies, vous devez comprendre comment Oracle Blockchain Platform crée des stratégies de canal par défaut. Reportez-vous à Que sont les stratégies de canal ? (Hyperledger Fabric v1.4.7) ou à Que sont les stratégies de canal ? (Hyperledger Fabric v2.x).
Pour réaliser cette tâche, vous devez être administrateur.
- Accédez à la console et sélectionnez l'onglet Canaux.
L'onglet Canaux apparaît et la table des canaux contient la liste de tous les canaux de votre réseau.
- Dans la table des canaux, cliquez sur le nom du canal auquel ajouter des stratégies ou pour lequel modifier des stratégies.
La page Informations sur le canal apparaît.
- Sur la page Informations sur le canal, cliquez sur le panneau Stratégies de canal.
- Effectuez l'une des opérations suivantes :
- Pour ajouter une stratégie, cliquez sur le bouton Créer une stratégie. La boîte de dialogue Créer une stratégie apparaît. Entrez un nom dans le champ Policy Name et sélectionnez Signature dans le champ Policy Type. Développez la section Stratégie de signature.
- Pour modifier une stratégie existante, cliquez sur son nom. La boîte de dialogue Mettre à jour la stratégie apparaît.
- Cliquez sur le bouton Ajouter une identité pour ajouter une organisation. Vous pouvez également modifier une stratégie de signature existante si nécessaire. Notez les informations suivantes :
Champ Description ID SP Dans le menu déroulant, sélectionnez l'organisation qui doit signer la stratégie. Rôle Sélectionnez le rôle homologue correspondant requis par la stratégie. Habituellement, ce sera membre. Vous pouvez trouver le rôle d'un pair en consultant ses informations de configuration. Mode d'expression de règle Dans la plupart des cas, vous utiliserez Basic. Sélectionnez Avancé pour écrire une chaîne d'expression à l'aide de ET, OU et NOutOf. Pour plus d'informations sur l'écriture d'une chaîne d'expression de stratégie valide, reportez-vous à Stratégies d'approbation dans la documentation Hyperledger Fabric. Signé par Sélectionnez le nombre de membres qui doivent signer la stratégie pour répondre à la demande. - Si vous ajoutez une stratégie, cliquez sur Créer. Si vous modifiez une stratégie, cliquez sur Mettre à jour.
Suppression des stratégies d'un canal
Vous pouvez supprimer des stratégies de canal que vous avez créées.
Vous ne pouvez pas supprimer les stratégies par défaut : Administrateurs, Créateur, Lecteurs, Rédacteurs, Approbation et LifecycleEndorsement. En outre, vous ne pouvez pas supprimer une stratégie de canal si elle est affectée à une liste de contrôle d'accès. Avant d'essayer de supprimer une stratégie de canal, vérifiez qu'elle n'est pas affectée.
Pour réaliser cette tâche, vous devez être administrateur.
- Accédez à la console et sélectionnez l'onglet Canaux.
L'onglet Canaux apparaît et la table des canaux contient la liste de tous les canaux de votre réseau.
- Dans la table des canaux, cliquez sur le canal dont vous souhaitez supprimer une stratégie.
La page Informations sur le canal apparaît.
- Sur la page Informations sur le canal, cliquez sur le panneau Stratégies de canal.
- Localisez la stratégie à supprimer et cliquez sur le bouton Plus d'options correspondant.
- Cliquez sur Enlever et confirmez la suppression.
Définition des ACL de canal
Les listes de contrôle d'accès (ACL) utilisent des stratégies pour gérer les organisations et les rôles qui peuvent accéder aux ressources d'un canal.
Les utilisateurs interagissent avec le réseau de chaîne de blocs en ciblant des composants tels que le code chaîne du système de requête (qscc
), le code chaîne du système de cycle de vie (_lifecycle
sur Hyperledger Fabric v2.x, lscc
sur Hyperledger Fabric v1.4.7), le code chaîne du système de configuration (cscc
), l'homologue et l'événement. Ces composants sont associés à des ressources spécifiques (par exemple, GetConfigBlock
ou GetChaincodeData
) auxquelles vous pouvez affecter des stratégies au niveau du canal. Ces stratégies font partie de la configuration du canal.
Une stratégie définit les organisations et les rôles qui peuvent demander une ressource. Lorsqu'une demande est effectuée, la stratégie indique au système de vérifier l'identité du demandeur et de déterminer s'il est autorisé à effectuer la demande. Lorsque vous créez un canal, Oracle Blockchain Platform inclut les listes de contrôle d'accès Hyperledger Fabric par défaut avec le canal. Oracle Blockchain Platform crée également des stratégies par défaut (administrateur, créateur, processus d'écriture et lecteurs ; approbation et LifecycleEndorsement sur Hyperledger Fabric v2.x) pour le canal. Vous pouvez modifier ces stratégies ou en créer au besoin. Reportez-vous à Qu'est-ce que les stratégies de canal ? (Hyperledger Fabric v2.x) ou à Qu'est-ce que les stratégies de canal ? (Hyperledger Fabric v1.4.7).
Mettre à jour les listes de contrôle d'accès de canal
Vous pouvez mettre à jour les listes de contrôle d'accès du canal en affectant des stratégies aux ressources du canal. Une stratégie définit les organisations et les rôles qui peuvent demander une ressource.
Avant de mettre à jour les ACL d'un canal, vous devez comprendre quelles sont les stratégies et les ACL. Reportez-vous aux sections What Are Channel Policies ? (Hyperledger Fabric v1.4.7) et What Are Channel ACLs ?
- Accédez à la console et sélectionnez l'onglet Canaux.
L'onglet Canaux apparaît et la table des canaux contient la liste de tous les canaux de votre réseau.
- Dans le tableau des canaux, cliquez sur le nom du canal pour lequel vous souhaitez mettre à jour les listes de contrôle d'accès.
La page Informations sur le canal apparaît.
- Sur la page Informations sur le canal, cliquez sur le panneau ACL.
- Dans le tableau Ressources, localisez la ressource à mettre à jour. Cliquez sur le bouton Développer de la ressource et sélectionnez la stratégie à affecter à la ressource.
- Modifiez les stratégies de l'autre ressource si nécessaire.
- Cliquez sur Mettre à jour les listes de contrôle d'accès.
Ajout ou suppression de donneurs d'ordres vers ou depuis un canal
L'organisation d'administration du prescripteur peut ajouter ou supprimer des prescripteurs d'un canal.
- Dans la console fondatrice, ouvrez l'onglet Canaux et sélectionnez le canal pour afficher sa vue de détails.
- Ouvrez le sous-onglet Commandeurs. Tous les noeuds donneurs d'ordres actuellement joints au canal sont répertoriés.
- Cliquez sur Rejoindre le canal. Sélectionnez un numéro de système d'exploitation qui ne figure pas encore dans ce canal et cliquez sur Rejoindre.
- Dans la console fondatrice, ouvrez l'onglet Canaux et sélectionnez le canal pour afficher sa vue de détails.
- Ouvrez le sous-onglet Commandeurs. Tous les noeuds donneurs d'ordres actuellement joints au canal sont répertoriés.
- Sélectionnez le donneur d'ordre à enlever du canal et, dans le menu Actions supplémentaires, sélectionnez Enlever.
Définir l'organisation de l'administrateur donneur d'ordre
Vous pouvez affecter l'administration d'OSN dans un canal à n'importe quelle organisation. Normalement, le fondateur ou le créateur du canal est affecté.
- Dans la console fondatrice, ouvrez l'onglet Canaux.
- Sélectionnez le canal pour lequel vous souhaitez définir l'organisation de l'administrateur du donneur d'ordres et, dans le menu Action, sélectionnez Gérer l'administrateur OSN.
- Sélectionnez une organisation dans la liste des organisations disponibles et cliquez sur Soumettre.
Modifier les paramètres du service de tri d'un canal
Vous pouvez mettre à jour les paramètres du service de tri pour un canal particulier.
- Vous pouvez également mettre à jour les paramètres du service de commande pour l'ensemble du réseau, comme décrit à la section Edit Ordering Service Settings for the Network.
- Si vous modifiez les paramètres du service de commande et que des applications s'exécutent sur le réseau, ces applications doivent être mises à jour manuellement pour utiliser les paramètres révisés du service de commande.
- Ce n'est pas courant, mais dans certaines situations, vous pouvez exposer un service de commande différent à certains des participants du réseau. Dans ce cas, vous allez exporter le bloc de configuration réseau mis à jour et les participants requis importeront les paramètres révisés. Reportez-vous à Rejoindre les numéros de système d'exploitation participant ou redimensionné au service de commande du fondateur.