B Utilizzo della libreria di controllo dell'accesso con filtro inclusa nell'esempio Marbles

Hyperledger Fabric fornisce il controllo dell'accesso con filtro per molte funzioni di gestione. Oracle Blockchain Platform fornisce un package di esempio valido nella scheda Strumenti per sviluppatori della console, implementando una libreria di funzioni che gli sviluppatori di codici concatenati possono utilizzare per creare liste di controllo dell'accesso per le funzioni di codici concatenati. Attualmente supporta solo la lingua Go.

Presupposto

L'obiettivo di questa libreria di controllo dell'accesso di esempio è quello di fornire le seguenti funzioni:

  • Fornisce un meccanismo che consente di controllare quali utenti possono accedere a determinate funzioni del codice concatenato. L'elenco degli utenti e delle relative abilitazioni è dinamico e condiviso tra i codici concatenati.
  • Fornisce controlli di controllo dell'accesso in modo che un codice concatenato possa controllare facilmente la lista di controllo dell'accesso.
  • Durante la distribuzione del codice concatenato, consente di inserire i membri iniziali nell'elenco delle risorse e nelle liste di controllo dell'accesso. È necessario fornire una lista di controllo dell'accesso per autorizzare gli utenti ad eseguire le operazioni della lista di controllo dell'accesso.

Scarica il campione

Nella scheda Strumenti per sviluppatori aprire il riquadro Esempi. Fare clic sul collegamento di download in Marmi con ACL con filtro. Questo pacchetto contiene tre pacchetti secondari:
  • Fine-GrainedAccessControlLibrary.zip:

    Libreria di controllo dell'accesso con filettatura fine. Contiene funzioni in Go che possono essere utilizzate dagli sviluppatori di codici concatenati per creare liste di controllo dell'accesso per le funzioni di codici concatenati.

  • fgACL_MarbleSampleCC.zip:

    Esempio di marmi con liste di controllo dell'accesso implementate. Include una varietà di funzioni per consentire di esaminare come utilizzare liste di controllo dell'accesso con filtro, gruppi e risorse per limitare le funzioni a determinati utenti/identità.

  • fgACL-NodeJSCode.zip:

    Script Node.js che utilizzano l'SDK Node.js per eseguire l'esempio. registerEnrollUser.js può essere utilizzato per registrare nuovi utenti con la piattaforma Blockchain. invokeQueryCC.js può essere utilizzato per eseguire transazioni su un'istanza della piattaforma Blockchain.

Terminologia e acronimi

Termine Descrizione
Identità Certificato X509 che rappresenta l'identità del chiamante o l'identità specifica che il codice concatenato desidera controllare.
Pattern identità

Modello che corrisponde a una o più identità. Sono consigliati i pattern seguenti:

  • X.509 Oggetto Nome comune – CN
  • Unità organizzativa soggetto X.509 - UO
  • X.509 Organizzazione soggetto – O
  • Gruppo come definito in questa libreria – GRP
  • Attributo - ATTR

Il formato di un modello è essenzialmente solo una stringa con un prefisso. Ad esempio, per definire un pattern che corrisponda a qualsiasi identità nell'organizzazione "example.com", il pattern sarà "%O%example.com".

Risorsa Nome di qualsiasi elemento a cui il codice concatenato desidera controllare l'accesso. Per questa libreria è solo una stringa arbitraria denominata contenuta in uno spazio di nomi piatto. La semantica del nome è completamente all'altezza del codice concatenato.
Raggruppa Gruppo di modelli di identità.
ACL Lista di controllo dell'accesso: un'entità denominata con un elenco di pattern di identità, un elenco di tipi di accesso come "READ", "CREATE", "INVOKE", "FORWARD" o qualsiasi cosa il codice concatenato voglia utilizzare. Questa libreria utilizzerà i tipi di accesso CREATE, READ, UPDATE e DELETE (operazioni CRUD standard) per gestire le informazioni. Oltre a questi quattro come si riferiscono agli elementi in questa libreria, sono solo stringhe senza semantica implicita. Un'applicazione può decidere di utilizzare gli accessi di "A", "B" e "CUSTOM".