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, les stratégies et les 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 les privilèges de graph, qui sont en fait des noms de commandes UQL catégorisées en fonction de leur champ d'application.

      Paramètres :

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

      Renvoie :

      • Privilege: Tous les privilèges système et les privilèges de graph.

      # Récupère tous les privilèges système et les privilèges de graph
      
      privilege = Conn.showPrivilege()
      print("Privilèges système:", privilege.systemPrivileges)
      print("Privilèges de graph:", privilege.graphPrivileges)
      

      System privileges: ['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']
      Graph privileges: ['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 comprend des privilèges système, des privilèges de graph, des privilèges de propriété et d'autres stratégies.

      Paramètres :

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

      Renvoie :

      • List[Policy]: La liste de toutes les stratégies dans l'instance.

      # Récupère toutes les stratégies et imprime leurs informations
      
      policyList = Conn.showPolicy()
      for policy in policyList:
          print("Policy", policy.name, "include:")
          print("- Privilèges système:", policy.systemPrivileges)
          print("- Privilèges de graph:", policy.graphPrivileges)
          print("- Privilèges de propriété:", policy.propertyPrivileges)
          print("- Stratégies:", policy.policies)
      

      Policy operator include:
      - System privileges: ['MOUNT_GRAPH', 'TRUNCATE', 'SHOW_GRAPH']
      - Graph privileges: {'miniCircle': ['UPDATE', 'INSERT', 'TEMPLATE', 'UPSERT', 'AUTONET']}
      - Property privileges: {"node":{"read":[],"write":[["miniCircle","account","*"]],"deny":[]},"edge":{"read":[],"write":[],"deny":[]}}
      - Policies: []
      Policy manager include:
      - System privileges: ['DROP_POLICY', 'COMPACT']
      - Graph privileges: {'*': ['CREATE_INDEX', 'DROP_TRIGGER', 'CREATE_FULLTEXT']}
      - Property privileges: {"node":{"read":[],"write":[],"deny":[]},"edge":{"read":[],"write":[],"deny":[]}}
      - Policies: ['operator']
      

      getPolicy()

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

      Paramètres :

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

      Renvoie :

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

      # Récupère une stratégie 'operator' et imprime ses informations
      
      policy = Conn.getPolicy("operator")
      print("Policy", policy.name, "include:")
      print("- Privilèges système:", policy.systemPrivileges)
      print("- Privilèges de graph:", policy.graphPrivileges)
      print("- Privilèges de propriété:", policy.propertyPrivileges)
      print("- Stratégies:", policy.policies)
      

      Policy operator include:
      - System privileges: ['MOUNT_GRAPH', 'TRUNCATE', 'SHOW_GRAPH']
      - Graph privileges: {'miniCircle': ['UPDATE', 'INSERT', 'TEMPLATE', 'UPSERT', 'AUTONET']}
      - Property privileges: {"node":{"read":[],"write":[["miniCircle","account","*"]],"deny":[]},"edge":{"read":[],"write":[],"deny":[]}}
      - Policies: []
      

      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 facultatifs.
      • RequestConfig (Facultatif): Paramètres de configuration pour la requête.

      Renvoie :

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

      # Crée une nouvelle stratégie 'sales' et la récupère ensuite
      
      policy = Policy(
          name="sales",
          systemPrivileges=["SHOW_GRAPH","TRUNCATE"],
          graphPrivileges={
              "lcc": ["UPDATE","INSERT","DELETE","UPSERT"]
          },
          propertyPrivileges={
              "node": {
                  "read": [
                      ["miniCircle", "account", "*"],
                      ["miniCircle", "movie", "name"]
                  ],
                  "write": [
                      ["lcc", "*", "*"]
                  ]
              },
              "edge": {
                  "read": [
                      ["*", "*", "*"]
                  ],
                  "write": [
                      ["miniCircle", "*", "*"]
                  ]
              }
          },
          policies=['manager', "operator"]
      )
      
      response = Conn.createPolicy(policy)
      print(response.status.code)
      
      time.sleep(3)
      
      createdPolicy = Conn.getPolicy("sales")
      print("Policy", createdPolicy.name, "include:")
      print("- Privilèges système:", createdPolicy.systemPrivileges)
      print("- Privilèges de graph:", createdPolicy.graphPrivileges)
      print("- Privilèges de propriété:", createdPolicy.propertyPrivileges)
      print("- Stratégies:", createdPolicy.policies)
      

      0
      Policy sales include:
      - System privileges: ['SHOW_GRAPH', 'TRUNCATE']
      - Graph privileges: {'lcc': ['UPDATE', 'INSERT', 'DELETE', 'UPSERT']}
      - Property privileges: {"node":{"read":[["miniCircle","account","*"],["miniCircle","movie","name"]],"write":[["lcc","*","*"]],"deny":[]},"edge":{"read":[["*","*","*"]],"write":[["miniCircle","*","*"]],"deny":[]}}
      - Policies: ['manager', 'operator']
      

      alterPolicy()

      Modifie les privilèges système, les privilèges de graph, les privilèges de propriété et les 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 facultatifs.
      • RequestConfig (Facultatif): Paramètres de configuration pour la requête.

      Renvoie :

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

      # Modifie la stratégie 'sales' et la récupère ensuite
      
      policy = Policy(
          name="sales",
          systemPrivileges=["SHOW_GRAPH"],
          graphPrivileges={
              "miniCircle": ["FIND"],
              "lcc": ["UPDATE"]
          },
          policies=["operator"]
      )
      
      response = Conn.alterPolicy(policy)
      print(response.status.code)
      
      time.sleep(3)
      
      alteredPolicy = Conn.getPolicy("sales")
      print("Policy", alteredPolicy.name, "include:")
      print("- Privilèges système:", alteredPolicy.systemPrivileges)
      print("- Privilèges de graph:", alteredPolicy.graphPrivileges)
      print("- Privilèges de propriété:", alteredPolicy.propertyPrivileges)
      print("- Stratégies:", alteredPolicy.policies)
      

      0
      Policy sales include:
      - System privileges: ['SHOW_GRAPH']
      - Graph privileges: {'miniCircle': ['FIND'], 'lcc': ['UPDATE']}
      - Property privileges: {"node":{"read":[["miniCircle","account","*"],["miniCircle","movie","name"]],"write":[["lcc","*","*"]],"deny":[]},"edge":{"read":[["*","*","*"]],"write":[["miniCircle","*","*"]],"deny":[]}}
      - Policies: ['operator']
      

      dropPolicy()

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

      Paramètres :

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

      Renvoie :

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

      # Supprime la stratégie 'sales' et imprime le code d'erreur
      
      response = Conn.dropPolicy("sales")
      print(response.status.code)
      

      0
      

      Utilisateur

      showUser()

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

      Paramètres :

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

      Renvoie :

      • List[User]: La liste de tous les utilisateurs dans l'instance.

      # Récupère tous les utilisateurs et imprime les informations du premier retourné
      
      userList = Conn.showUser()
      print("Nom d'utilisateur:", userList[0].username)
      print("Créé le:", userList[0].create)
      print("Privilèges système:", userList[0].systemPrivileges)
      print("Privilèges de graph:", userList[0].graphPrivileges)
      print("Privilèges de propriété:", userList[0].propertyPrivileges)
      print("Stratégies:", userList[0].policies)
      

      Username: test006
      Created On: 1693550276
      System privileges: ['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']
      Graph privileges: {}
      Property privileges: {"node":{"read":[],"write":[],"deny":[["*","*","*"]]},"edge":{"read":[],"write":[],"deny":[["*","*","*"]]}}
      Policies: ['operator']
      

      getUser()

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

      Paramètres :

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

      Renvoie :

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

      # Récupère l'utilisateur 'test005' et imprime ses informations
      
      user = Conn.getUser("test005")
      print("Nom d'utilisateur:", user.username)
      print("Créé le:", user.create)
      print("Privilèges système:", user.systemPrivileges)
      print("Privilèges de graph:", user.graphPrivileges)
      print("Privilèges de propriété:", user.propertyPrivileges)
      print("Stratégies:", user.policies)
      

      Username: test005
      Created On: 1693473359
      System privileges: ['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']
      Graph privileges: {}
      Property privileges: {"node":{"read":[],"write":[],"deny":[]},"edge":{"read":[],"write":[],"deny":[]}}
      Policies: ['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 facultatifs.
      • RequestConfig (Facultatif): Paramètres de configuration pour la requête.

      Renvoie :

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

      # Crée un nouvel utilisateur 'pythonUser' et imprime le code d'erreur
      
      createUser = CreateUser(
          username="pythonUser",
          password="@#pythonUser",
          systemPrivileges=["SHOW_GRAPH", "TRUNCATE"],
          graphPrivileges={
              "miniCircle": ["FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"],
              "lcc": ["UPDATE", "INSERT", "DELETE", "UPSERT"]
          },
          propertyPrivileges={
              "node": {
                  "read": [
                      ["miniCircle", "account", "*"],
                      ["miniCircle", "movie", "name"]
                  ],
                  "write": [
                      ["lcc", "*", "*"]
                  ]
              },
              "edge": {
                  "read": [
                      ["*", "*", "*"]
                  ],
                  "write": [
                      ["miniCircle", "*", "*"]
                  ]
              }
          },
          policies=["manager"]
      )
      
      response = Conn.createUser(createUser)
      print(response.status.code)
      

      0
      

      alterUser()

      Modifie le mot de passe, les privilèges système, les privilèges de graph, les privilèges de propriété et les 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 facultatifs.
      • RequestConfig (Facultatif): Paramètres de configuration pour la requête.

      Renvoie :

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

      # Modifie l'utilisateur 'pythonUser' et imprime le code d'erreur
      
      user = AlterUser(
          username="pythonUser",
          password="!!@#pythonUser",
          systemPrivileges=["SHOW_GRAPH"],
          graphPrivileges={
              "miniCircle": ["FIND"],
              "lcc": ["UPDATE"]
          },
          policies=["operator"]
      )
      
      response = Conn.alterUser(user)
      print(response.status.code)
      

      0
      

      dropUser()

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

      Paramètres :

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

      Renvoie :

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

      # Supprime l'utilisateur 'javaUser' et imprime le code d'erreur
      
      response = Conn.dropUser("pythonUser")
      print(response.status.code)
      

      0
      

      grantPolicy()

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

      Paramètres :

      • str: Nom d'utilisateur.
      • dict: Privilèges de graph à accorder ; met à null pour ignorer l'octroi de privilèges de graph.
      • List[str]: Privilèges système à accorder ; met à null pour ignorer l'octroi de privilèges système.
      • List[str]: Stratégies à accorder ; met à null pour ignorer l'octroi de stratégies.
      • dict: Privilèges de propriété à accorder ; met à null pour ignorer l'octroi de privilèges de propriété.
      • RequestConfig (Facultatif): Paramètres de configuration pour la requête.

      Renvoie :

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

      graphPrivileges = {
          "miniCircle": ["FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"],
          "default": ["UPDATE", "INSERT", "DELETE", "UPSERT"]
      }
      systemPrivileges = ["SHOW_GRAPH", "TRUNCATE"]
      propertyPrivileges = {
          "node": {
              "read": [
                  ["miniCircle", "account", "*"],
                  ["miniCircle", "movie", "name"]
              ],
              "write": [
                  ["lcc", "*", "*"]
              ]
          },
          "edge": {
              "read": [
                  ["*", "*", "*"]
              ],
              "write": [
                  ["miniCircle", "*", "*"]
              ]
          }
      }
      policies = ["operator", "manager"]
      
      response1 = Conn.grantPolicy("johndoe", graphPrivileges)
      print(response1.status.code)
      
      response2 = Conn.grantPolicy("Tester", graphPrivileges, systemPrivileges, policies, propertyPrivileges)
      print(response2.status.code)
      

      0
      0
      

      revokePolicy()

      Révoque des privilèges système, des privilèges de graph, des privilèges de propriété et des stratégies à un utilisateur de base de données dans l'instance.

      Paramètres :

      • str: Nom d'utilisateur.
      • dict: Privilèges de graph à révoquer ; met à null pour ignorer la révocation de privilèges de graph.
      • List[str]: Privilèges système à révoquer ; met à null pour ignorer la révocation de privilèges système.
      • List[str]: Stratégies à révoquer ; met à null pour ignorer la révocation de stratégies.
      • dict: Privilèges de propriété à révoquer ; met à null pour ignorer la révocation de privilèges de propriété.
      • RequestConfig (Facultatif): Paramètres de configuration pour la requête.

      Renvoie :

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

      graphPrivileges = {
          "miniCircle": ["FIND", "SPREAD", "AUTONET", "AB", "TEMPLATE", "KHOP"],
          "default": ["UPDATE", "INSERT", "DELETE", "UPSERT"]
      }
      systemPrivileges = ["SHOW_GRAPH", "TRUNCATE"]
      propertyPrivileges = {
          "node": {
              "read": [
                  ["miniCircle", "account", "*"],
                  ["miniCircle", "movie", "name"]
              ],
              "write": [
                  ["lcc", "*", "*"]
              ]
          },
          "edge": {
              "read": [
                  ["*", "*", "*"]
              ],
              "write": [
                  ["miniCircle", "*", "*"]
              ]
          }
      }
      policies = ["operator", "manager"]
      
      response1 = Conn.revokePolicy("johndoe", graphPrivileges)
      print(response1.status.code)
      
      response2 = Conn.revokePolicy("Tester", graphPrivileges, systemPrivileges, policies, propertyPrivileges)
      print(response2.status.code)
      

      0
      0
      

      Exemple Complet

      from ultipa import Connection, UltipaConfig
      
      ultipaConfig = UltipaConfig()
      # URI example: ultipaConfig.hosts = ["mqj4zouys.us-east-1.cloud.ultipa.com:60010"]
      ultipaConfig.hosts = ["192.168.1.85:60061", "192.168.1.87:60061", "192.168.1.88:60061"]
      ultipaConfig.username = "<username>"
      ultipaConfig.password = "<password>"
      
      Conn = Connection.NewConnection(defaultConfig=ultipaConfig)
                
      # Récupère toutes les stratégies et imprime leurs informations
      
      policyList = Conn.showPolicy()
      for policy in policyList:
          print("Policy", policy.name, "include:")
          print("- Privilèges système:", policy.systemPrivileges)
          print("- Privilèges de graph:", policy.graphPrivileges)
          print("- Privilèges de propriété:", policy.propertyPrivileges)
          print("- Stratégies:", policy.policies)
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写