Fonctions de la bibliothèque de contrôles d'accès fin
Le package de bibliothèque fournit les fonctions suivantes pour les ressources, les groupes et les listes de contrôle d'accès, ainsi que pour les fonctions globales.
Fonctions globales
Fonction | Description |
---|---|
Initialization(identity *x509.Certificate, stub shim.ChaincodeStubInterface) (error) (error) |
Lorsque le code de chaîne est déployé, la fonction Une fois le processus d'amorçage terminé, les entités suivantes sont créées :
|
NewGroupManager(identity *x509.Certificate, stub shim.ChaincodeStubInterface) (*GroupManager, error) |
Obtient le gestionnaire de groupe utilisé pour toutes les opérations liées au groupe. Identité : Identité par défaut de l'opération associée. Si elle est nulle, la fonction utilise l'identité de l'appelant. |
NewACLManager(identity *x509.Certificate, stub shim.ChaincodeStubInterface) (*ACLManager, error) |
Obtient le gestionnaire de liste de contrôle d'accès utilisé pour toutes les opérations liées à une liste de contrôle d'accès. Identité : Identité par défaut de l'opération associée. Si elle est nulle, la fonction utilise l'identité de l'appelant. |
NewResourceManager(identity *x509.Certificate, stub shim.ChaincodeStubInterface) (*ResourceManager, error) |
Obtient le gestionnaire de ressources utilisé pour toutes les opérations liées aux ressources. Identité : Identité par défaut de l'opération associée. Si elle est nulle, la fonction utilise l'identité de l'appelant. |
Fonctions d'ACL
ACL
:type ACL struct {
Name string
Description string
Accesses []string // CREATE, READ, UPDATE, and DELETE, or whatever the end-user defined
Patterns []string // identities
Allowed bool // true means allows access.
BindACLs []string // The list of ACL , control who can call the APIs of this struct
}
- Accès : La chaîne Accès est une liste de noms d'accès arbitraires séparés par des virgules et est entièrement à la disposition de l'application, à l'exception de quatre : CREATE, READ, UPDATE et DELETE. Ces valeurs d'accès sont utilisées pour mettre à jour le contrôle d'accès détaillé. Les applications peuvent utiliser leurs propres chaînes d'accès telles que
"register"
,"invoke"
ou"query"
, ou même des éléments tels que l'accès aux noms de champ tels que"owner"
,"quantity"
, etc. - Autorisé : Permet de déterminer si les identités qui correspondent à un modèle sont autorisées à accéder (vrai) ou à accéder (faux). Vous pouvez avoir une liste de contrôle d'accès qui indique que Bob a accès à "
CREATE
", et une autre qui indique le groupe Oracle (dont Bob est membre) est interdite à"CREATE"
. Le fait que Bob ait accès ou non dépend de l'ordre des listes de contrôle d'accès associées à l'entité en question. - BindACLs : Le paramètre BindACLs forme la liste de contrôle d'accès initiale.
Fonctions ACL :
Fonction | Description |
---|---|
Create(acl ACL, identity *x509.Certificate) (error) |
Crée une liste de contrôle d'accès. Les listes de contrôle d'accès nommées en double ne sont pas autorisées. Pour créer une liste de contrôle d'accès, l'identité doit avoir l'accès CREATE à la ressource d'amorçage nommée ". listes de contrôle d'accès; Si l'identité est nulle, l'identité par défaut spécifiée dans |
Get(aclName string, identity *x509.Certificate) (ACL, error) |
Obtient une liste de contrôle d'accès nommée. L'identité doit avoir l'accès READ à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
Delete(aclName string, identity *x509.Certificate) (error) |
Supprime une liste de contrôle d'accès spécifiée. L'identité doit avoir un accès DELETE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
Update(acl ACL, identity *x509.Certificate) (error) |
Met à jour une liste de contrôle d'accès. L'identité doit avoir un accès UPDATE à la ressource nommée et la liste de contrôle d'accès nommée doit exister. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddPattern(aclName string, pattern string, identity *x509.Certificate) (error) |
Ajoute un nouveau modèle d'identité à la liste de contrôle d'accès nommée. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
RemovePattern(aclName string, pattern string, identity *X509Certificate) (error) |
Supprime le modèle d'identité de la liste de contrôle d'accès. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddAccess(aclname string, access string, identity *X509Certificate) (error) |
Ajoute un nouvel accès à la liste de contrôle d'accès nommée. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
RemoveAccess(aclName string, access string, identity *X509Certificate) (error) |
Supprime l'accès de la liste de contrôle d'accès. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
UpdateDescription(aclName string, newDescription string, identity *X509Certificate) (error) |
Met à jour la description. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddBeforeACL(aclName string, beforeName string, newBindACL string, identity *X509Certificate) (error) |
Ajoute une LCA de liaison avant la LCA nommée existante. Si la liste de contrôle d'accès nommée est vide ou introuvable, elle est ajoutée au début de la liste de contrôle d'accès de liaison. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddAfterACL(aclName string, afterName string, newBindACL string, identity *X509Certificate) (error) |
Ajoute une LCA de liaison après la LCA nommée existante. Si la liste de contrôle d'accès nommée est vide ou introuvable, elle est ajoutée à la fin de la liste de contrôle d'accès de liaison. L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
RemoveBindACL(aclName string, removeName string, identity *X509Certificate) (error) |
Supprime la liste de contrôle d'accès L'identité doit avoir un accès UPDATE à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
GetAll(identity *x509.Certificate) ([]ACL, error) |
Obtenir toutes les listes de contrôle d'accès. L'identité doit avoir l'accès READ à la liste de contrôle d'accès nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
Fonctions de groupe
Group
:type Group struct {
Name string
Description string
Members []string // identity patterns, except GRP.
BindACLs []string // The list of ACLs, controls who can access this group.
}
Définition des fonctions GroupManager
:
Fonction | Description |
---|---|
Create(group Group, identity *x509.Certificate) (error) |
Crée un groupe. L'identité doit avoir l'accès CREATE au groupe d'amorçage |
Get(groupName string, identity *x509.Certificate) (Group, error) |
Obtient un groupe spécifié. L'identité doit avoir un accès en lecture à ce groupe. Si l'identité est nulle, l'identité par défaut spécifiée dans |
Delete(groupName string, identity *x509.Certificate) (error) |
Supprime un groupe spécifié. L'identité doit avoir un accès DELETE à ce groupe. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddMembers(groupName string, member []string, identity *x509.Certificate) (error) |
Ajoute un ou plusieurs membres au groupe. L'identité doit avoir un accès UPDATE à ce groupe. Si l'identité est nulle, l'identité par défaut spécifiée dans |
RemoveMembers(groupName string, member []string, identity *x509.Certificate) (error) |
Supprime un ou plusieurs membres d'un groupe. L'identité doit avoir un accès UPDATE à ce groupe. Si l'identité est nulle, l'identité par défaut spécifiée dans |
UpdateDescription(groupName string, newDes string, identity *x509.Certificate) (error) |
Met à jour la description. L'identité doit avoir un accès UPDATE à ce groupe. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddBeforeACL(groupName string, beforeName string, aclName string, identity *x509.Certificate) (error) |
Ajoute une liste de contrôle d'accès de liaison au groupe avant la liste de contrôle d'accès nommée existante. Si la liste de contrôle d'accès nommée est vide ou introuvable, la liste de contrôle d'accès est ajoutée au début de la liste de contrôle d'accès de liaison pour la ressource. L'identité doit avoir un accès UPDATE au groupe nommé. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddAfterACL(groupName string, afterName string, aclName string, identity *x509.Certificate) (error) |
Ajoute une liste de contrôle d'accès de liaison au groupe après la liste de contrôle d'accès nommée existante. Si la liste de contrôle d'accès nommée est vide ou introuvable, elle est ajoutée à la fin de la liste des listes de contrôle d'accès de liaison pour le groupe. L'identité doit avoir un accès UPDATE au groupe nommé. Si l'identité est nulle, l'identité par défaut spécifiée dans |
RemoveBindACL(groupName string, aclName string, identity *x509.Certificate) (error) |
Supprime la liste de contrôle d'accès nommée de la liste de contrôle d'accès de liaison du groupe nommé. L'identité doit avoir un accès UPDATE au groupe nommé. Si l'identité est nulle, l'identité par défaut spécifiée dans |
GetAll(identity *x509.Certificate) ([]Group, error) |
Obtient tous les groupes. L'identité doit avoir l'accès READ à ces groupes. Si l'identité est nulle, l'identité par défaut spécifiée dans |
Fonctions de ressource
Resource
:type Resource struct {
Name string
Description string
BindACLs []string // The name list of ACL, controls who can access this resource
}
Fonctions de ressource :
Fuction | Description |
---|---|
Create(resource Resource, identity *x509.Certificate) (error) |
Crée une ressource. Les ressources nommées en double ne sont pas autorisées. L'identité doit avoir l'accès CREATE à la ressource d'amorçage |
Get(resName string, identity *x509.Certificate) (Resource, error) |
Obtient une ressource spécifiée. L'identité doit avoir l'accès READ à la ressource. Si l'identité est nulle, l'identité par défaut spécifiée dans |
Delete(resName string, identity *x509.Certificate) (error) |
Supprime une ressource nommée. L'identité doit avoir un accès DELETE à la ressource nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
UpdateDescription(resourceName string, newDes string, identity *x509.Certificate) (error) |
Met à jour la description. L'identité doit avoir un accès UPDATE à cette ressource. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddBeforeACL(resourceName string, beforeName string, aclName string, identity *x509.Certificate) (error) |
Ajoute une LCA de liaison à la ressource avant la LCA nommée existante. Si la liste de contrôle d'accès nommée est vide ou introuvable, elle est ajoutée au début de la liste de contrôle d'accès de liaison pour la ressource. L'identité doit avoir un accès UPDATE à la ressource nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
AddAfterACL(resourceName string, afterName string, aclName string, identity *x509.Certificate) (error) |
Ajoute une liste de contrôle d'accès de liaison à la ressource après la liste de contrôle d'accès nommée existante. Si la liste de contrôle d'accès nommée est vide ou introuvable, elle est ajoutée à la fin de la liste de contrôle d'accès de liaison pour la ressource. L'identité doit avoir un accès UPDATE à la ressource nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
RemoveBindACL(resourceName string, aclName string, identity *x509.Certificate) (error) |
Supprime la liste de contrôle d'accès nommée de la liste de contrôle d'accès de liaison de la ressource nommée. L'identité doit avoir un accès UPDATE à la ressource nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
CheckAccess(resName string, access string, identity *x509.Certificate) (bool, error) |
Vérifie si l'utilisateur courant dispose de l'accès spécifié à la ressource nommée. Si l'identité est nulle, l'identité par défaut spécifiée dans |
GetAll(identity *x509.Certificate) ([]Resource, error) |
Obtient toutes les ressources. L'identité doit avoir accès en lecture à ces ressources. Si l'identité est nulle, l'identité par défaut spécifiée dans |