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
。