跳到主要内容
版本:3.10.0

内置角色权限

所谓角色,就是一组相关权限的集合。用户可以把角色分配给创建的用户,从而实现访问控制。

内置角色

悦数图数据库 内置了多种角色,说明如下:

  • God

    • 初始最高权限角色,拥有所有操作的权限。类似于 Linux 中的root和 Windows 中的administrator

    • Meta 服务初始化时,会自动创建 God 角色用户root,密码为nebula

      警告

      请及时修改root用户的密码,保证数据安全。

:::

  • nebula-graphd.conf文件中(默认目录为/usr/local/nebula/etc/),当--enable_authorizetrue时:

    • 一个集群只能有一个 God 角色用户,该用户可以管理集群内所有图空间。
    • 不支持手动授权 God 角色,只能使用默认 God 角色用户root
  • Admin

    • 对权限内的图空间拥有 Schema 和 data 的读写权限。

    • 可以将权限内的图空间授权给其他用户。

      警告

      只能授权低于 ADMIN 级别的角色给其他用户。

:::

  • DBA

    • 对权限内的图空间拥有 Schema 和 data 的读写权限。

    • 无法将权限内的图空间授权给其他用户。

  • User

    • 对权限内的图空间拥有 Schema 的只读权限。

    • 对权限内的图空间拥有 data 的读写权限。

  • Guest

    • 对权限内的图空间拥有 Schema 和 data 的只读权限。
备注
  • 不支持自行创建角色,只能使用默认的内置角色。
  • 一个用户在一个图空间内只能拥有一个角色权限。授权用户请参见用户管理

角色权限

各角色的执行权限如下。

权限GodAdminDBAUserGuest相关语句
Read spaceYYYYYUSEDESCRIBE SPACE
Read schemaYYYYYDESCRIBE TAGDESCRIBE EDGEDESCRIBE TAG INDEXDESCRIBE EDGE INDEX
Write schemaYYYCREATE TAGALTER TAGCREATE EDGEALTER EDGEDROP TAGDELETE TAGDROP EDGECREATE TAG INDEXCREATE EDGE INDEXDROP TAG INDEXDROP EDGE INDEX
Write userYCREATE USERDROP USERALTER USER
Write roleYYGRANTREVOKE
Read dataYYYYYGOSETPIPEMATCHASSIGNMENTLOOKUPYIELDORDER BYFETCH VERTICESFindFETCH EDGESFIND PATHLIMITGROUP BYRETURN
Write dataYYYYINSERT VERTEXUPDATE VERTEXINSERT EDGEUPDATE EDGEDELETE VERTEXDELETE EDGESDELETE TAG
Show operationsYYYYYSHOWCHANGE PASSWORD
JobYYYYSUBMIT JOB COMPACTSUBMIT JOB FLUSHSUBMIT JOB STATSSTOP JOBRECOVER JOBBUILD TAG INDEXBUILD EDGE INDEXINGESTDOWNLOAD
Write spaceYCREATE SPACEDROP SPACECREATE SNAPSHOTDROP SNAPSHOTBALANCECONFIG
警告

Show operations 为特殊操作,只会在自身权限内执行。例如SHOW SPACES,每个角色都可以执行,但是只会返回自身权限内的图空间。 只有 God 角色可以执行SHOW USERSSHOW SNAPSHOTS语句。