Gerenciar canais
Este tópico contém informações sobre como gerenciar os canais em sua rede, como criar e exibir canais, como unir pares e designar e ancorar pares, como trabalhar com políticas e listas de controle de acesso e como associar solicitantes a um canal.
O que São Canais?
Os canais particionam e isolam pares e dados de contabilidade para fornecer transações privadas e confidenciais na rede blockchain.
- Pares
- Razão compartilhado
- Chaincodes instanciados no canal
- Um ou mais nós de serviço de solicitação
- Definições de políticas de canal e ACLs nas quais as definições são aplicadas
Cada par que se junta a um canal tem sua própria identidade que o autentica para os pares e serviços do canal. Embora os pares possam pertencer a vários canais, as informações sobre transações, estado do razão e associação de canal são restritas aos pares dentro de cada canal.
Você pode usar o console do Oracle Blockchain Platform ou o SDK do Hyperledger Fabric para criar canais em sua rede blockchain. Consulte Exibir Canais.
Exibir Canais
Os membros da sua rede usam canais para comunicar informações de transações blockchain de forma privada.
Criar um Canal
Você pode adicionar canais à rede e especificar quais membros podem usar o canal e quais colegas podem entrar no canal. Você não pode excluir canais.
Você deve ser administrador para executar esta tarefa.
-
(Hyperledger Fabric v2.x) Implemente um chaincode no canal. Consulte Implantar um Chaincode.
-
(Hyperledger Fabric v1.4.7) Instancie um chaincode no canal. Consulte Instanciar um Chaincode.
-
Se a rede contiver participantes, eles usarão seus consoles para unir colegas membros ao canal. Consulte Participar de um Par de um Canal.
Exibir a Atividade do Razão de um Canal
Use o razão para localizar informações resumidas e estatísticas de tempo de execução para transações em um canal específico.
Exibir ou Atualizar a Lista de Organizações de um Canal
Você pode exibir a lista das organizações que têm acesso ao canal. Se você criou o canal, poderá alterar as permissões de uma organização no canal e poderá adicionar ou remover organizações do canal
Associar-se a um Canal
Você pode adicionar um nó de mesmo nível a um canal para que o nó possa usá-lo para trocar informações de transações privadas com outros nós de mesmo nível no canal.
-
Ao criar um canal, você especifica quais nós de mesmo nível locais podem entrar no canal.
-
Se você estiver criando uma rede contendo um participante, poderá selecionar o participante como membro no canal. Ou você pode adicionar o participante após a criação do canal.
-
Sua instância tem vários domínios de disponibilidade ou domínios de falha, e a Oracle recomenda que você entre em um par de cada partição no canal. Isso ocorre porque, se uma VM estiver indisponível, o canal ainda estará disponível para endossos e commits. Para determinar em qual domínio um par está localizado, no menu Mais Ações, selecione Mostrar Informações do AD para ver as informações do domínio de disponibilidade.
- Você pode juntar um máximo de sete pares de cada domínio.
Consulte Criar um Canal.
Você deve ser administrador para executar esta tarefa.
Adicionar um Par de Âncora
Cada membro que usa um canal deve designar pelo menos um ponto de ancoragem. Os pares de âncora são pontos de contato de rede principais e são usados para descobrir e se comunicar com outros pares de rede no canal.
Você pode designar um ou mais pares em sua organização como um ponto de ancoragem em um canal. Para uma rede de alta disponibilidade, você pode especificar dois ou mais pares de âncora. Todos os membros que usam o canal de rede devem usar seu console para designar um ou mais de seus nós pares como pares âncora.
Você deve ser administrador para executar esta tarefa.
Alterar ou remover um ponto âncora
Você pode alterar ou remover os pares de âncora de um canal. Os pares de âncora são pontos de contato de rede principais e são usados para descobrir e se comunicar com outros pares de rede no canal.
Antes de alterar ou remover os pares de âncora do canal, observe as seguintes informações:
- Para se comunicar no canal, você deve designar um ou mais pares em sua organização como um par âncora.
- Para uma rede de alta disponibilidade, você pode especificar dois ou mais pares de âncora.
- Todos os membros que usam o canal de rede devem usar seu console para designar um ou mais de seus nós pares como pares âncora.
Você deve ser administrador para executar esta tarefa.
Exibir Informações sobre Chaincodes Implantados
Você pode exibir informações sobre os chaincodes implantados nos diferentes canais da sua rede.
- Vá para a console e selecione a guia Canais.
- Na tabela de canais, clique no nome do canal com o chaincode cujas informações você deseja exibir.
- Na página Informações do Canal, confirme se o painel Chaincodes Implantados está selecionado
- Na tabela de chaincode, você pode:
- Clique no ID do pacote chaincode para acessar a guia Chaincodes e obter mais informações sobre ele. Por exemplo, os pares nos quais o chaincode está instalado e os canais nos quais o chaincode está implantado.
- No menu Mais Ações de um chaincode, clique em Exibir Definição de Chaincode para encontrar detalhes sobre a definição do chaincode, incluindo a política de endosso.
- (Opcional) Se você vir uma listagem de canais sem um chaincode, poderá ir para a guia Chaincodes e implantar um chaincode no canal. Consulte Implantar um Chaincode.
Acesso a Políticas e ACLs de Canal
Este tópico contém informações sobre políticas de um canal e listas de controle de acesso (ACLs). Ele fornece uma visão geral do que são políticas, tipos de políticas e como modificá-las, além de como usar ACLs para gerenciar quais organizações e atribuições podem acessar os recursos de um canal.
O Que São Políticas de Canal? (Hyperledger Fabric v2.x)
Uma política define um conjunto de condições. As partes requeridas devem atender às condições da política antes que suas assinaturas sejam consideradas válidas e a solicitação correspondente ocorra na rede.
A rede blockchain é gerenciada por essas políticas. As políticas verificam a identidade associada a uma solicitação em relação à política associada ao recurso necessário para atender à solicitação. As políticas estão localizadas na configuração do canal.
Depois de configurar as políticas do canal, designe-as aos recursos de ACLs do canal para determinar quais membros devem ser assinados antes que uma alteração ou ação possa acontecer no canal. Por exemplo, suponha que você tenha modificado a política Writers para incluir membros da Organização A ou da Organização B. Em seguida, você designou a política Writers ao recurso de ACL cscc/GetConfigBlock
do canal. Agora, somente um membro da Organização A ou da Organização B pode chamar GetConfigBlock
no componente cscc
.
Quais São os Tipos de Política?
Há dois tipos de política: Assinatura e ImplicitMeta.
- Assinatura - Especifica uma combinação de regras de avaliação. Ele suporta combinações de E, OU e NOutOf. Por exemplo, você pode definir algo como "Um administrador da organização A e 2 outros administradores" ou "11 de 20 administradores de organizações".
Quaisquer novas políticas que você criar serão políticas de Assinatura.
- ImplicitMeta - Este tipo de política só é válido no contexto da configuração. Ele agrega o resultado da avaliação de políticas mais profundas na hierarquia de configuração, que são definidas pelas políticas de Assinatura. Ele suporta regras padrão, por exemplo, "A maioria das políticas administrativas da organização".
Quando as Políticas São Criadas?
Quando você adiciona um canal à rede, o Oracle Blockchain Platform cria políticas padrão. As políticas padrão são: Administradores, Gravadores, Leitores, Endosso, LifecycleEndorsement (políticas ImplicitMeta) e Criador (política de assinatura). Se necessário, você pode modificar essas políticas ou criar novas políticas.
Observe o seguinte problema importante sobre políticas de canal:
-
Você pode usar a console para criar um canal e definir a ACL da sua organização como ReaderOnly. Depois de salvar o novo canal, você não poderá atualizar essa definição de ACL na opção Editar Organização do canal.
No entanto, você pode usar a funcionalidade Gerenciar Políticas de Canal da console para adicionar sua organização à política Writers, que substitui a definição de ACL ReaderOnly do canal.
O Que São Políticas de Canal? (Hyperledger Fabric v1.4.7)
Uma política define um conjunto de condições. As partes requeridas devem atender às condições da política antes que suas assinaturas sejam consideradas válidas e a solicitação correspondente ocorra na rede.
A rede blockchain é gerenciada por essas políticas. As políticas verificam a identidade associada a uma solicitação em relação à política associada ao recurso necessário para atender à solicitação. As políticas estão localizadas na configuração do canal.
Depois de configurar as políticas do canal, designe-as aos recursos de ACLs do canal para determinar quais membros devem ser assinados antes que uma alteração ou ação possa acontecer no canal. Por exemplo, suponha que você tenha modificado a política Writers para incluir membros da Organização A ou da Organização B. Em seguida, você designou a política Writers ao recurso de ACL cscc/GetConfigBlock do canal. Agora, somente um membro da Organização A ou da Organização B pode chamar GetConfigBlock no componente cscc.
Quais São os Tipos de Política?
Há dois tipos de política: Assinatura e ImplicitMeta.
- Assinatura - Especifica uma combinação de regras de avaliação. Ele suporta combinações de E, OU e NOutOf. Por exemplo, você pode definir algo como "Um administrador da organização A e 2 outros administradores" ou "11 de 20 administradores de organizações".
Observe que quando você modificar a política de Administradores padrão do Oracle Blockchain Platform, que foi criada como uma política ImplicitMeta, você usará a política de Assinatura. Quaisquer novas políticas que você criar serão políticas de Assinatura.
- ImplicitMeta - Este tipo de política só é válido no contexto da configuração. Ele agrega o resultado da avaliação de políticas mais profundas na hierarquia de configuração, que são definidas pelas políticas de Assinatura. Ele suporta regras padrão, por exemplo, "A maioria das políticas administrativas da organização".
O Oracle Blockchain Platform usa o tipo de política ImplicitMeta para criar a política de Administradores. Ao modificar a política Administradores, você usará a política Assinatura. Você não pode criar ou modificar nenhuma política usando a política ImplicitMeta. O Oracle Blockchain Platform só suporta a modificação ou a criação de políticas usando o tipo de política Assinatura.
Quando as Políticas São Criadas?
Quando você adiciona um canal à rede, o Oracle Blockchain Platform cria políticas padrão. As políticas padrão são: Administradores (política ImplicitMeta), Criador, Gravadores e Leitores (políticas de assinatura). Se necessário, você pode modificar essas políticas ou criar novas políticas.
Observe os seguintes problemas importantes sobre políticas de canal:
-
Você pode usar a console para criar um canal e definir a ACL da sua organização como ReaderOnly. Depois de salvar o novo canal, você não poderá atualizar essa definição de ACL na opção Editar Organização do canal.
No entanto, você pode usar a funcionalidade Gerenciar Políticas de Canal da console para adicionar sua organização à política Writers, que substitui a definição de ACL ReaderOnly do canal.
-
Quando você usa os SDKs do Hyperledger Fabric para criar um canal, o Fabric usa as políticas ImplicitMeta como as políticas de canal padrão para Leitores e Gravadores. Quando o canal usa essas políticas, a console do Oracle Blockchain Platform não pode garantir que as operações administrativas (por exemplo, editar organização) sejam processadas com sucesso.
Para corrigir esse problema, atualize as políticas de leitores e escritores para as políticas de Assinatura e defina as regras de política conforme necessário. Consulte https://hyperledger-fabric.readthedocs.io/en/release-1.3/access_control.html
- Quando você usa os SDKs ou a CLI do Hyperledger Fabric para criar um canal, a política Creator não é incluída no arquivo configtx.yaml. A política de Criador é exigida pelo Oracle Blockchain Platform para permitir que o criador do canal edite a configuração de um canal. Edite manualmente o arquivo configtx.yaml e adicione a política de Criador.
Adicionar ou Modificar Políticas de um Canal
Você pode adicionar ou modificar a política de um canal para especificar quais membros devem executar uma ação específica no canal. Depois de definir políticas, designe-as às ACLs do canal.
Antes de adicionar ou atualizar políticas, você precisa entender como o Oracle Blockchain Platform cria políticas de canal padrão. Consulte O que são políticas de canal? (Hyperledger Fabric v1.4.7) ou O que são políticas de canal? (Hyperledger Fabric v2.x).
Você deve ser administrador para executar esta tarefa.
- Vá para a console e selecione a guia Canais.
A guia Canais é exibida e a tabela de canais contém uma lista de todos os canais da sua rede.
- Na tabela de canais, clique no nome do canal ao qual você deseja adicionar políticas ou modificar políticas.
A página Informações do Canal é exibida.
- Na página Informações do Canal, clique no painel Políticas do Canal.
- Execute uma das seguintes etapas:
- Para adicionar uma nova política, clique no botão Criar uma Nova Política. A caixa de diálogo Criar Política é exibida. Informe um nome no campo Nome da Política e selecione Assinatura no campo Tipo de Política. Expanda a seção Política de Assinatura.
- Para modificar uma política existente, clique no nome de uma política. A caixa de diálogo Atualizar Política é exibida.
- Clique no botão Adicionar Identidade para adicionar uma organização. Ou modifique uma política de assinatura existente conforme necessário. Observe as seguintes informações:
Campo Descrição ID MSP No menu suspenso, selecione a organização que deve assinar a política. Atribuição Selecione a atribuição de pareamento correspondente exigida pela política. Normalmente será membro. Você pode encontrar a função de um par exibindo suas informações de configuração. Modo de Expressão da Política Na maioria dos casos, você usará o Básico. Selecione Avançado para gravar uma string de expressão usando E, OU e NOutOf. Para obter informações sobre como gravar uma string de expressão de política válida, consulte Políticas de endosso na documentação do Hyperledger Fabric. Assinado por Selecione quantos membros devem assinar a política para atender à solicitação. - Se você estiver adicionando uma nova política, clique em Criar. Se você estiver modificando uma política, clique em Atualizar.
Excluir as Políticas de um Canal
Você pode excluir políticas de canal que criou.
Você não pode excluir as políticas padrão: Administradores, Criador, Leitores, Gravadores, Endosso e LifecycleEndorsement. Além disso, você não poderá excluir uma política de canal se ela estiver designada a uma ACL. Antes de tentar excluir uma política de canal, confirme se a política não foi designada.
Você deve ser administrador para executar esta tarefa.
- Vá para a console e selecione a guia Canais.
A guia Canais é exibida e a tabela de canais contém uma lista de todos os canais da sua rede.
- Na tabela de canais, clique no canal do qual deseja excluir uma política.
A página Informações do Canal é exibida.
- Na página Informações do Canal, clique no painel Políticas do Canal.
- Localize a política que você deseja excluir e clique no botão Mais Opções.
- Clique em Remover e confirme a exclusão.
O que são ACLs de canal?
As listas de controle de acesso (ACLs) usam políticas para gerenciar quais organizações e atribuições podem acessar os recursos de um canal.
Os usuários interagem com a rede blockchain segmentando componentes como o código de cadeia do sistema de consulta (qscc
), código de cadeia do sistema de ciclo de vida (_lifecycle
no Hyperledger Fabric v2.x, lscc
no Hyperledger Fabric v1.4.7), código de cadeia do sistema de configuração (cscc
), par e evento. Esses componentes são associados a recursos específicos (por exemplo, GetConfigBlock
ou GetChaincodeData
) aos quais você pode designar políticas no nível do canal. Essas políticas fazem parte da configuração do canal.
Uma política define quais organizações e atribuições podem solicitar um recurso. Quando uma solicitação é feita, a política diz ao sistema para verificar a identidade do solicitante e determinar se ele está autorizado a fazer a solicitação. Quando você cria um canal, o Oracle Blockchain Platform inclui as ACLs padrão do Hyperledger Fabric com o canal. O Oracle Blockchain Platform também cria políticas padrão (Admin, Creator, Writers e Readers; também Endossamento e LifecycleEndorsement no Hyperledger Fabric v2.x) para o canal. Você pode modificar essas políticas ou criar novas políticas, conforme necessário. Consulte O que são políticas de canal? (Hyperledger Fabric v2.x) ou O que são políticas de canal? (Hyperledger Fabric v1.4.7).
Atualizar ACLs do Canal
Você pode atualizar as ACLs do canal designando políticas aos recursos do canal. Uma política define quais organizações e atribuições podem solicitar um recurso
Antes de atualizar as ACLs de um canal, você deve entender quais políticas e ACLs são. Consulte O que são políticas de canal? (Hyperledger Fabric v1.4.7) e O que são ACLs de canal?
- Vá para a console e selecione a guia Canais.
A guia Canais é exibida e a tabela de canais contém uma lista de todos os canais da sua rede.
- Na tabela de canais, clique no nome do canal cujas ACLs você deseja atualizar.
A página Informações do Canal é exibida.
- Na página Informações do Canal, clique no painel ACLs.
- Na tabela Recursos, localize o recurso que você deseja atualizar. Clique no botão Expandir do recurso e selecione a política que você deseja designar ao recurso.
- Modifique as políticas do outro recurso conforme necessário.
- Clique em Atualizar ACLs.
Adicionar ou Remover Ordenadores de ou para um Canal
A organização administrativa do solicitante pode adicionar ou remover solicitantes de um canal.
- Na console do fundador, abra a guia Canais e selecione o canal para ver sua exibição de detalhes.
- Abra a subguia Solicitantes. Todos os nós do solicitante atualmente unidos ao canal são listados.
- Clique em Unir Canal. Selecione um OSN ainda não neste canal e clique em Participar.
- Na console do fundador, abra a guia Canais e selecione o canal para ver sua exibição de detalhes.
- Abra a subguia Solicitantes. Todos os nós do solicitante atualmente unidos ao canal são listados.
- Selecione o solicitante que deseja remover do canal e, no menu Mais Ações, selecione Remover.
Definir a Organização do Administrador do Solicitante
Você pode designar a administração de OSNs em um canal a qualquer organização. Normalmente, o fundador ou o criador do canal seria atribuído.
- No console fundador, abra a guia Canais.
- Selecione o canal para o qual você deseja definir a organização do administrador do solicitante e, no menu Ação, selecione Gerenciar Administrador do OSNs.
- Selecione na lista de organizações disponíveis e clique em Submeter.
Editar Definições de Serviço de Ordenamento de um Canal
Você pode atualizar as definições de serviço de ordenamento para um canal específico.
- Separadamente, você pode atualizar as definições de serviço de ordenação para toda a rede, conforme descrito em Editar Definições de Serviço de Ordenação para a Rede.
- Se você alterar as configurações de serviço de pedido e houver aplicativos em execução na rede, esses aplicativos deverão ser atualizados manualmente para usar as configurações de serviço de pedido revisadas.
- Não é comum, mas em algumas situações, você pode expor um serviço de pedidos diferente para alguns dos participantes da rede. Nesse caso, você exportará o bloco de configuração de rede atualizado e os participantes necessários importarão as configurações revisadas. Consulte Participar dos OSNs Participantes ou Escalonados no Serviço de Pedidos do Fundador.