修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

搜索
    中文

      权限

      权限是 Ultipa 用户身份验证管理的基础内容与最小单位,分为命令权限和属性权限两类。

      命令权限允许用户执行相应的 UQL 命令,可根据 UQL 的 "作用域" 分为:

      • 图集权限 (graph privilege):指用户有权使用与某个图集的 schema、属性、加速索引、元数据、路径、算法、后台任务相关的 UQL 命令,分配权限时需要指定具体的图集;
      • 系统权限 (system privilege):指用户有权使用与当前 Ultipa 图数据库的权限、策略、用户、图集、实时进程相关的 UQL 命令,分配权限时无需指定具体的图集。

      命令权限及其对应的 UQL 命令请参见后文中的权限分类表。

      属性权限允许(或拒绝)用户读(属性过滤、返回属性值)、写(增删改)相应的自定义属性。需指定图集、schema,共分三种:

      • READ:指用户有权读某个自定义属性;
      • WRITE:指用户有权读、写某个自定义属性;
      • DENY:指用户无权读、写某个自定义属性。

      DENY 的优先级高于 READ 和 WRITE。当针对某自定义属性的 DENY 和 READ(或 WRITE)同时存在时,最终效果为 DENY。

      查看权限

      返回的表名:_privilege
      返回的表头:graphPrivileges|systemPrivileges(图集权限、系统权限)

      语法:

      // 查看系统所支持的命令权限信息
      show().privilege()
      

      追加权限

      追加属性权限

      语法:

      // 为某个用户或策略追加点、边属性权限
      grant().privilege(["READ" | "WRITE" | "DENY"]).on(
        "<graph>", 
        <@schema?>, 
        "<property?>"
      ).<user|policy>("<name>")
      
      // 为某个用户或策略追加点属性权限
      grant().node_privilege(["READ" | "WRITE" | "DENY"]).on(
        "<graph>", 
        <@schema?>, 
        "<property?>"
      ).<user|policy>("<name>")
              
      // 为某个用户或策略追加边属性权限
      grant().edge_privilege(["READ" | "WRITE" | "DENY"]).on(
        "<graph>", 
        <@schema?>, 
        "<property?>"
      ).<user|policy>("<name>")
      

      示例:追加策略 sales 对图集 supplychain 的点属性 @product.price 的 READ 权限

      grant().node_privilege(["READ"]).on(
        "supplychain",
        @product,
        "price"
      ).policy("sales")
      

      示例:追加用户 admin002 对所有图集的所有属性的 WRITE 权限

      grant().privilege(["WRITE"]).on(
        "*",
        @*,
        "*"
      ).user("admin002")
      

      分析:该示例中的参数 on() 可以简写为 on("*")

      追加系统权限

      语法:

      // 为某个用户或策略追加系统权限
      grant().system().privilege(<[]system_privileges>).<user|policy>("<name>")
      

      示例:追加用户 admin002 的系统权限 TOP、KILL

      grant().system().privilege(["TOP","KILL"]).user("admin002")
      

      追加多种权限

      语法:

      // 为某个用户追加多种权限及策略
      grant().user("<username>").params({
        graph_privileges: <{}graph_privileges?>, 
        system_privileges: <[]system_privileges?>, 
        property_privileges: <{}property_privileges?>, 
        policies: <[]policies?>
      })
      

      其中的数据格式为:

      // <{}graph_privileges>
      {
        "<graph1>":["<graph_privilege>", "<graph_privilege>", ...],
        "<graph2>":["<graph_privilege>", "<graph_privilege>", ...],
        ...
      }
      
      // <{}property_privileges>
      {
        "node": {
          "read": [
            ["<graph>", "<@schema?>", "<property?>"],
            ["<graph>", "<@schema?>", "<property?>"],
            ...
          ],
          "write": [
            ["<graph>", "<@schema?>", "<property?>"],
            ["<graph>", "<@schema?>", "<property?>"],
            ...
          ],
          "deny": [
            ["<graph>", "<@schema?>", "<property?>"],
            ["<graph>", "<@schema?>", "<property?>"],
            ...
          ],
        },
        "edge": {
          "read": [
            ["<graph>", "<@schema?>", "<property?>"],
            ["<graph>", "<@schema?>", "<property?>"],
            ...
          ],
          "write": [
            ["<graph>", "<@schema?>", "<property?>"],
            ["<graph>", "<@schema?>", "<property?>"],
            ...
          ],
          "deny": [
            ["<graph>", "<@schema?>", "<property?>"],
            ["<graph>", "<@schema?>", "<property?>"],
            ...
          ],
        }
      }
      

      示例: 给用户 Ultipa 追加所有图集的 UPDATE 权限、系统权限 STAT、所有图集所有属性的 WRTIE 权限以及策略 management

      grant().user("Ultipa").params({
        graph_privileges: {"*": ["UPDATE"]}, 
        system_privileges: ["STAT"],
        property_privileges: {
          "node": {
            "write": [["*", "*", "*"]]
          },
          "edge": {
            "write": [["*", "*", "*"]]
          }
        },
        policies: ["management"]
      })
      

      撤回权限

      撤回属性权限

      语法:

      // 从某个用户或策撤回加点、边属性权限
      revoke().privilege(["READ" | "WRITE" | "DENY"]).on(
        "<graph>", 
        <@schema?>, 
        "<property?>"
      ).<user|policy>("<name>")
      
      // 从某个用户或策略撤回点属性权限
      revoke().node_privilege(["READ" | "WRITE" | "DENY"]).on(
        "<graph>", 
        <@schema?>, 
        "<property?>"
      ).<user|policy>("<name>")
              
      // 从某个用户或策略撤回边属性权限
      revoke().edge_privilege(["READ" | "WRITE" | "DENY"]).on(
        "<graph>", 
        <@schema?>, 
        "<property?>"
      ).<user|policy>("<name>")
      

      示例:撤回策略 sales 对图集 supplychain 的点属性 @product.price 的 READ 权限

      revoke().node_privilege(["READ"]).on(
        "supplychain",
        @product,
        "price"
      ).policy("sales")
      

      示例:撤回用户 admin002 对所有图集的所有属性的 WRITE 权限

      revoke().privilege(["WRITE"]).on(
        "*",
        @*,
        "*"
      ).user("admin002")
      

      分析:该示例中的参数 on() 可以简写为 on("*")

      撤回系统权限

      语法:

      // 从某个用户或策略撤回系统权限
      revoke().system().privilege(<[]system_privileges>).<user|policy>("<name>")
      

      示例:撤回用户 admin002 的系统权限 TOP、KILL

      revoke().system().privilege(["TOP","KILL"]).user("admin002")
      

      撤回多种权限

      语法:

      // 从某个用户撤回多种权限及策略
      revoke().user("<username>").params({
        graph_privileges: <{}graph_privileges?>, 
        system_privileges: <[]system_privileges?>, 
        property_privileges: <{}property_privileges?>, 
        policies: <[]policies?>
      })
      

      其中 <{}graph_privileges><{}property_privileges> 的数据格式同追加命令 grant()

      示例: 撤回用户 Ultipa 所有图集的 UPDATE 权限、系统权限 STAT、所有图集所有属性的 WRTIE 权限以及策略 management

      revoke().user("Ultipa").params({
        graph_privileges: {"*": ["UPDATE"]}, 
        system_privileges: ["STAT"],
        property_privileges: {
          "node": {
            "write": [["*", "*", "*"]]
          },
          "edge": {
            "write": [["*", "*", "*"]]
          }
        },
        policies: ["management"]
      })
      

      权限分类

      用户管理权限

      名称 作用域 合法命令
      SHOW_PRIVILEGE system show().privilege()
      SHOW_POLICY system show().policy()
      CREATE_POLICY system create().policy()
      ALTER_POLICY system alter().policy()
      DROP_POLICY system drop().policy()
      SHOW_USER system show().user()
      CREATE_USER system create().user()
      ALTER_USER system alter().user()
      DROP_USER system drop().user()
      GRANT system grant()
      REVOKE system revoke()

      注:命令 show().self() 无需授权即可被任何用户合法使用。

      图建模管理权限

      名称 作用域 合法命令
      STAT system stats()
      SHOW_GRAPH system show().graph()
      CREATE_GRAPH system create().graph()
      ALTER_GRAPH system alter().graph()
      DROP_GRAPH system drop().graph()
      MOUNT_GRAPH system mount()
      UNMOUNT_GRAPH system unmount()
      SHOW_SCHEMA graph show().schema(), show().node_schema(), show().edge_schema()
      CREATE_SCHEMA graph create().node_schema(), create().edge_schema()
      ALTER_SCHEMA graph alter().node_schema(), alter().edge_schema()
      DROP_SCHEMA graph drop().node_schema(), drop().edge_schema()
      SHOW_PROPERTY graph show().property(), show().node_property(), show().edge_property()
      CREATE_PROPERTY graph create().node_property(), create().edge_property()
      ALTER_PROPERTY graph alter().node_property(), alter().edge_property()
      DROP_PROPERTY graph drop().node_property(), drop().edge_property()
      SHOW_FULLTEXT graph show().fulltext(), show().node_fulltext(), show().edge_fulltext()
      CREATE_FULLTEXT graph create().node_fulltext(), create().edge_fulltext()
      DROP_FULLTEXT graph drop().node_fulltext(), drop().edge_fulltext()
      SHOW_INDEX graph show().index(), show().node_index(), show().edge_index()
      CREATE_INDEX graph create().node_index(), create().edge_index()
      DROP_INDEX graph drop().node_index(), drop().edge_index()
      LTE graph LTE()
      UFE graph UFE()
      TRUNCATE system truncate()
      COMPACT system compact()

      图数据管理权限

      名称 作用域 合法命令
      INSERT graph insert(), insert().overwrite()
      UPSERT graph upsert()
      UPDATE graph update()
      DELETE graph delete()
      DELETE_NODE graph delete().nodes()
      DELETE_EDGE graph delete().edges()
      TEMPLATE graph n(), e(), re(), le(), nf(), graph()
      KHOP graph khop()
      AB graph ab()
      SPREAD graph spread()
      AUTONET graph autonet()
      FIND graph find()
      FIND_NODE graph find().nodes()
      FIND_EDGE graph find().edges()

      高级权限

      名称 作用域 合法命令
      ALGO graph algo()
      SHOW_ALGO graph show().algo()
      SHOW_TASK graph show().task()
      CLEAR_TASK graph clear()
      STOP_TASK graph stop()
      SHOW_BACKUP graph db.backup.show()
      CREATE_BACKUP graph db.backup.create()
      RESTORE_BACKUP graph db.backup.restore()
      TOP system top()
      KILL system kill()
      SHOW_TRIGGER graph show().trigger(), show().node_trigger(), show().edge_trigger()
      CREATE_TRIGGER graph create().node_trigger(), create().edge_trigger()
      DROP_TRIGGER graph drop().node_trigger(), drop().edge_trigger()
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写