B Uso de la biblioteca de control de acceso detallado incluida en la muestra de mármoles

Hyperledger Fabric proporciona control de acceso detallado a muchas de las funciones de gestión. Oracle Blockchain Platform proporciona un paquete de ejemplo de mármoles en el separador Developer Tools de la consola, mediante la implantación de una biblioteca de funciones que los desarrolladores de código de cadenas pueden utilizar para crear listas de control de acceso para funciones de código de cadenas. Actualmente solo soporta el idioma Go.

Antecedentes

El objetivo de esta biblioteca de control de acceso de ejemplo es proporcionar las siguientes funciones:

  • Proporciona un mecanismo que le permite controlar qué usuarios pueden acceder a determinadas funciones de código de cadenas. La lista de usuarios y sus derechos es dinámica y se comparte entre los códigos de cadenas.
  • Proporciona comprobaciones de control de acceso para que un código de cadena pueda comprobar la lista de control de acceso fácilmente.
  • En el momento del despliegue del código de cadenas, le permite rellenar la lista de recursos y las listas de control de acceso con los miembros iniciales. Se debe proporcionar una lista de control de acceso para autorizar a los usuarios a realizar operaciones de lista de control de acceso.

Descargar la muestra

En el separador Herramientas para desarrolladores, abra el panel Muestras. Haga clic en el enlace de descarga en Marbles with Fine-Grained ACLs. Este paquete contiene tres subpaquetes:
  • Fine-GrainedAccessControlLibrary.zip:

    Biblioteca de control de acceso detallado. Contiene funciones en Go que pueden utilizar los desarrolladores de código de cadenas para crear listas de control de acceso para funciones de código de cadenas.

  • fgACL_MarbleSampleCC.zip:

    Muestra de mármoles con listas de control de acceso implementadas. Incluye una variedad de funciones que le permiten examinar cómo trabajar con listas, grupos y recursos de control de acceso detallados para restringir las funciones a determinados usuarios/identidades.

  • fgACL-NodeJSCode.zip:

    Scripts Node.js que utilizan el SDK Node.js para ejecutar el ejemplo. registerEnrollUser.js se puede utilizar para registrar nuevos usuarios con Blockchain Platform. invokeQueryCC.js se puede utilizar para ejecutar transacciones en una instancia de Blockchain Platform.

Terminología y acrónimos

Término Descripción
Identidad Certificado X509 que representa la identidad del emisor de llamada o la identidad específica que el código de cadena desea comprobar.
Patrón de identidad

Patrón que coincide con una o más identidades. Se sugieren los siguientes patrones:

  • X.509 Asunto Nombre común – NC
  • X.509 Unidad de Organización de la Materia – OU
  • X.509 Organización del Sujeto – O
  • Grupo según se define en esta biblioteca: GRP
  • Atributo – ATTR

El formato de un patrón es esencialmente una cadena con un prefijo. Por ejemplo, para definir un patrón que coincida con cualquier identidad de la organización "example.com", el patrón sería "%O%example.com".

Recurso Nombre de todo aquello a lo que el código de cadenas desea controlar el acceso. Para esta biblioteca, es solo una cadena arbitraria con nombre contenida en un espacio de nombres plano. La semántica del nombre depende por completo del código de cadena.
Agrupar Grupo de patrones de identidad.
ACL Lista de control de acceso: entidad con nombre que tiene una lista de patrones de identidad, una lista de tipos de acceso como "READ", "CREATE", "INVOKE", "FORWARD" o cualquier cosa que el código de cadena desee utilizar. Esta biblioteca usará los tipos de acceso CREATE (Crear), READ (Lectura), UPDATE (Actualizar) y DELETE (Operaciones CRUD estándar) para mantener su información. Aparte de los cuatro que se relacionan con los elementos de esta biblioteca, son solo cadenas sin semántica implícita. Una aplicación puede decidir utilizar accesos de "A", "B" y "CUSTOM".