Gestionar canales
En este tema se incluye información sobre la gestión de los canales de la red, como cómo crear y ver canales, cómo unir pares y designar y anclar pares, cómo trabajar con políticas y listas de control de acceso y cómo asociar solicitantes a un canal.
Definición de Canales
Los canales dividen y aíslan los peers y los datos del libro mayor para proporcionar transacciones privadas y confidenciales en la red blockchain.
- Peers
- Libro mayor compartido
- Códigos de cadenas instanciados en el canal
- Uno o más nodos de servicio de orden
- Definiciones de políticas de canal y ACL donde se aplican las definiciones
Cada peer que se une a un canal tiene su propia identidad que lo autentica para los peers y servicios del canal. Aunque los peers pueden pertenecer a varios canales, la información sobre las transacciones, el estado del libro mayor y la afiliación al canal se restringe a los peers de cada canal.
Puede utilizar la consola de Oracle Blockchain Platform o el SDK de Hyperledger Fabric para crear canales en su red de cadenas de bloques. Consulte Ver canales.
Ver canales
Los miembros de su red utilizan canales para comunicar de forma privada la información de transacciones de blockchain.
Crear Canal
Puede agregar canales a la red y especificar qué miembros pueden utilizar el canal y qué colegas pueden unirse al canal. No puede suprimir canales.
Debe ser administrador para realizar esta tarea.
-
(Hyperledger Fabric v2.x) Despliegue un código de cadena en el canal. Consulte Despliegue de un código de cadena.
-
(Hyperledger Fabric v1.4.7) Cree una instancia de un código de cadena en el canal. Consulte Instanciación de un código de cadena.
-
Si la red contiene participantes, entonces utilizan sus consolas para unirse a compañeros miembros al canal. Consulte Unión a un peer a un canal.
Ver actividad contable de un canal
Utilice la contabilidad para buscar información de resumen y estadísticas de tiempo de ejecución para transacciones en un canal específico.
Visualización o actualización de la lista de organizaciones de un canal
Puede ver la lista de organizaciones que tienen acceso al canal. Si ha creado el canal, puede cambiar los permisos de una organización en el canal y puede agregar organizaciones o eliminarlas del canal.
Unión de un peer a un canal
Puede agregar un nodo peer a un canal para que el nodo pueda utilizarlo para intercambiar información de transacción privada con otros nodos peer del canal.
-
Al crear un canal, se especifica qué nodos peer locales pueden unirse al canal.
-
Si está creando una red que contiene un participante, puede seleccionar el participante como miembro en el canal. También puede agregar el participante después de crear el canal.
-
Su instancia tiene varios dominios de disponibilidad o dominios de errores, y Oracle recomienda unirse a un peer de cada partición al canal. Esto se debe a que si una máquina virtual no está disponible, el canal sigue estando disponible para avales y confirmaciones. Para determinar en qué dominio se encuentra un par, en el menú Más acciones, seleccione Mostrar información de AD para ver la información del dominio de disponibilidad.
- Puede unir un máximo de siete peers de cada dominio.
Consulte Creación de un Canal.
Debe ser administrador para realizar esta tarea.
Agregar un par de anclaje
Cada miembro que utilice un canal debe designar al menos un par de anclaje. Los peers de anclaje son puntos de contacto de red principales y se utilizan para detectar y comunicarse con otros peers de red en el canal.
Puede designar uno o más pares de la organización como un peer de anclaje en un canal. Para una red de alta disponibilidad, puede especificar dos o más pares de anclaje. Todos los miembros que utilizan el canal de red deben utilizar su consola para designar uno o más de sus nodos peer como pares de anclaje.
Debe ser administrador para realizar esta tarea.
Cambio o eliminación de un par de anclaje
Puede cambiar o eliminar los pares de anclaje de un canal. Los peers de anclaje son puntos de contacto de red principales y se utilizan para detectar y comunicarse con otros peers de red en el canal.
Antes de cambiar o eliminar los pares de anclaje del canal, tenga en cuenta la siguiente información:
- Para comunicarse en el canal, debe designar uno o más pares de la organización como peer de anclaje.
- Para una red de alta disponibilidad, puede especificar dos o más pares de anclaje.
- Todos los miembros que utilizan el canal de red deben utilizar su consola para designar uno o más de sus nodos peer como pares de anclaje.
Debe ser administrador para realizar esta tarea.
Ver información acerca de los códigos de cadenas desplegados
Puede ver información sobre los códigos de cadenas que se despliegan en los diferentes canales de la red.
- Vaya a la consola y seleccione el separador Canales.
- En la tabla de canales, haga clic en el nombre del canal con el código de cadena para el que desea ver la información.
- En la página Información de Canal, confirme que el panel Códigos de Cadena Desplegados está seleccionado
- En la tabla de códigos de cadenas:
- Haga clic en el ID del paquete de código de cadenas para ir al separador Chaincodes y obtener más información al respecto. Por ejemplo, los iguales en los que está instalado el código de cadenas y los canales en los que está desplegado el código de cadenas.
- En el menú Más acciones de un código de cadena, haga clic en Ver definición de código de cadena para buscar detalles sobre la definición del código de cadena, incluida la política de endoso.
- (Opcional) Si ve una lista de canales sin un código de cadenas, puede ir al separador Chaincodes y desplegar un código de cadenas en el canal. Consulte Despliegue de un código de cadena.
Trabajar con políticas de canal y ACL
Este tema contiene información sobre las políticas de un canal y las listas de control de acceso (ACL). Proporciona una visión general de las políticas, los tipos de políticas y cómo modificarlas, así como de cómo utilizar las ACL para gestionar qué organizaciones y roles pueden acceder a los recursos de un canal.
¿Qué son las políticas de canal? (Hyperledger Fabric v2.x)
Una política define un juego de condiciones. Las partes requeridas deben cumplir las condiciones de la política antes de que sus firmas se consideren válidas y la solicitud correspondiente se produzca en la red.
La red blockchain está gestionada por estas políticas. Las políticas comprueban la identidad asociada a una solicitud con respecto a la política asociada al recurso necesario para cumplir la solicitud. Las políticas se encuentran en la configuración del canal.
Después de configurar las políticas del canal, debe asignarlas a los recursos de ACL del canal para determinar qué miembros deben firmar antes de que se pueda realizar un cambio o una acción en el canal. Por ejemplo, supongamos que ha modificado la política Writers para incluir miembros de la Organización A o la Organización B. A continuación, asignó la política Writers al recurso de ACL cscc/GetConfigBlock
del canal. Ahora solo un miembro de la Organización A u Organización B puede llamar a GetConfigBlock
en el componente cscc
.
Definición de Tipos de Política
Hay dos tipos de políticas: Firma y ImplicitMeta.
- Firma: especifica una combinación de reglas de evaluación. Admite combinaciones de AND, OR y NOutOf. Por ejemplo, puede definir algo como "Un administrador de la organización A y otros 2 administradores" o "11 de los 20 administradores de la organización".
Todas las políticas nuevas que cree serán políticas de firma.
- ImplicitMeta: este tipo de política solo es válido en el contexto de la configuración. Agrega el resultado de la evaluación de políticas en profundidad en la jerarquía de configuración, que se definen mediante políticas de firma. Soporta reglas por defecto, por ejemplo, "La mayoría de las políticas de administración de la organización".
¿Cuándo se crean las políticas?
Al agregar un canal a la red, Oracle Blockchain Platform crea políticas por defecto. Las políticas por defecto son: administradores, escritores, lectores, aval, LifecycleEndorsement (políticas ImplicitMeta) y creador (política de firma). Si es necesario, puede modificar estas políticas o crear otras nuevas.
Tenga en cuenta el siguiente problema importante sobre las políticas de canal:
-
Puede utilizar la consola para crear un canal y definir la ACL de su organización en ReaderOnly. Después de guardar el nuevo canal, no puede actualizar esta configuración de ACL desde la opción Editar organización del canal.
Sin embargo, puede utilizar la funcionalidad Gestionar políticas de canal de la consola para agregar su organización a la política Escritores, que sobrescribe la configuración de ACL ReaderOnly del canal.
¿Qué son las políticas de canal? (Hyperledger Fabric v1.4.7)
Una política define un juego de condiciones. Las partes requeridas deben cumplir las condiciones de la política antes de que sus firmas se consideren válidas y la solicitud correspondiente se produzca en la red.
La red blockchain está gestionada por estas políticas. Las políticas comprueban la identidad asociada a una solicitud con respecto a la política asociada al recurso necesario para cumplir la solicitud. Las políticas se encuentran en la configuración del canal.
Después de configurar las políticas del canal, debe asignarlas a los recursos de ACL del canal para determinar qué miembros deben firmar antes de que se pueda realizar un cambio o una acción en el canal. Por ejemplo, supongamos que ha modificado la política Writers para incluir miembros de la Organización A o la Organización B. A continuación, asignó la política Writers al recurso de ACL cscc/GetConfigBlock del canal. Ahora solo un miembro de la Organización A u Organización B puede llamar a GetConfigBlock en el componente cscc.
Definición de Tipos de Política
Hay dos tipos de políticas: Firma y ImplicitMeta.
- Firma: especifica una combinación de reglas de evaluación. Admite combinaciones de AND, OR y NOutOf. Por ejemplo, puede definir algo como "Un administrador de la organización A y otros 2 administradores" o "11 de los 20 administradores de la organización".
Tenga en cuenta que al modificar la política de administradores por defecto de Oracle Blockchain Platform, que se ha creado como política ImplicitMeta, utilizará la política de firma. Todas las políticas nuevas que cree serán políticas de firma.
- ImplicitMeta: este tipo de política solo es válido en el contexto de la configuración. Agrega el resultado de la evaluación de políticas en profundidad en la jerarquía de configuración, que se definen mediante políticas de firma. Soporta reglas por defecto, por ejemplo, "La mayoría de las políticas de administración de la organización".
Oracle Blockchain Platform utiliza el tipo de política ImplicitMeta para crear la política Admins. Al modificar la política Admins, utilizará la política Signature. No puede crear ni modificar ninguna política mediante la política ImplicitMeta. Oracle Blockchain Platform solo soporta la modificación o creación de políticas mediante el tipo de política Signature.
¿Cuándo se crean las políticas?
Al agregar un canal a la red, Oracle Blockchain Platform crea políticas por defecto. Las políticas por defecto son: Administradores (política ImplicitMeta), Creador, Escritores y Lectores (políticas de firma). Si es necesario, puede modificar estas políticas o crear otras nuevas.
Tenga en cuenta los siguientes problemas importantes sobre las políticas de canal:
-
Puede utilizar la consola para crear un canal y definir la ACL de su organización en ReaderOnly. Después de guardar el nuevo canal, no puede actualizar esta configuración de ACL desde la opción Editar organización del canal.
Sin embargo, puede utilizar la funcionalidad Gestionar políticas de canal de la consola para agregar su organización a la política Escritores, que sobrescribe la configuración de ACL ReaderOnly del canal.
-
Cuando utiliza los SDK de Hyperledger Fabric para crear un canal, Fabric utiliza las políticas ImplicitMeta como las políticas de canal por defecto para lectores y escritores. Cuando el canal utiliza estas políticas, la consola de Oracle Blockchain Platform no puede garantizar que las operaciones administrativas (por ejemplo, editar organización) se procesen correctamente.
Para corregir este problema, actualice las políticas de lectores y escritores a las políticas de firma y defina las reglas de política según sea necesario. Consulte https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html
- Cuando utiliza los SDK o la CLI de Hyperledger Fabric para crear un canal, la política de creador no se incluye en el archivo configtx.yaml. Oracle Blockchain Platform necesita la política Creator para permitir que el creador del canal edite la configuración de un canal. Debe editar manualmente el archivo configtx.yaml y agregar la política Creator.
Adición o modificación de políticas de un canal
Puede agregar o modificar la política de un canal para especificar qué miembros son necesarios para realizar una acción específica en el canal. Después de definir políticas, las asignará a las ACL del canal.
Antes de agregar o actualizar políticas, debe comprender cómo Oracle Blockchain Platform crea políticas de canal por defecto. Consulte What Are Channel Policies? (Hyperledger Fabric v1.4.7) o What Are Channel Policies? (Hyperledger Fabric v2.x).
Debe ser administrador para realizar esta tarea.
- Vaya a la consola y seleccione el separador Canales.
Se muestra el separador Canales y la tabla de canales contiene una lista de todos los canales de la red.
- En la tabla de canales, haga clic en el nombre del canal al que desea agregar o modificar políticas.
Se muestra la página Información de canal.
- En la página Información de canal, haga clic en el panel Políticas de canal.
- Realice una de estas acciones:
- Para agregar una nueva política, haga clic en el botón Crear Nueva Política. Se muestra el cuadro de diálogo Crear política. Introduzca un nombre en el campo Nombre de Política y seleccione Firma en el campo Tipo de Política. Amplíe la sección Política de firma.
- Para modificar una política existente, haga clic en el nombre de una política. Se muestra el cuadro de diálogo Actualizar política.
- Haga clic en el botón Agregar identidad para agregar una organización. O bien, modifique una política de firma existente según sea necesario. Tenga en cuenta la siguiente información:
Campo Descripción ID DE MSP En el menú desplegable, seleccione la organización que debe firmar la política. Función Seleccione el rol de peer correspondiente que necesita la política. Normalmente será miembro. Puede encontrar el rol de un igual visualizando la información de configuración. Modo de expresión de política En la mayoría de los casos, utilizará Básico. Seleccione Avanzado para escribir una cadena de expresión con AND, OR y NOutOf. Para obtener información sobre cómo escribir una cadena de expresión de política válida, consulte Políticas de aval en la documentación de Hyperledger Fabric. Firmado por Seleccione cuántos miembros deben firmar la política para satisfacer la solicitud. - Si va a agregar una nueva política, haga clic en Crear. Si está modificando una política, haga clic en Actualizar.
Supresión de políticas de un canal
Puede suprimir las políticas de canal que ha creado usted mismo.
No puede suprimir las políticas por defecto: administradores, creador, lectores, escritores, aval y LifecycleEndorsement. Además, no puede suprimir una política de canal si está asignada a una ACL. Antes de intentar suprimir una política de canal, confirme que la política no está asignada.
Debe ser administrador para realizar esta tarea.
- Vaya a la consola y seleccione el separador Canales.
Se muestra el separador Canales y la tabla de canales contiene una lista de todos los canales de la red.
- En la tabla de canales, haga clic en el canal del que desea suprimir una política.
Se muestra la página Información de canal.
- En la página Información de canal, haga clic en el panel Políticas de canal.
- Localice la política que desea suprimir y haga clic en el botón Más Opciones.
- Haga clic en Eliminar y confirme la supresión.
¿Qué son las ACL de canal?
Las listas de control de acceso (ACL) utilizan políticas para gestionar qué organizaciones y roles pueden acceder a los recursos de un canal.
Los usuarios interactúan con la red de cadenas de bloques dirigiéndose a componentes como el código de cadenas del sistema de consultas (qscc
), el código de cadenas del sistema de ciclo de vida (_lifecycle
en Hyperledger Fabric v2.x, lscc
en Hyperledger Fabric v1.4.7), el código de cadenas del sistema de configuración (cscc
), el peer y el evento. Estos componentes están asociados a recursos específicos (por ejemplo, GetConfigBlock
o GetChaincodeData
) a los que puede asignar políticas en el nivel de canal. Estas políticas forman parte de la configuración del canal.
Una política define qué organizaciones y roles pueden solicitar un recurso. Cuando se realiza una solicitud, la política indica al sistema que compruebe la identidad del solicitante y determine si está autorizado para realizar la solicitud. Al crear un canal, Oracle Blockchain Platform incluye las ACL de Hyperledger Fabric por defecto con el canal. Oracle Blockchain Platform también crea políticas por defecto (administrador, creador, escritores y lectores; también endoso y LifecycleEndorsement en Hyperledger Fabric v2.x) para el canal. Puede modificar estas políticas o crear otras nuevas según sea necesario. Consulte What Are Channel Policies? (Hyperledger Fabric v2.x) o What Are Channel Policies? (Hyperledger Fabric v1.4.7).
Actualizar ACL de Canal
Puede actualizar las ACL del canal asignando políticas a los recursos del canal. Una política define qué organizaciones y roles pueden solicitar un recurso
Antes de actualizar las ACL de un canal, debe comprender qué son las políticas y las ACL. Consulte Definición de políticas de canal (Hyperledger Fabric v1.4.7) y Definición de ACL de canal
- Vaya a la consola y seleccione el separador Canales.
Se muestra el separador Canales y la tabla de canales contiene una lista de todos los canales de la red.
- En la tabla de canales, haga clic en el nombre del canal para el que desea actualizar las ACL.
Se muestra la página Información de canal.
- En la página Información de canal, haga clic en el panel ACL.
- En la tabla Recursos, busque el recurso que desea actualizar. Haga clic en el botón Ampliar del recurso y seleccione la política que desea asignar al recurso.
- Modifique las políticas del otro recurso según sea necesario.
- Haga clic en Actualizar ACL.
Adición o eliminación de solicitantes de un canal
La organización de administración de pedidos puede agregar o eliminar solicitantes de un canal.
- En la consola del fundador, abra el separador Canales y seleccione el canal para ver su vista de detalles.
- Abra el subseparador Ordenadores. Se muestran todos los nodos de solicitante unidos actualmente al canal.
- Haga clic en Unir canal. Seleccione un OSN que aún no esté en este canal y haga clic en Unirse.
- En la consola del fundador, abra el separador Canales y seleccione el canal para ver su vista de detalles.
- Abra el subseparador Ordenadores. Se muestran todos los nodos de solicitante unidos actualmente al canal.
- Seleccione el ordenante que desea eliminar del canal y, en el menú Más acciones, seleccione Eliminar.
Definición de la organización del administrador de pedidos
Puede asignar la administración de OSN en un canal a cualquier organización. Normalmente, se asignaría al fundador o al creador del canal.
- En la consola del fundador, abra el separador Canales.
- Seleccione el canal para el que desea definir la organización del administrador de órdenes y, en el menú Acción, seleccione Gestionar administrador de OSN.
- Seleccione una de las organizaciones disponibles y haga clic en Enviar.
Editar configuración de servicio de ordenación para un canal
Puede actualizar la configuración del servicio de ordenación para un canal concreto.
- Por otra parte, puede actualizar la configuración del servicio de ordenación para toda la red, como se describe en Edit Ordering Service Settings for the Network.
- Si cambia la configuración del servicio de pedidos y hay aplicaciones en ejecución en la red, dichas aplicaciones se deben actualizar manualmente para utilizar la configuración revisada del servicio de pedidos.
- No es común, pero en algunas situaciones, puede exponer un servicio de pedidos diferente a algunos de los participantes de la red. En este caso, exportará el bloque de configuración de red actualizado y los participantes necesarios importarán la configuración revisada. Consulte Unirse al participante o a OSN escalados al servicio de pedidos del fundador.