B Uso de la biblioteca de control de acceso detallado incluida en el ejemplo de mármoles
A partir de la versión 1.2, Hyperledger Fabric proporcionó un control de acceso detallado para 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, implantando 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 el ejemplo
Fine-GrainedAccessControlLibrary.zip
:Biblioteca de control de acceso detallado. Contiene funciones en Go que pueden ser utilizadas por 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 canicas con listas de control de acceso implantadas. Incluye una variedad de funciones que le permiten examinar cómo trabajar con listas de control de acceso detallado, 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. Se puede utilizar
registerEnrollUser.js
para registrar nuevos usuarios con Blockchain Platform. Se puede utilizarinvokeQueryCC.js
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:
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 completamente del código de cadenas. |
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 cadenas 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 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 los accesos de "A", "B" y "CUSTOM". |