内置角色权限
所谓角色,就是一组相关权限的集合。用户可以把角色分配给创建的用户,从而实现访问控制。
内置角色
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 DATA 、BALANCE DATA STOP 、BALANCE DATA REMOVE 、BALANCE LEADER 、ADMIN 、CONFIG 、INGEST 、DOWNLOAD 、SUBMIT JOB COMPACT 、SUBMIT JOB FLUSH 、SUBMIT JOB STATS 、STOP JOB 、RECOVER JOB 、BUILD TAG INDEX 、BUILD EDGE INDEX | ||||
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 | 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
语句。