Gérer les canaux
Cette rubrique contient des informations sur la gestion des canaux de votre réseau, telles que la création et la consultation de canaux, la jointure de pairs, la désignation et l'ancrage d'un pair, l'utilisation de politiques et de listes de contrôle d'accès et l'association de responsables des commandes à un canal.
Quels sont les canaux?
Les canaux partitionnent et isolent les pairs et les données du livre pour fournir des transactions privées et confidentielles sur le réseau de la chaîne de blocs.
- Pairs
- Livre partagé
- Codes de chaîne instanciés sur le canal
- Un ou plusieurs noeuds de service de commande
- Définitions de politique de canal et listes de contrôle d'accès où les définitions sont appliquées
Chaque pair qui joint un canal a sa propre identité qui l'authentifie auprès des pairs et des services du canal. Bien que les pairs puissent appartenir à plusieurs canaux, les informations sur les transactions, l'état du livre et l'appartenance aux canaux sont limitées aux pairs de chaque canal.
Vous pouvez utiliser la console Oracle Blockchain Platform ou la trousse SDK Hyperledger Fabric pour créer des canaux sur votre réseau de chaîne de blocs. Voir Voir les canaux.
Voir les canaux
Les membres de votre réseau utilisent des canaux pour communiquer en privé des informations sur les transactions blockchain.
Créer un canal
Vous pouvez ajouter des canaux au réseau et spécifier les membres qui peuvent utiliser le canal et les pairs qui peuvent le joindre. Vous ne pouvez pas supprimer des canaux.
Vous devez être un administrateur pour effectuer cette tâche.
-
(Hyperledger Fabric v2.x) Déployer un code de chaîne sur le canal. Voir Déployer un code de chaîne.
-
(Hyperledger Fabric v1.4.7) Instancier un code de chaîne sur le canal. Voir Instancier un code de chaîne.
-
Si le réseau contient des participants, ils utilisent leurs consoles pour joindre les pairs membres au canal. Voir Se joindre à un pair à un canal.
Voir l'activité de livre d'un canal
Utilisez le grand livre pour rechercher des données sommaires et des statistiques d'exécution pour les transactions sur un canal particulier.
Voir ou mettre à jour la liste des organisations d'un canal
Vous pouvez consulter 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 les supprimer.
Joindre un pair à un canal
Vous pouvez ajouter un noeud pair à un canal afin qu'il puisse l'utiliser pour échanger des informations de transaction privée avec d'autres noeuds pairs du canal.
-
Lorsque vous créez un canal, vous spécifiez les noeuds homologues locaux qui peuvent le joindre.
-
Si vous créez un réseau contenant un participant, vous pouvez sélectionner le participant 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 d'erreur, et Oracle recommande de joindre un pair de chaque partition au canal. En effet, si une machine virtuelle n'est pas disponible, le canal est toujours disponible pour les endossements et les validations. Pour déterminer dans quel domaine un pair se trouve, dans le menu Actions supplémentaires, sélectionnez Afficher les informations sur le domaine de disponibilité pour voir les informations sur le domaine de disponibilité.
- Vous pouvez joindre un maximum de sept pairs de chaque domaine.
Voir Créer un canal.
Vous devez être un administrateur pour effectuer cette tâche.
Ajouter un pair 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étecter et communiquer avec d'autres pairs du réseau sur le canal.
Vous pouvez désigner un ou plusieurs pairs dans votre organisation en tant que pair d'ancrage sur un canal. Pour un réseau haute disponibilité, vous pouvez spécifier deux pairs d'ancrage ou plus. Tous les membres qui utilisent le canal réseau doivent utiliser leur console pour désigner un ou plusieurs de leurs noeuds pairs comme pairs d'ancrage.
Vous devez être un administrateur pour effectuer cette tâche.
Modifier ou supprimer un pair d'ancrage
Vous pouvez modifier ou supprimer 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étecter et communiquer avec d'autres pairs du 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 pairs de votre organisation en tant que pairs d'ancrage.
- Pour un réseau haute disponibilité, vous pouvez spécifier deux pairs d'ancrage ou plus.
- Tous les membres qui utilisent le canal réseau doivent utiliser leur console pour désigner un ou plusieurs de leurs noeuds pairs comme pairs d'ancrage.
Vous devez être un administrateur pour effectuer cette tâche.
Voir les informations sur les codes de chaîne déployés
Vous pouvez voir les informations sur les codes de chaîne déployés sur les différents canaux de votre réseau.
- Allez à la console et sélectionnez l'onglet Canaux.
- Dans la table des canaux, cliquez sur le nom du canal contenant le code de chaîne pour lequel vous voulez voir les informations.
- Dans la page Informations sur le canal, vérifiez que le volet Codes de chaîne déployés est sélectionné
- Dans le tableau de code de chaîne :
- Cliquer sur l'ID paquetage de code de chaîne pour aller à l'onglet Codes de chaîne pour en savoir plus. Par exemple, les pairs sur lesquels le code de chaîne est installé et les canaux sur lesquels le code de chaîne est déployé.
- Dans le menu Plus d'actions d'un code de chaîne, cliquez sur Voir la définition du code de chaîne pour trouver des détails sur la définition du code de chaîne, y compris la politique d'endossement.
- (Facultatif) Si la liste des canaux sans code de chaîne s'affiche, vous pouvez accéder à l'onglet Codes de chaîne et déployer un code de chaîne sur le canal. Voir Déployer un code de chaîne.
Utiliser les politiques de canal et les listes de contrôle d'accès
Cette rubrique contient des informations sur les politiques et les listes de contrôle d'accès d'un canal. Il fournit un aperçu des politiques, des types de politique et de la façon de les modifier, ainsi que de l'utilisation des listes de contrôle d'accès pour gérer les organisations et les rôles pouvant accéder aux ressources d'un canal.
À quoi servent les politiques de canal? (Hyperledger Fabric, v2.x)
Une politique définit un ensemble de conditions. Les parties requises doivent respecter les conditions de la politique avant que leurs signatures ne soient considérées comme valides et que la demande correspondante ait lieu sur le réseau.
Le réseau de chaînes de blocs est géré par ces politiques. Les politiques vérifient l'identité associée à une demande par rapport à la politique associée à la ressource nécessaire pour exécuter la demande. Les politiques se trouvent dans la configuration du canal.
Après avoir configuré les politiques 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 politique Writers pour inclure les membres de l'organisation A ou de l'organisation B. Vous avez ensuite affecté la politique Writers à la ressource de liste de contrôle d'accès cscc/GetConfigBlock
du canal. Désormais, seul un membre de l'organisation A ou B peut appeler GetConfigBlock
sur le composant cscc
.
Quels sont les types de politique?
Il existe deux types de politique : Signature et ImplicitMeta.
- Signature - Spécifie une combinaison de règles d'évaluation. Il prend en charge les combinaisons 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 de 20 administrateurs de l'organisation".
Toutes les nouvelles politiques que vous créez seront des politiques de signature.
- ImplicitMeta - Ce type de politique 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 des stratégies Signature. Il prend en charge les règles par défaut, par exemple "Une majorité des politiques d'administration de l'organisation".
Quand les politiques sont-elles créées?
Lorsque vous ajoutez un canal au réseau, Oracle Blockchain Platform crée des politiques par défaut. Les politiques par défaut sont les suivantes : administrateurs, rédacteurs, lecteurs, endossement, LifecycleEndorsement (politiques ImplicitMeta) et créateur (politique de signature). Si nécessaire, vous pouvez modifier ces politiques ou en créer de nouvelles.
Notez le problème important suivant concernant les politiques de canal :
-
Vous pouvez utiliser la console pour créer un canal et régler la liste de contrôle d'accès de votre organisation à ReaderOnly. Après avoir enregistré le nouveau canal, vous ne pouvez pas mettre à jour ce paramètre de liste de contrôle d'accès à partir de l'option Modifier l'organisation du canal.
Toutefois, vous pouvez utiliser la fonctionnalité Gérer les politiques de canal de la console pour ajouter votre organisation à la politique Writers, qui remplace le paramètre ACL ReaderOnly du canal.
À quoi servent les politiques de canal? (Hyperledger Fabric v1.4.7)
Une politique définit un ensemble de conditions. Les parties requises doivent respecter les conditions de la politique avant que leurs signatures ne soient considérées comme valides et que la demande correspondante ait lieu sur le réseau.
Le réseau de chaînes de blocs est géré par ces politiques. Les politiques vérifient l'identité associée à une demande par rapport à la politique associée à la ressource nécessaire pour exécuter la demande. Les politiques se trouvent dans la configuration du canal.
Après avoir configuré les politiques 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 politique Writers pour inclure les membres de l'organisation A ou de l'organisation B. Vous avez ensuite affecté la politique Writers à la ressource de liste de contrôle d'accès cscc/GetConfigBlock du canal. Désormais, seul un membre de l'organisation A ou B peut appeler GetConfigBlock sur le composant cscc.
Quels sont les types de politique?
Il existe deux types de politique : Signature et ImplicitMeta.
- Signature - Spécifie une combinaison de règles d'évaluation. Il prend en charge les combinaisons 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 de 20 administrateurs de l'organisation".
Notez que lorsque vous modifiez la politique d'administrateurs par défaut d'Oracle Blockchain Platform, qui a été créée en tant que politique ImplicitMeta, vous utilisez la politique de signature. Toutes les nouvelles politiques que vous créez seront des politiques de signature.
- ImplicitMeta - Ce type de politique 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 des stratégies Signature. Il prend en charge les règles par défaut, par exemple "Une majorité des politiques d'administration de l'organisation".
Oracle Blockchain Platform utilise le type de politique ImplicitMeta pour créer la politique Administrateurs. Lorsque vous modifiez la politique Administrateurs, vous utilisez la politique Signature. Vous ne pouvez créer ou modifier aucune politique à l'aide de la politique ImplicitMeta. Oracle Blockchain Platform prend uniquement en charge la modification ou la création de politiques à l'aide du type de politique Signature.
Quand les politiques sont-elles créées?
Lorsque vous ajoutez un canal au réseau, Oracle Blockchain Platform crée des politiques par défaut. Les politiques par défaut sont les suivantes : Admins (politique ImplicitMeta), Creator, Writers et Readers (Politiques de signature). Si nécessaire, vous pouvez modifier ces politiques ou en créer de nouvelles.
Notez les problèmes importants suivants concernant les politiques de canal :
-
Vous pouvez utiliser la console pour créer un canal et régler la liste de contrôle d'accès de votre organisation à ReaderOnly. Après avoir enregistré le nouveau canal, vous ne pouvez pas mettre à jour ce paramètre de liste de contrôle d'accès à partir de l'option Modifier l'organisation du canal.
Toutefois, vous pouvez utiliser la fonctionnalité Gérer les politiques de canal de la console pour ajouter votre organisation à la politique Writers, qui remplace le paramètre ACL ReaderOnly du canal.
-
Lorsque vous utilisez les trousses SDK Hyperledger Fabric pour créer un canal, Fabric utilise les politiques ImplicitMeta comme politiques de canal par défaut pour les lecteurs et les rédacteurs. Lorsque le canal utilise ces politiques, la console Oracle Blockchain Platform ne peut pas garantir que les opérations administratives (par exemple, modifier l'organisation) seront traitées avec succès.
Pour corriger ce problème, mettez à jour les politiques des lecteurs et des auteurs en fonction des politiques Signature et définissez les règles de stratégie selon les besoins. Voir https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html
- Lorsque vous utilisez les trousses SDK ou l'interface de ligne de commande Hyperledger Fabric pour créer un canal, la politique de créateur n'est pas incluse dans le fichier configtx.yaml. La politique de créateur est requise par Oracle Blockchain Platform pour permettre au créateur du canal de modifier la configuration d'un canal. Vous devez modifier manuellement le fichier configtx.yaml et ajouter la politique de créateur.
Ajouter ou modifier les politiques d'un canal
Vous pouvez ajouter ou modifier la stratégie d'un canal pour spécifier les membres requis pour effectuer une action spécifique sur le canal. Après avoir défini des politiques, vous les affectez aux listes de contrôle d'accès du canal.
Avant d'ajouter ou de mettre à jour des politiques, vous devez comprendre comment Oracle Blockchain Platform crée des politiques de canal par défaut. Voir À quoi servent les politiques de canal? (Hyperledger Fabric v1.4.7) ou À quoi servent les politiques de canal? (Hyperledger Fabric v2.x).
Vous devez être un administrateur pour effectuer cette tâche.
- Allez à la console et sélectionnez l'onglet Canaux.
L'onglet Canaux s'affiche et la table des canaux contient une liste de tous les canaux de votre réseau.
- Dans la table des canaux, cliquez sur le nom du canal pour lequel vous voulez ajouter des politiques ou modifier des politiques.
La page Informations sur le canal s'affiche.
- Dans la page Informations sur le canal, cliquez sur le volet Politiques de canal.
- Effectuez l'une des actions suivantes :
- Pour ajouter une nouvelle politique, cliquez sur le bouton Créer une nouvelle politique. La boîte de dialogue Créer une politique s'affiche. Entrez un nom dans le champ Nom de la politique et sélectionnez Signature dans le champ Type de politique. Développez la section Politique de signature.
- Pour modifier une politique existante, cliquez sur son nom. La boîte de dialogue Mettre à jour la politique s'affiche.
- Cliquez sur le bouton Ajouter une identité pour ajouter une organisation. Vous pouvez également modifier une stratégie de signature existante, au besoin. Notez les informations suivantes :
Champ Description ID REPRÉSENTANT Dans le menu déroulant, sélectionnez l'organisation qui doit signer la politique. Rôle Sélectionnez le rôle de pair correspondant requis par la politique. Habituellement, ce sera membre. Vous pouvez trouver le rôle d'un pair en consultant ses informations de configuration. Mode d'expression de politique Dans la plupart des cas, vous utiliserez De base. 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 politique valide, voir Politiques d'endossement dans la documentation sur Hyperledger Fabric. Signé par Sélectionnez le nombre de membres devant signer la politique pour exécuter la demande. - Si vous ajoutez une nouvelle politique, cliquez sur Créer. Si vous modifiez une politique, cliquez sur Mettre à jour.
Supprimer les politiques d'un canal
Vous pouvez supprimer des politiques de canal que vous avez créées.
Vous ne pouvez pas supprimer les politiques par défaut : administrateurs, créateur, lecteurs, rédacteurs, endossement et LifecycleEndorsement. En outre, vous ne pouvez pas supprimer une politique de canal si elle est affectée à une liste de contrôle d'accès. Avant de tenter de supprimer une politique de canal, vérifiez qu'elle n'est pas affectée.
Vous devez être un administrateur pour effectuer cette tâche.
- Allez à la console et sélectionnez l'onglet Canaux.
L'onglet Canaux s'affiche et la table des canaux contient une liste de tous les canaux de votre réseau.
- Dans la table des canaux, cliquez sur le canal dont vous voulez supprimer une politique.
La page Informations sur le canal s'affiche.
- Dans la page Informations sur le canal, cliquez sur le volet Politiques de canal.
- Localisez la politique à supprimer et cliquez sur son bouton Options supplémentaires.
- Cliquez sur Supprimer et confirmez la suppression.
À quoi servent les listes de contrôle d'accès de canal?
Les listes de contrôle d'accès utilisent des politiques 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 la chaîne de blocs en ciblant des composants tels que le code de chaîne du système d'interrogation (qscc
), le code de chaîne du système de cycle de vie (_lifecycle
sur Hyperledger Fabric v2.x, lscc
sur Hyperledger Fabric v1.4.7), le code de chaîne du système de configuration (cscc
), le pair et l'événement. Ces composants sont associés à des ressources spécifiques (par exemple, GetConfigBlock
ou GetChaincodeData
) auxquelles vous pouvez affecter des politiques au niveau du canal. Ces politiques font partie de la configuration du canal.
Une politique définit les organisations et les rôles qui peuvent demander une ressource. Lorsqu'une demande est effectuée, la politique 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 politiques par défaut (Admin, Creator, Writers et Readers; également Endorsement et LifecycleEndorsement sur Hyperledger Fabric v2.x) pour le canal. Vous pouvez modifier ces politiques ou en créer de nouvelles au besoin. Voir À quoi servent les politiques de canal? (Hyperledger Fabric v2.x) ou À quoi servent les politiques 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 politiques aux ressources du canal. Une politique définit les organisations et les rôles qui peuvent demander une ressource
Avant de mettre à jour les listes de contrôle d'accès d'un canal, vous devez comprendre les politiques et les listes de contrôle d'accès. Voir À quoi servent les politiques de canal? (Hyperledger Fabric v1.4.7) et À quoi servent les listes de contrôle d'accès de canal?
- Allez à la console et sélectionnez l'onglet Canaux.
L'onglet Canaux s'affiche et la table des canaux contient une liste de tous les canaux de votre réseau.
- Dans la table 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 s'affiche.
- Dans la page Informations sur le canal, cliquez sur le volet LCA.
- Dans la table Ressources, localisez la ressource à mettre à jour. Cliquez sur le bouton Développer de la ressource et sélectionnez la politique à affecter à la ressource.
- Modifiez les politiques de l'autre ressource si nécessaire.
- Cliquez sur Mettre à jour les listes de contrôle d'accès.
Ajouter ou supprimer des responsables de commande dans ou à partir d'un canal
L'organisation d'administration du commandant peut ajouter ou supprimer des commandants d'un canal.
- Dans la console du fondateur, ouvrez l'onglet Canaux et sélectionnez le canal pour voir sa vue de détails.
- Ouvrez le sous-onglet Commandeurs. Tous les noeuds de tri actuellement joints au canal sont répertoriés.
- Cliquez sur Se joindre au canal. Sélectionnez un OSN qui n'est pas encore dans ce canal et cliquez sur Joindre.
- Dans la console du fondateur, ouvrez l'onglet Canaux et sélectionnez le canal pour voir sa vue de détails.
- Ouvrez le sous-onglet Commandeurs. Tous les noeuds de tri actuellement joints au canal sont répertoriés.
- Sélectionnez le tri à supprimer du canal et, dans son menu Plus d'actions, sélectionnez Supprimer.
Définir l'organisation de l'administrateur de la commande
Vous pouvez affecter l'administration des OSN dans un canal à n'importe quelle organisation. Normalement, le fondateur ou le créateur de la chaîne serait affecté.
- Dans la console du fondateur, ouvrez l'onglet Canaux.
- Sélectionnez le canal pour lequel vous voulez définir l'organisation de l'administrateur du responsable de la commande et, dans le menu d'actions, sélectionnez Gérer l'administrateur OSN.
- Sélectionnez une organisation dans la liste, puis cliquez sur Soumettre.
Modifier les paramètres du service de commande pour un canal
Vous pouvez mettre à jour les paramètres de service de tri pour un canal particulier.
- Vous pouvez mettre à jour séparément les paramètres du service de commande pour l'ensemble du réseau, comme décrit sous Modifier les paramètres du service de commande pour le réseau.
- 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 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. Voir Rejoindre le participant ou les OSN évolués au service de commande du fondateur.