2017-01-25 2 views
1

J'ai des données sur les employés dans lesquelles il y a 3 rôles différents. Disons CEO, Gestionnaire et Développeur. CEO peut accéder à l'ensemble du graphique, les gestionnaires ne peuvent accéder aux données de certaines personnes (leur équipe) et les développeurs ne peuvent pas accéder aux données des employés.Autorisation (contrôle d'accès sous-graphique) dans Neo4j avec pilote python

Comment attribuer un accès sous-graphique aux rôles d'utilisateur et l'implémenter en utilisant Python? Il existe de bonnes solutions et des bibliothèques et documentations complètes, mais seulement en Java!

Répondre

1

À l'heure actuelle, il n'est pas possible d'écrire des procédures pour les rôles personnalisés pour implémenter le contrôle d'accès sous-graphique en utilisant Python. C'est seulement possible en Java. Une solution de contournement pourrait être de l'implémenter de manière inductive en utilisant phyton en ajoutant des propriétés aux nœuds et une relation stockant les niveaux de sécurité pour ces nœuds et relations. En vérifiant le niveau de sécurité d'un utilisateur, il peut être possible d'utiliser une visualisation phyton qui vérifie que les propriétés n'affichent que les nœuds et les relations qui sont en accord avec le niveau de sécurité de l'utilisateur.

1

L'édition entreprise de neo4j a intégré procedures for managing users and roles que vous accédez à l'aide de requêtes Cypher. Donc, vous avez juste besoin de savoir comment effectuer des requêtes Cypher en Python. Vous devez également être conscient que dans un cluster neo4j, user and role assignments are not propagated automatically.

Il existe un ensemble de native roles with specific access privileges intégré, mais vous pouvez également créer vos propres rôles personnalisés. Vous voudrez probablement créer des rôles personnalisés pour votre scénario.

Managing subgraph access control nécessite de modifier le fichier de configuration neo4j. Ce n'est pas quelque chose que vous pouvez faire par programme.

+0

Je connais la gestion des utilisateurs et des rôles et oui, je veux probablement créer des rôles personnalisés. Les nouveaux rôles personnalisés n'ont pas de droits mais dans la configuration de neo4j, je peux leur assigner des procédures qu'ils sont autorisés à appeler. Je pense que c'est ce que vous disiez. Maintenant, ma question est de savoir comment j'écris les procédures pour le contrôle d'accès au sous-graphe et si cela n'est possible qu'en java ou si c'est aussi possible en python. Nous vous remercions de votre aide. – user7400000