内置角色权限Graph
所谓角色,就是一组相关权限的集合。用户可以把角色分配给Graph,从而实现访问控制。
内置角色Graph
NebulaGraph内置了多种角色,说明如下:
-
God
- 初始最高权限角色,拥有所有操作的权限。类似于Linux中的
root
和Windows中的administrator
。
-
Meta服务初始化时,会自动创建God角色用户
root
,密码为nebula
。注意
请及时修改
root
用户的密码,保证数据安全。
- 一个集群只能有一个God角色用户,该用户可以管理集群内所有图空间。
- 不支持手动授权God角色,只能使用默认God角色用户
root
。
- 初始最高权限角色,拥有所有操作的权限。类似于Linux中的
-
Admin
- 对权限内的图空间拥有Schema和data的读写权限。
-
可以将权限内的图空间授权给其他用户。
注意
只能授权低于ADMIN级别的角色给其他用户。
-
DBA
- 对权限内的图空间拥有Schema和data的读写权限。
- 无法将权限内的图空间授权给其他用户。
-
User
- 对权限内的图空间拥有Schema的只读权限。
- 对权限内的图空间拥有data的读写权限。
-
Guest
- 对权限内的图空间拥有Schema和data的只读权限。
Note
- 暂不支持自行创建角色,只能使用默认的内置角色。
- 一个用户在一个图空间内只能拥有一个角色权限。授权用户请参见Graph。
角色权限Graph
各角色的执行权限如下。
权限 | 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
语句。
最后更新: 2021年5月14日