B Utiliser la bibliothèque de contrôle d'accès de niveau fin incluse dans l'exemple Marbles
A partir de la version 1.2, Hyperledger Fabric fournissait un contrôle d'accès de niveau fin à de nombreuses fonctions de gestion. Oracle Blockchain Platform fournit un exemple de package de billes dans l'onglet Outils de développement de la console, mettant en œuvre une bibliothèque de fonctions que les développeurs de code chaîne peuvent utiliser pour créer des listes de contrôle d'accès pour les fonctions de code chaîne. Actuellement, il ne prend en charge que la langue Go.
Contexte
L'objectif de cet exemple de bibliothèque de contrôle d'accès est de fournir les informations suivantes :
- Fournit un mécanisme vous permettant de contrôler quels utilisateurs peuvent accéder à des fonctions de code chaîne particulières.
- La liste des utilisateurs et leurs habilitations doit être dynamique et partagée entre les codes chaîne.
- Fournit des vérifications de contrôle d'accès afin qu'un code chaîne puisse vérifier facilement la liste de contrôle d'accès.
- Au moment du déploiement de code chaîne, vous permet de remplir la liste des ressources et des listes de contrôle d'accès avec vos membres initiaux.
- Une liste de contrôle d'accès doit être fournie pour autoriser les utilisateurs à effectuer des opérations de liste de contrôle d'accès.
Télécharger l'exemple
Fine-GrainedAccessControlLibrary.zip
:Bibliothèque de contrôle d'accès détaillé. Il contient des fonctions dans Go qui peuvent être utilisées par les développeurs de code chaîne pour créer des listes de contrôle d'accès pour les fonctions de code chaîne.
fgACL_MarbleSampleCC.zip
:Exemple de billes avec des listes de contrôle d'accès implémentées. Il comprend diverses fonctions qui vous permettent d'examiner comment utiliser des listes, des groupes et des ressources de contrôle d'accès de niveau fin pour restreindre les fonctions à certains utilisateurs/identités.
fgACL-NodeJSCode.zip
:Scripts Node.js qui utilisent le kit SDK Node.js pour exécuter l'exemple.
registerEnrollUser.js
peut être utilisé pour inscrire de nouveaux utilisateurs auprès de Blockchain Platform.invokeQueryCC.js
peut être utilisé pour exécuter des transactions sur une instance Blockchain Platform.
Terminologie et acronymes
Terme | Description |
---|---|
Identité | Certificat X509 représentant l'identité de l'appelant ou l'identité spécifique que le code chaîne souhaite vérifier. |
Modèle d'identité |
Modèle qui correspond à une ou plusieurs identités. Les modèles suivants sont suggérés :
Le format d'un modèle est essentiellement une chaîne avec un préfixe. Par exemple, pour définir un modèle qui correspond à n'importe quelle identité dans l'organisation "example.com", le modèle serait "%O%example.com". |
Ressource | Nom de tout élément auquel le code chaîne veut contrôler l'accès. Pour cette bibliothèque, il s'agit simplement d'une chaîne arbitraire nommée contenue dans un espace de noms plat. La sémantique du nom dépend entièrement du code chaîne. |
Grouper | Groupe de modèles d'identité. |
Liste de contrôle d'accès | Liste de contrôle d'accès : entité nommée disposant d'une liste de modèles d'identité, d'une liste de types d'accès tels que "READ", "CREATE", "INVOKE", "FORWARD" ou de tout élément que le code chaîne souhaite utiliser. Cette bibliothèque utilisera les types d'accès CREATE, READ, UPDATE et DELETE (opérations CRUD standard) pour conserver ses informations. En dehors de ces quatre éléments liés aux éléments de cette bibliothèque, ils ne sont que des chaînes sans sémantique implicite. Une application peut décider d'utiliser les accès de "A", "B" et "CUSTOM". |