内置角色权限

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

内置角色

Nebula Graph内置了多种角色,说明如下:

  • God

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

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

    • 一个集群只能有一个God角色用户,该用户可以管理集群内所有图空间。

    • 不支持手动授权God角色,只能使用默认God角色用户root

  • Admin

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

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

  • DBA

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

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

  • User

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

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

  • Guest

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

角色权限

各角色的执行权限如下。

权限GodAdminDBAUserGuest相关语句
Read spaceYYYYYUSEDESCRIBE SPACE
Write spaceYCREATE SPACEDROP SPACECREATE SNAPSHOTDROP SNAPSHOTBALANCE DATABALANCE DATA STOPBALANCE DATA REMOVEBALANCE LEADERADMINCONFIGINGESTDOWNLOADSUBMIT JOB COMPACTSUBMIT JOB FLUSHSUBMIT JOB STATSSTOP JOBRECOVER JOBBUILD TAG INDEXBUILD EDGE INDEX
Read schemaYYYYYDESCRIBE TAGDESCRIBE EDGEDESCRIBE TAG INDEXDESCRIBE EDGE INDEX
Write schemaYYYCREATE TAGALTER TAGCREATE EDGEALTER EDGEDROP 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 EDGES
Show operationsYYYYYSHOWCHANGE PASSWORD

注意

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