内置角色权限
所谓角色,就是一组相关权限的集合。用户可以把角色分配给创建的用户,从而实现访问控制。
内置角色
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的只读权限。
角色权限
各角色的执行权限如下。
权限 | God | Admin | DBA | User | Guest | 相关语句 |
---|---|---|---|---|---|---|
Read space | Y | Y | Y | Y | Y | USE 、DESCRIBE SPACE |
Write space | Y | CREATE SPACE 、DROP SPACE 、CREATE SNAPSHOT 、DROP SNAPSHOT 、BALANCE 、ADMIN 、CONFIG 、INGEST 、DOWNLOAD | ||||
Read schema | Y | Y | Y | Y | Y | DESCRIBE TAG 、DESCRIBE EDGE 、DESCRIBE TAG INDEX 、DESCRIBE EDGE INDEX |
Write schema | Y | Y | Y | CREATE TAG 、ALTER TAG 、CREATE EDGE 、ALTER EDGE 、DROP TAG 、DROP EDGE 、CREATE TAG INDEX 、CREATE EDGE INDEX 、DROP TAG INDEX 、DROP EDGE INDEX | ||
Write user | Y | CREATE USER 、DROP USER 、ALTER USER | ||||
Write role | Y | Y | GRANT 、REVOKE | |||
Read data | Y | Y | Y | Y | Y | GO 、SET 、PIPE 、MATCH 、ASSIGNMENT 、LOOKUP 、YIELD 、ORDER BY 、FETCH VERTICES 、Find 、FETCH EDGES 、FIND PATH 、LIMIT 、GROUP BY 、RETURN |
Write data | Y | Y | Y | Y | BUILD TAG INDEX 、BUILD EDGE INDEX 、INSERT VERTEX 、UPDATE VERTEX 、INSERT EDGE 、UPDATE EDGE 、DELETE VERTEX 、DELETE EDGES | |
Show operations | Y | Y | Y | Y | Y | SHOW 、CHANGE PASSWORD |
注意:
- Show operations为特殊操作,只会在自身权限内执行。例如
SHOW SPACES
,每个角色都可以执行,但是只会返回自身权限内的图空间。- 只有God角色可以执行
SHOW USERS
和SHOW SNAPSHOTS
语句。