内置角色权限¶
所谓角色,就是一组相关权限的集合。用户可以把角色分配给创建的用户,从而实现访问控制。
内置角色¶
NebulaGraph 内置了多种角色,说明如下:
-
God
- 初始最高权限角色,拥有所有操作的权限。类似于 Linux 中的
root
和 Windows 中的administrator
。
-
Meta 服务初始化时,会自动创建 God 角色用户
root
,密码为nebula
。Caution
请及时修改
root
用户的密码,保证数据安全。
-
在
nebula-graphd.conf
文件中(默认目录为/usr/local/nebula/etc/
),当--enable_authorize
为true
时:- 一个集群只能有一个 God 角色用户,该用户可以管理集群内所有图空间。
- 不支持手动授权 God 角色,只能使用默认 God 角色用户
root
。
- 初始最高权限角色,拥有所有操作的权限。类似于 Linux 中的
-
Admin
- 对权限内的图空间拥有 Schema 和 data 的读写权限。
-
可以将权限内的图空间授权给其他用户。
Caution
只能授权低于 ADMIN 级别的角色给其他用户。
-
DBA
- 对权限内的图空间拥有 Schema 和 data 的读写权限。
- 无法将权限内的图空间授权给其他用户。
-
User
- 对权限内的图空间拥有 Schema 的只读权限。
- 对权限内的图空间拥有 data 的读写权限。
-
Guest
- 对权限内的图空间拥有 Schema 和 data 的只读权限。
Note
- 不支持自行创建角色,只能使用默认的内置角色。
- 一个用户在一个图空间内只能拥有一个角色权限。授权用户请参见用户管理。
角色权限¶
各角色的执行权限如下。
权限 | God | Admin | DBA | User | Guest | 相关语句 |
---|---|---|---|---|---|---|
Read space | Y | Y | Y | Y | Y | USE 、DESCRIBE SPACE |
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 、DELETE 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 、DELETE TAG |
|
Show operations | Y | Y | Y | Y | Y | SHOW 、CHANGE PASSWORD |
Job | Y | Y | Y | Y | SUBMIT JOB COMPACT 、SUBMIT JOB FLUSH 、SUBMIT JOB STATS 、STOP JOB 、RECOVER JOB 、BUILD TAG INDEX 、BUILD EDGE INDEX 、INGEST 、DOWNLOAD |
|
Write space | Y | CREATE SPACE 、DROP SPACE 、CREATE SNAPSHOT 、DROP SNAPSHOT 、BALANCE 、CONFIG |
Caution
Show operations 为特殊操作,只会在自身权限内执行。例如SHOW SPACES
,每个角色都可以执行,但是只会返回自身权限内的图空间。
只有 God 角色可以执行SHOW USERS
和SHOW SNAPSHOTS
语句。
最后更新:
May 9, 2024