SequoiadDB 的用户在旧版本中仅有角色admin与monitor。
升级到基于角色的访问控制版本后,为保证兼容性,用户的角色有如下几个规则:
admin,被视作拥有内建角色为_root; 旧版本的用户角色monitor,被视作拥有内建角色为_clusterMonitor。createUsr()命令仍然支持通过 Options.Role 字段为用户指定旧版本角色,视作拥有内建角色为_root或_clusterMonitor。_root或者旧版本admin, 将会删除失败假设在旧版本中有admin用户与monitor用户。
--privilegecheck配置项默认应为关闭。使用admin用户连接,创建新用户su,并为其授予内建角色_root。
> db = Sdb( <hostname>, <port>, "admin", <pwd>)
> db.createUsr("su", <pwd>, {Roles: ["_root"]})更新节点配置,开启--privilegecheck配置项,重启节点。
业务系统使用旧版本中的用户仍然拥有与旧版本中相同的权限,业务系统不会受到影响。
使用su用户连接,根据业务系统的实际需求,创建更多基于角色的访问控制用户。
迁移业务系统到新版本,使用新版本中的用户进行操作。
业务系统迁移完成后,删除旧版本中的用户admin与monitor。