权限问题:admin角色的用户,可以取消其他用户admin角色,不能添加admin角色

2.0 rc1
权限问题:admin角色的用户,可以取消其他用户admin角色,不能添加admin角色
举例:
用户a,具有space_a的admin角色
用户b,具有space_a的admin角色
然后用户a执行
GRANT ROLE dba ON space_a TO b 这个成功了,相当于把b的admin角色取消了
但是,想重新把用户b的admin角色恢复
GRANT ROLE adminON space_a TO b 这个就不行了,提示没权限了

所以这个有漏洞啊

如果想把b的权限重新授权为,需要用GOD用户操作。
目前的规则是ADMIN有权为其他用户授权为非GOD,ADMIN的权限;GOD用户有权为其他用户授予非GOD的权限。
同时,当第一步将B授权为DBA角色时,此时没有检查B的权限,因为B可能在本space中或其他space中拥有权限。一个space中允许存在多个ADMIN,但是一个user在同一个Space中只能拥有一种角色。

目前的设计是ADMIN拥有指定space的全部权限,包括对其他user的授权权限。
现在出的问题其实可以归结为space中出现了两个ADMIN互相授权的问题,如果要避免这个问题的话,有以下想法:
1,避免一个space中同时出现多个ADMIN
2,允许多个ADMIN,但是ADMIN之间不允许互相授权操作。
建议哪个?或有更好的解决方案?欢迎提需求。

第2个方案比较符合应用场景

感谢建议,这里还有其他一些关联的地方需要考虑,我们稍后会完善授权策略。

DBA用户有create index权限但没有rebulid权限?

1 个赞

DBA用户有create index权限但没有rebulid权限?
我也发现了,这是个bug

DBA role can not rebuild index · Issue #1122 · vesoft-inc/nebula-graph · GitHub

这个问题就在 GitHub 这个 issue 上讨论了哈,这样 issue 上会有相对应的一个 pr 链接,这个帖子先关啦