B Uso de la biblioteca de control de acceso detallado incluida en el ejemplo Marbles
A partir de la versión 1.2, Hyperledger Fabric proporcionó control de acceso detallado a muchas de las funciones de gestión. Oracle Blockchain Platform proporciona un paquete de ejemplo de canicas en el separador Herramientas de desarrollador 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 admite el idioma Go.
Antecedentes
El objetivo de esta biblioteca de control de acceso de ejemplo es proporcionar lo siguiente:
- 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 deben ser dinámicos y compartidos entre códigos de cadenas.
- Proporciona comprobaciones de control de acceso para que un código de cadena pueda comprobar fácilmente la lista de control de acceso.
- En el momento del despliegue del código de cadenas, permite rellenar la lista de recursos y 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
Fine-GrainedAccessControlLibrary.zip
:La biblioteca de control de acceso detallado. Contiene funciones de 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 de control de acceso detalladas, grupos y recursos para restringir 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 en 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 | Un certificado X509 que representa la identidad del emisor de llamada o la identidad específica que desea comprobar el código de cadenas. |
Patrón de identidad |
Patrón que coincide con una o más identidades. Se sugieren los siguientes patrones:
El formato de un patrón es esencialmente solo una cadena con un prefijo. Por ejemplo, para definir un patrón que coincida con cualquier identidad en 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 completamente del código de cadenas. |
Agrupar | Grupo de patrones de identidad. |
ACL | Lista de control de acceso: una 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 utilizará los tipos de acceso CREATE, READ, UPDATE y DELETE (operaciones CRUD estándar) para mantener su información. Aparte de esos cuatro como se relacionan con los elementos de esta biblioteca, son sólo cadenas sin semántica implícita. Una aplicación puede decidir utilizar los accesos de "A", "B" y "CUSTOM". |