B Usando a Biblioteca de Controle de Acesso Detalhado Incluída na Amostra de Mármores
O Hyperledger Fabric fornece controle de acesso refinado a muitas das funções de gerenciamento. O Oracle Blockchain Platform fornece um pacote de amostra de mármores na guia Ferramentas do Desenvolvedor da console, implementando uma biblioteca de funções que os desenvolvedores de chaincode podem usar para criar listas de controle de acesso para funções de chaincode. Atualmente, ele suporta apenas o idioma Go.
Segundo plano
O objetivo desta biblioteca de controle de acesso de amostra é fornecer as seguintes funções:
- Fornece um mecanismo para permitir que você controle quais usuários podem acessar determinadas funções de chaincode. A lista de usuários e seus direitos é dinâmica e compartilhada entre os códigos de cadeia.
- Fornece verificações de controle de acesso para que um chaincode possa verificar a lista de controle de acesso facilmente.
- No momento da implantação do chaincode, você pode preencher a lista de recursos e as listas de controle de acesso com seus membros iniciais. Uma lista de controle de acesso deve ser fornecida para autorizar os usuários a executar operações de lista de controle de acesso.
Fazer Download da Amostra
Fine-GrainedAccessControlLibrary.zip:A biblioteca de controle de acesso detalhada. Ele contém funções no Go que podem ser usadas pelos desenvolvedores de chaincode para criar listas de controle de acesso para funções de chaincode.
fgACL_MarbleSampleCC.zip:A amostra de mármores com listas de controle de acesso implementadas. Ele inclui uma variedade de funções para permitir que você examine como trabalhar com listas, grupos e recursos de controle de acesso refinados para restringir funções a determinados usuários/identidades.
fgACL-NodeJSCode.zip:Scripts Node.js que usam o SDK Node.js para executar a amostra.
registerEnrollUser.jspode ser usado para registrar novos usuários na Plataforma Blockchain.invokeQueryCC.jspode ser usado para executar transações em uma instância da Plataforma Blockchain.
Terminologia e acrônimos
| Termo | Descrição |
|---|---|
| Identidade | Um certificado X509 que representa a identidade do chamador ou a identidade específica que o chaincode deseja verificar. |
| Padrão de Identidade |
Um padrão que corresponde a uma ou mais identidades. Os seguintes padrões são sugeridos:
O formato de um padrão é essencialmente apenas uma string com um prefixo. Por exemplo, para definir um padrão que corresponda a qualquer identidade na organização "example.com", o padrão seria "%O%example.com". |
| Recurso | O nome de qualquer coisa que o chaincode queira controlar o acesso. Para esta biblioteca, é apenas uma string arbitrária nomeada contida em um namespace sem formatação. A semântica do nome está completamente à altura do chaincode. |
| Agrupar | Um grupo de padrões de identidade. |
| ACL | Lista de Controle de Acesso: uma entidade nomeada que tem uma lista de padrões de identidade, uma lista de tipos de acesso, como "READ", "CREATE", "INVOKE", "FORWARD" ou qualquer coisa que o chaincode queira usar. Essa biblioteca usará os tipos de acesso CREATE, READ, UPDATE e DELETE (operações CRUD padrão) para manter suas informações. Além desses quatro como eles se relacionam com os itens nesta biblioteca, eles são apenas cordas sem semântica implícita. Um aplicativo pode decidir usar acessos de "A", "B" e "CUSTOM". |