Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      Gestion des Accès

      Cette section présente des méthodes sur un objet Connection pour gérer l'accès à l'instance et aux graphsets qu'elle contient, y compris les privilèges, stratégies et utilisateurs.

      Chaque exemple se concentre uniquement sur l'utilisation de la méthode. Pour un exemple de code complet, veuillez-vous référer à l'exemple complet.

      Privilège

      showPrivilege()

      Récupère tous les privilèges système et privilèges des graphs, qui sont en réalité des noms de commandes UQL classés en fonction de leur portée d'opération.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Privilege : Tous les privilèges système et privilèges des graphs.

      // Récupère tous les privilèges système et privilèges des graphs
      
      Privilege privilege = client.showPrivilege();
      System.out.println("Privilèges système: " + privilege.getSystemPrivileges());
      System.out.println("Privilèges des graphs: " + privilege.getGraphPrivileges());
      

      Privilèges système: [TRUNCATE, COMPACT, CREATE_GRAPH, SHOW_GRAPH, DROP_GRAPH, ALTER_GRAPH, MOUNT_GRAPH, UNMOUNT_GRAPH, TOP, KILL, STAT, SHOW_POLICY, CREATE_POLICY, DROP_POLICY, ALTER_POLICY, SHOW_USER, CREATE_USER, DROP_USER, ALTER_USER, GRANT, REVOKE, SHOW_PRIVILEGE]
      Privilèges des graphs: [TEMPLATE, KHOP, AB, SPREAD, AUTONET, FIND, FIND_NODE, FIND_EDGE, INSERT, EXPORT, UPSERT, UPDATE, DELETE, DELETE_NODE, DELETE_EDGE, CREATE_SCHEMA, DROP_SCHEMA, ALTER_SCHEMA, SHOW_SCHEMA, CREATE_TRIGGER, DROP_TRIGGER, SHOW_TRIGGER, CREATE_BACKUP, RESTORE_BACKUP, SHOW_BACKUP, CREATE_PROPERTY, DROP_PROPERTY, ALTER_PROPERTY, SHOW_PROPERTY, CREATE_FULLTEXT, DROP_FULLTEXT, SHOW_FULLTEXT, CREATE_INDEX, DROP_INDEX, SHOW_INDEX, LTE, UFE, CLEAR_TASK, STOP_TASK, PAUSE_TASK, RESUME_TASK, SHOW_TASK, ALGO, SHOW_ALGO]
      

      Stratégie

      showPolicy()

      Récupère toutes les stratégies de l'instance. Une stratégie inclut les privilèges système, privilèges des graphs, privilèges des properties et d'autres stratégies.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • List<Policy> : La liste de toutes les stratégies de l'instance.

      // Récupère toutes les stratégies et imprime leurs informations
      
      List<Policy> policyList = client.showPolicy();
      for (Policy policy : policyList) {
          System.out.println("Stratégie '" + policy.getName() + "' inclut:");
          System.out.println("- Privilèges système : " + policy.getSystemPrivileges());
          System.out.println("- Privilèges des graphs : " + policy.getGraphPrivileges());
          System.out.println("- Privilèges des properties : " + policy.getPropertyPrivileges());
          System.out.println("- Stratégies : " + policy.getPolicies());
      }
      

      Stratégie 'manager' inclut:
      - Privilèges système : [DROP_POLICY, COMPACT]
      - Privilèges des graphs : {*=[CREATE_INDEX, DROP_TRIGGER, CREATE_FULLTEXT]}
      - Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[], write=[], deny=[]), edge=PropertyPrivilegeElement(read=[], write=[], deny=[]))
      - Stratégies : [operator]
      Stratégie 'operator' inclut:
      - Privilèges système : [MOUNT_GRAPH, TRUNCATE, SHOW_GRAPH]
      - Privilèges des graphs : {miniCircle=[UPDATE, INSERT, TEMPLATE, UPSERT, AUTONET]}
      - Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[], write=[PropertyPrivilegeValue(graphName=miniCircle, schemaName=account, propertyName=*)], deny=[]), edge=PropertyPrivilegeElement(read=[], write=[], deny=[]))
      - Stratégies : []
      

      getPolicy()

      Récupère une stratégie de l'instance par son nom.

      Paramètres :

      • String : Nom de la stratégie.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Policy : La stratégie récupérée.

      // Récupère une stratégie 'operator' et imprime ses informations
      
      Policy policy = client.getPolicy("operator");
      System.out.println("Stratégie '" + policy.getName() + "' inclut:");
      System.out.println("- Privilèges système : " + policy.getSystemPrivileges());
      System.out.println("- Privilèges des graphs : " + policy.getGraphPrivileges());
      System.out.println("- Privilèges des properties : " + policy.getPropertyPrivileges());
      System.out.println("- Stratégies : " + policy.getPolicies());
      

      Stratégie 'operator' inclut:
      - Privilèges système : [MOUNT_GRAPH, TRUNCATE, SHOW_GRAPH]
      - Privilèges des graphs : {miniCircle=[UPDATE, INSERT, TEMPLATE, UPSERT, AUTONET]}
      - Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[], write=[PropertyPrivilegeValue(graphName=miniCircle, schemaName=account, propertyName=*)], deny=[]), edge=PropertyPrivilegeElement(read=[], write=[], deny=[]))
      - Stratégies : []
      

      createPolicy()

      Crée une stratégie dans l'instance.

      Paramètres :

      • Policy : La stratégie à créer ; le champ name doit être défini, systemPrivileges, graphPrivileges, propertyPrivilege et policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Crée une nouvelle stratégie 'sales' et la récupère ensuite
      
      Policy policy = new Policy();
      policy.setName("sales");
      
      // Privilèges système
      policy.setSystemPrivileges(Lists.newArrayList("SHOW_GRAPH","TRUNCATE"));
      
      // Privilèges des graphs
      Map<String,List<String>> graphPrivileges = new HashMap<>();
      graphPrivileges.put("miniCircle", Lists.newArrayList("FIND","SPREAD","AUTONET","AB","TEMPLATE","KHOP"));
      graphPrivileges.put("lcc", Lists.newArrayList("UPDATE","INSERT","DELETE","UPSERT"));
      policy.setGraphPrivileges(graphPrivileges);
      
      // Privilèges des properties
      PropertyPrivilege propertyPrivilege = new PropertyPrivilege();
      
      PropertyPrivilegeElement node = new PropertyPrivilegeElement();
      PropertyPrivilegeValue nodeValue1 = new PropertyPrivilegeValue();
      nodeValue1.setGraphName("miniCircle");
      nodeValue1.setSchemaName("account");
      PropertyPrivilegeValue nodeValue2 = new PropertyPrivilegeValue();
      nodeValue2.setGraphName("miniCircle");
      nodeValue2.setSchemaName("movie");
      nodeValue2.setPropertyName("name");
      PropertyPrivilegeValue nodeValue3 = new PropertyPrivilegeValue();
      nodeValue3.setGraphName("lcc");
      nodeValue3.setSchemaName("*");
      nodeValue3.setPropertyName("*");
      node.setRead(Lists.newArrayList(nodeValue1,nodeValue2));
      node.setWrite(Lists.newArrayList(nodeValue3));
      propertyPrivilege.setNode(node);
      
      PropertyPrivilegeElement edge = new PropertyPrivilegeElement();
      PropertyPrivilegeValue edgeValue1 = new PropertyPrivilegeValue();
      edgeValue1.setGraphName("*");
      PropertyPrivilegeValue edgeValue2 = new PropertyPrivilegeValue();
      edgeValue2.setGraphName("miniCircle");
      edgeValue2.setSchemaName("*");
      edgeValue2.setPropertyName("*");
      edge.setRead(Lists.newArrayList(edgeValue1));
      edge.setWrite(Lists.newArrayList(edgeValue2));
      propertyPrivilege.setEdge(edge);
      
      policy.setPropertyPrivileges(propertyPrivilege);
      
      // Stratégies
      policy.setPolicies(Lists.newArrayList("manager", "operator"));
      
      Response response = client.createPolicy(policy);
      System.out.println(response.getStatus().getErrorCode());
      
      Thread.sleep(3000);
      
      Policy policy1 = client.getPolicy("sales");
      System.out.println("Stratégie '" + policy1.getName() + "' inclut:");
      System.out.println("- Privilèges système : " + policy1.getSystemPrivileges());
      System.out.println("- Privilèges des graphs : " + policy1.getGraphPrivileges());
      System.out.println("- Privilèges des properties : " + policy1.getPropertyPrivileges());
      System.out.println("- Stratégies : " + policy1.getPolicies());
      

      SUCCESS
      Stratégie 'sales' inclut:
      - Privilèges système : [SHOW_GRAPH, TRUNCATE]
      - Privilèges des graphs : {miniCircle=[FIND, SPREAD, AUTONET, AB, TEMPLATE, KHOP], lcc=[UPDATE, INSERT, DELETE, UPSERT]}
      - Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[PropertyPrivilegeValue(graphName=miniCircle, schemaName=account, propertyName=*), PropertyPrivilegeValue(graphName=miniCircle, schemaName=movie, propertyName=name)], write=[PropertyPrivilegeValue(graphName=lcc, schemaName=*, propertyName=*)], deny=[]), edge=PropertyPrivilegeElement(read=[PropertyPrivilegeValue(graphName=*, schemaName=*, propertyName=*)], write=[PropertyPrivilegeValue(graphName=miniCircle, schemaName=*, propertyName=*)], deny=[]))
      - Stratégies : [manager, operator]
      

      alterPolicy()

      Modifie les privilèges système, privilèges des graphs, privilèges des properties et stratégies d'une stratégie existante dans l'instance par son nom.

      Paramètres :

      • Policy : La stratégie à modifier ; le champ name doit être défini, systemPrivileges, graphPrivileges, propertyPrivilege et policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Modifie la stratégie 'sales' et la récupère ensuite
      
      Policy policy = new Policy();
      policy.setName("sales");
      
      // Privilèges système
      policy.setSystemPrivileges(Lists.newArrayList("SHOW_GRAPH"));
      
      // Privilèges des graphs
      Map<String,List<String>> graphPrivileges = new HashMap<>();
      graphPrivileges.put("miniCircle", Lists.newArrayList("FIND"));
      graphPrivileges.put("lcc", Lists.newArrayList("UPDATE"));
      policy.setGraphPrivileges(graphPrivileges);
      
      // Stratégies
      policy.setPolicies(Lists.newArrayList("operator"));
      
      Response response = client.alterPolicy(policy);
      System.out.println(response.getStatus().getErrorCode());
      
      Thread.sleep(3000);
      
      Policy policy1 = client.getPolicy("sales");
      System.out.println("Stratégie '" + policy1.getName() + "' inclut:");
      System.out.println("- Privilèges système : " + policy1.getSystemPrivileges());
      System.out.println("- Privilèges des graphs : " + policy1.getGraphPrivileges());
      System.out.println("- Privilèges des properties : " + policy1.getPropertyPrivileges());
      System.out.println("- Stratégies : " + policy1.getPolicies());
      

      SUCCESS
      Stratégie 'sales' inclut:
      - Privilèges système : [SHOW_GRAPH]
      - Privilèges des graphs : {miniCircle=[FIND], lcc=[UPDATE]}
      - Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[PropertyPrivilegeValue(graphName=miniCircle, schemaName=account, propertyName=*), PropertyPrivilegeValue(graphName=miniCircle, schemaName=movie, propertyName=name)], write=[PropertyPrivilegeValue(graphName=lcc, schemaName=*, propertyName=*)], deny=[]), edge=PropertyPrivilegeElement(read=[PropertyPrivilegeValue(graphName=*, schemaName=*, propertyName=*)], write=[PropertyPrivilegeValue(graphName=miniCircle, schemaName=*, propertyName=*)], deny=[]))
      - Stratégies : [operator]
      

      dropPolicy()

      Supprime une stratégie de l'instance par son nom.

      Paramètres :

      • String : Nom de la stratégie.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Supprime la stratégie 'sales' et imprime le code d'erreur
      
      Response response = client.dropPolicy("sales");
      System.out.println(response.getStatus().getErrorCode());
      

      SUCCESS
      

      Utilisateur

      showUser()

      Récupère tous les utilisateurs de la base de données de l'instance.

      Paramètres :

      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • List<User> : La liste de tous les utilisateurs de l'instance.

      // Récupère tous les utilisateurs et imprime les informations du premier utilisateur retourné
      
      List<User> userList = client.showUser();
      System.out.println("Nom d'utilisateur : " + userList.get(0).getUsername());
      System.out.println("Créé le : " + userList.get(0).getCreate());
      System.out.println("Privilèges système : " + userList.get(0).getSystemPrivileges());
      System.out.println("Privilèges des graphs : " + userList.get(0).getGraphPrivileges());
      System.out.println("Privilèges des properties : " + userList.get(0).getPropertyPrivileges());
      System.out.println("Stratégies : " + userList.get(0).getPolicies());
      

      Nom d'utilisateur : test006
      Créé le : Fri Sep 01 14:37:56 CST 2023
      Privilèges système : [SHOW_PRIVILEGE, ALTER_USER, DROP_USER, CREATE_USER, SHOW_GRAPH, ALTER_GRAPH, DROP_GRAPH, COMPACT, MOUNT_GRAPH, TOP, CREATE_GRAPH, STAT, UNMOUNT_GRAPH, SHOW_POLICY, TRUNCATE, KILL, ALTER_POLICY, CREATE_POLICY, DROP_POLICY, SHOW_USER]
      Privilèges des graphs : {miniCircle831=[SHOW_ALGO, DROP_SCHEMA, ALTER_PROPERTY, ALGO, CREATE_PROPERTY, SHOW_SCHEMA, FIND, DROP_PROPERTY, RESUME_TASK, UPDATE, EXPORT, KHOP, SHOW_INDEX, TEMPLATE, CREATE_SCHEMA, SHOW_TASK, ALTER_SCHEMA, AUTONET, SHOW_TRIGGER, LTE, CREATE_TRIGGER, UFE, DROP_TRIGGER, UPSERT, SHOW_PROPERTY, DELETE, CREATE_FULLTEXT, SPREAD, DROP_FULLTEXT, INSERT, CREATE_INDEX, DROP_INDEX, CLEAR_TASK, SHOW_FULLTEXT, STOP_TASK, AB, PAUSE_TASK]}
      Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[], write=[], deny=[PropertyPrivilegeValue(graphName=*, schemaName=*, propertyName=*)]), edge=PropertyPrivilegeElement(read=[], write=[], deny=[PropertyPrivilegeValue(graphName=*, schemaName=*, propertyName=*)]))
      Stratégies : [operator]
      

      getUser()

      Récupère un utilisateur de base de données de l'instance par son nom d'utilisateur.

      Paramètres :

      • String : Nom d'utilisateur.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • User : L'utilisateur récupéré.

      // Récupère l'utilisateur 'test005' et imprime ses informations
      
      User user = client.getUser("test005");
      System.out.println("Nom d'utilisateur : " + user.getUsername());
      System.out.println("Créé le : " + user.getCreate());
      System.out.println("Privilèges système : " + user.getSystemPrivileges());
      System.out.println("Privilèges des graphs : " + user.getGraphPrivileges());
      System.out.println("Privilèges des properties : " + user.getPropertyPrivileges());
      System.out.println("Stratégies : " + user.getPolicies());
      

      Nom d'utilisateur : test005
      Créé le : Thu Aug 31 17:15:59 CST 2023
      Privilèges système : [SHOW_PRIVILEGE, ALTER_USER, DROP_USER, CREATE_USER, SHOW_GRAPH, ALTER_GRAPH, DROP_GRAPH, COMPACT, MOUNT_GRAPH, TOP, CREATE_GRAPH, STAT, UNMOUNT_GRAPH, SHOW_POLICY, TRUNCATE, KILL, ALTER_POLICY, CREATE_POLICY, DROP_POLICY, SHOW_USER]
      Privilèges des graphs : {miniCircle831=[SHOW_ALGO, DROP_SCHEMA, ALTER_PROPERTY, ALGO, CREATE_PROPERTY, SHOW_SCHEMA, FIND, DROP_PROPERTY, RESUME_TASK, UPDATE, EXPORT, KHOP, SHOW_INDEX, TEMPLATE, CREATE_SCHEMA, SHOW_TASK, ALTER_SCHEMA, AUTONET, SHOW_TRIGGER, LTE, CREATE_TRIGGER, UFE, DROP_TRIGGER, UPSERT, SHOW_PROPERTY, DELETE, CREATE_FULLTEXT, SPREAD, DROP_FULLTEXT, INSERT, CREATE_INDEX, DROP_INDEX, CLEAR_TASK, SHOW_FULLTEXT, STOP_TASK, AB, PAUSE_TASK]}
      Privilèges des properties : PropertyPrivilege(node=PropertyPrivilegeElement(read=[], write=[], deny=[]), edge=PropertyPrivilegeElement(read=[], write=[], deny=[]))
      Stratégies : [operator]
      

      createUser()

      Crée un utilisateur de base de données dans l'instance.

      Paramètres :

      • CreateUser : L'utilisateur à créer ; les champs username et password doivent être définis, systemPrivileges, graphPrivileges, propertyPrivilege et policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Crée un nouvel utilisateur 'javaUser' et imprime le code d'erreur
      
      CreateUser createUser = new CreateUser();
      createUser.setUsername("javaUser");
      createUser.setPassword("@#javaUser");
      // Privilèges système
      createUser.setSystemPrivileges(Lists.newArrayList(SystemPrivilege.SHOW_GRAPH, SystemPrivilege.TRUNCATE));
      // Privilèges des graphs
      Map<String,List<GraphPrivilege>> graphPrivileges = new HashMap<>();
      graphPrivileges.put("miniCircle", Lists.newArrayList(GraphPrivilege.FIND, GraphPrivilege.SPREAD, GraphPrivilege.AUTONET, GraphPrivilege.AB, GraphPrivilege.TEMPLATE, GraphPrivilege.KHOP));
      graphPrivileges.put("lcc", Lists.newArrayList(GraphPrivilege.UPDATE, GraphPrivilege.INSERT, GraphPrivilege.DELETE, GraphPrivilege.UPSERT));
      createUser.setGraphPrivileges(graphPrivileges);
      // Privilèges des properties
      PropertyPrivilege propertyPrivilege = new PropertyPrivilege();
      PropertyPrivilegeElement node = new PropertyPrivilegeElement();
      PropertyPrivilegeValue nodeValue1 = new PropertyPrivilegeValue();
      nodeValue1.setGraphName("miniCircle");
      nodeValue1.setSchemaName("account");
      PropertyPrivilegeValue nodeValue2 = new PropertyPrivilegeValue();
      nodeValue2.setGraphName("miniCircle");
      nodeValue2.setSchemaName("movie");
      nodeValue2.setPropertyName("name");
      PropertyPrivilegeValue nodeValue3 = new PropertyPrivilegeValue();
      nodeValue3.setGraphName("lcc");
      nodeValue3.setSchemaName("*");
      nodeValue3.setPropertyName("*");
      node.setRead(Lists.newArrayList(nodeValue1,nodeValue2));
      node.setWrite(Lists.newArrayList(nodeValue3));
      propertyPrivilege.setNode(node);
      PropertyPrivilegeElement edge = new PropertyPrivilegeElement();
      PropertyPrivilegeValue edgeValue1 = new PropertyPrivilegeValue();
      edgeValue1.setGraphName("*");
      PropertyPrivilegeValue edgeValue2 = new PropertyPrivilegeValue();
      edgeValue2.setGraphName("miniCircle");
      edgeValue2.setSchemaName("*");
      edgeValue2.setPropertyName("*");
      edge.setRead(Lists.newArrayList(edgeValue1));
      edge.setWrite(Lists.newArrayList(edgeValue2));
      propertyPrivilege.setEdge(edge);
      createUser.setPropertyPrivileges(propertyPrivilege);
      // Stratégies
      createUser.setPolicies(Lists.newArrayList("manager"));
      
      Response response = client.createUser(createUser);
      System.out.println(response.getStatus().getErrorCode());
      

      SUCCESS
      

      alterUser()

      Modifie le mot de passe, les privilèges système, les privilèges des graphs, les privilèges des properties et stratégies d'un utilisateur de base de données existant dans l'instance par son nom d'utilisateur.

      Paramètres :

      • AlterUser : L'utilisateur à modifier ; les champs username et password doivent être définis, systemPrivileges, graphPrivileges, propertyPrivilege et policies sont optionnels.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Modifie l'utilisateur 'javaUser' et imprime le code d'erreur
      
      AlterUser alterUser = new AlterUser();
      alterUser.setUsername("javaUser");
      alterUser.setPassword("!!@#javaUser");
      // Privilèges système
      alterUser.setSystemPrivileges(Lists.newArrayList(SystemPrivilege.SHOW_GRAPH));
      // Privilèges des graphs
      Map<String,List<GraphPrivilege>> graphPrivileges = new HashMap<>();
      graphPrivileges.put("miniCircle", Lists.newArrayList(GraphPrivilege.FIND));
      graphPrivileges.put("lcc", Lists.newArrayList(GraphPrivilege.UPDATE));
      alterUser.setGraphPrivileges(graphPrivileges);
      // Stratégies
      alterUser.setPolicies(Lists.newArrayList("operator"));
      
      Response response = client.alterUser(alterUser);
      System.out.println(response.getStatus().getErrorCode());
      

      SUCCESS
      

      dropUser()

      Supprime un utilisateur de base de données de l'instance par son nom d'utilisateur.

      Paramètres :

      • String : Nom d'utilisateur.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Supprime l'utilisateur 'javaUser' et imprime le code d'erreur
      
      Response response = client.dropUser("javaUser");
      System.out.println(response.getStatus().getErrorCode());
      

      SUCCESS
      

      grantPolicy()

      Accorde de nouveaux privilèges système, privilèges des graphs, privilèges des properties et stratégies à un utilisateur de base de données dans l'instance.

      Paramètres :

      • String : Nom d'utilisateur.
      • Map<String,List<GraphPrivilege>> : Privilèges des graphs à accorder ; définissez à null pour ignorer l'octroi de privilèges des graphs.
      • List<SystemPrivilege> : Privilèges système à accorder ; définissez à null pour ignorer l'octroi de privilèges système.
      • PropertyPrivilege : Privilèges des properties à accorder ; définissez à null pour ignorer l'octroi de privilèges des properties.
      • List<String> : Stratégies à accorder ; définissez à null pour ignorer l'octroi de stratégies.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Privilèges des graphs
      Map<String,List<GraphPrivilege>> graphPrivileges = new HashMap<>();
      graphPrivileges.put("miniCircle", Lists.newArrayList(GraphPrivilege.FIND,GraphPrivilege.SPREAD,GraphPrivilege.AUTONET,GraphPrivilege.AB,GraphPrivilege.TEMPLATE,GraphPrivilege.KHOP));
      graphPrivileges.put("default", Lists.newArrayList(GraphPrivilege.UPDATE,GraphPrivilege.INSERT,GraphPrivilege.DELETE,GraphPrivilege.UPSERT));
      
      // Privilèges système
      List<SystemPrivilege> systemPrivileges = Lists.newArrayList(SystemPrivilege.SHOW_GRAPH,SystemPrivilege.TRUNCATE);
      
      // Privilèges des properties
      PropertyPrivilege propertyPrivilege = new PropertyPrivilege();
      PropertyPrivilegeElement node = new PropertyPrivilegeElement();
      PropertyPrivilegeValue nodeValue1 = new PropertyPrivilegeValue();
      nodeValue1.setGraphName("miniCircle");
      nodeValue1.setSchemaName("account");
      PropertyPrivilegeValue nodeValue2 = new PropertyPrivilegeValue();
      nodeValue2.setGraphName("miniCircle");
      nodeValue2.setSchemaName("movie");
      nodeValue2.setPropertyName("name");
      PropertyPrivilegeValue nodeValue3 = new PropertyPrivilegeValue();
      nodeValue3.setGraphName("default");
      nodeValue3.setSchemaName("*");
      nodeValue3.setPropertyName("*");
      node.setRead(Lists.newArrayList(nodeValue1, nodeValue2));
      node.setWrite(Lists.newArrayList(nodeValue3));
      propertyPrivilege.setNode(node);
      PropertyPrivilegeElement edge = new PropertyPrivilegeElement();
      PropertyPrivilegeValue edgeValue1 = new PropertyPrivilegeValue();
      edgeValue1.setGraphName("*");
      PropertyPrivilegeValue edgeValue2 = new PropertyPrivilegeValue();
      edgeValue2.setGraphName("miniCircle");
      edgeValue2.setSchemaName("*");
      edgeValue2.setPropertyName("*");
      edge.setRead(Lists.newArrayList(edgeValue1));
      edge.setWrite(Lists.newArrayList(edgeValue2));
      propertyPrivilege.setEdge(edge);
      
      // Stratégies
      List<String> policyList = Arrays.asList("operator", "manager");
      
      Response response1 = client.grantPolicy("johndoe", graphPrivileges,null,null,null);
      System.out.println(response1.getStatus().getErrorCode());
      
      Response response2 = client.grantPolicy("Tester", null,systemPrivileges,propertyPrivilege,policyList);
      System.out.println(response2.getStatus().getErrorCode());
      

      SUCCESS
      SUCCESS
      

      revokePolicy()

      Révoque les privilèges système, privilèges des graphs, privilèges des properties et stratégies d'un utilisateur de base de données dans l'instance.

      Paramètres :

      • String : Nom d'utilisateur.
      • Map<String,List<GraphPrivilege>> : Privilèges des graphs à révoquer ; définissez à null pour ignorer la révocation de privilèges des graphs.
      • List<SystemPrivilege> : Privilèges système à révoquer ; définissez à null pour ignorer la révocation de privilèges système.
      • PropertyPrivilege : Privilèges des properties à révoquer ; définissez à null pour ignorer la révocation de privilèges des properties.
      • List<String> : Stratégies à révoquer ; définissez à null pour ignorer la révocation de stratégies.
      • RequestConfig (Optionnel) : Paramètres de configuration pour la requête.

      Retourne :

      • Response : Résultat de la requête.

      // Privilèges des graphs
      Map<String,List<GraphPrivilege>> graphPrivileges = new HashMap<>();
      graphPrivileges.put("miniCircle", Lists.newArrayList(GraphPrivilege.FIND,GraphPrivilege.SPREAD,GraphPrivilege.AUTONET,GraphPrivilege.AB,GraphPrivilege.TEMPLATE,GraphPrivilege.KHOP));
      graphPrivileges.put("default", Lists.newArrayList(GraphPrivilege.UPDATE,GraphPrivilege.INSERT,GraphPrivilege.DELETE,GraphPrivilege.UPSERT));
      
      // Privilèges système
      List<SystemPrivilege> systemPrivileges = Lists.newArrayList(SystemPrivilege.SHOW_GRAPH,SystemPrivilege.TRUNCATE);
      
      // Privilèges des properties
      PropertyPrivilege propertyPrivilege = new PropertyPrivilege();
      PropertyPrivilegeElement node = new PropertyPrivilegeElement();
      PropertyPrivilegeValue nodeValue1 = new PropertyPrivilegeValue();
      nodeValue1.setGraphName("miniCircle");
      nodeValue1.setSchemaName("account");
      PropertyPrivilegeValue nodeValue2 = new PropertyPrivilegeValue();
      nodeValue2.setGraphName("miniCircle");
      nodeValue2.setSchemaName("movie");
      nodeValue2.setPropertyName("name");
      PropertyPrivilegeValue nodeValue3 = new PropertyPrivilegeValue();
      nodeValue3.setGraphName("default");
      nodeValue3.setSchemaName("*");
      nodeValue3.setPropertyName("*");
      node.setRead(Lists.newArrayList(nodeValue1, nodeValue2));
      node.setWrite(Lists.newArrayList(nodeValue3));
      propertyPrivilege.setNode(node);
      PropertyPrivilegeElement edge = new PropertyPrivilegeElement();
      PropertyPrivilegeValue edgeValue1 = new PropertyPrivilegeValue();
      edgeValue1.setGraphName("*");
      PropertyPrivilegeValue edgeValue2 = new PropertyPrivilegeValue();
      edgeValue2.setGraphName("miniCircle");
      edgeValue2.setSchemaName("*");
      edgeValue2.setPropertyName("*");
      edge.setRead(Lists.newArrayList(edgeValue1));
      edge.setWrite(Lists.newArrayList(edgeValue2));
      propertyPrivilege.setEdge(edge);
      
      // Stratégies
      List<String> policyList = Arrays.asList("operator", "manager");
      
      Response response1 = client.revokePolicy("johndoe", graphPrivileges,null,null,null);
      System.out.println(response1.getStatus().getErrorCode());
      
      Response response2 = client.revokePolicy("Tester", null,systemPrivileges,propertyPrivilege,policyList);
      System.out.println(response2.getStatus().getErrorCode());
      

      SUCCESS
      SUCCESS
      

      Exemple Complet

      package com.ultipa.www.sdk.api;
      
      import com.ultipa.sdk.connect.Connection;
      import com.ultipa.sdk.connect.conf.RequestConfig;
      import com.ultipa.sdk.connect.conf.UltipaConfiguration;
      import com.ultipa.sdk.connect.driver.UltipaClientDriver;
      import com.ultipa.sdk.operate.entity.*;
      import java.util.*;
      
      public class Main {
          public static void main(String[] args) {
              // Connection configurations
              UltipaConfiguration myConfig = UltipaConfiguration.config()
                  // URI example: .hosts("mqj4zouys.us-east-1.cloud.ultipa.com:60010")
                  .hosts("192.168.1.85:60611,192.168.1.87:60611,192.168.1.88:60611")
                  .username("<username>")
                  .password("<password>");
      
              UltipaClientDriver driver = null;
              try {
                  // Establishes connection to the database
                  driver = new UltipaClientDriver(myConfig);
                  Connection client = driver.getConnection();
      
                  Thread.sleep(3000);
                
                  // Request configurations
                  RequestConfig requestConfig = new RequestConfig();
                  requestConfig.setUseMaster(true);
      
                  // Retrieves all policies and prints their information
      
                  List<Policy> policyList = client.showPolicy(requestConfig);
                  for (Policy policy : policyList) {
                      System.out.println("Stratégie '" + policy.getName() + "' inclut:");
                      System.out.println("- Privilèges système : " + policy.getSystemPrivileges());
                      System.out.println("- Privilèges des graphs : " + policy.getGraphPrivileges());
                      System.out.println("- Privilèges des properties : " + policy.getPropertyPrivileges());
                      System.out.println("- Stratégies : " + policy.getPolicies());
                  }                      
              } catch (InterruptedException e) {
                  throw new RuntimeException(e);
              } finally {
                  if (driver != null) {
                      driver.close();
                  }
              }
          }
      }
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写