创建文档数据库实例时,系统会同步创建默认账户rwuser。您可以根据业务需要,通过默认账户rwuser创建其他数据库账户,之后您可以使用默认账户rwuser或已创建的其他账户对数据库中的数据如库、表、索引等进行操作。
使用须知
- 为目标实例创建数据库帐户时,建议您开启SSL通道,提高数据的安全性。
- 对于已有的3.2版本的文档数据库实例,不支持创建数据库帐户,仅可更改管理员帐户rwuser的密码。
- 在创建数据库帐户时,要指定命令参数passwordDigestor:"server",具体操作请参见官方文档。
前提条件
成功连接文档数据库实例,请参见《文档数据库服务快速入门》各实例类型下,通过内网和公网连接实例的内容。
帐户说明
- 为了给文档数据库实例提供管理服务,您在创建数据库实例时,文档数据库服务会自动为实例创建根帐户root(或admin)、监控帐户monitor和备份帐户backup,这些帐户属于天翼云实例管理平台,您不能操作或者使用。如果试图删掉、重命名、修改这些帐户的密码和权限,会导致出错。
- 对于数据库管理员帐户rwuser,以及您所创建的帐户,允许修改帐户的密码。
- 默认账户rwuser以及通过rwuser创建的账户,对系统库admin和config权限受限,无法进行正常操作。对自身创建的库表,具有充分的操作权限。
- MongoDB的User一般是在某个固定的认证库下创建的。连接数据库时,需要通过参数--authenticationDatabase来明确指定对应的认证库。
- DDS实例中,默认的rwuser用户的认证库,是admin。
帐户密码等级设置
- 文档数据库服务在控制台侧管理员密码的安全策略:
密码长度为8~32个字符。
密码必须为英文大小写字母、数字、特殊字符~!@#%^*-_=+?的组合。
- 文档数据库对在客户端新创的数据库用户,设置了密码安全策略:
密码长度为8~32个字符。
密码为英文大小写字母、数字、特殊字符~@#%-_!*+=^?的组合。
创建实例数据库以及设置密码时,安全起见,为用户提供了密码复杂度校验,如果不满足要求,请根据提示信息调整密码复杂度。
创建帐户
步骤 1 选择admin数据库。
use admin
步骤 2 以user1帐户为例,创建数据库帐户。
db.createUser({user: "user1", pwd: " ****** ", passwordDigestor:"server", roles:[{role: "root", db: "admin"}]})
- “ server ”是指在服务端加密密码,为固定值,无需修改。
- “ ****** ”是新密码,长度8~32位,且必须为英文大小写字母、数字以及特殊字符~@#%-_!*+=^?的组合。
- “roles”限制了该帐户所具有的权限。若指定一个空数组,表示该帐户不具有任何权限。
步骤 3 查看创建结果。
显示如下信息,说明创建成功。
Successfully added user: {
"user" : "user1",
"passwordDigestor" : "server",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
更改帐户的密码
步骤 1 选择admin数据库。
use admin
步骤 2 以user1帐户为例,修改帐户的密码。
db.updateUser("user1", {passwordDigestor:"server",pwd:"newPasswd12#"})
- “ server ”是指在服务端加密密码,为固定值,无需修改。
- “ newPasswd12# ”是新密码,长度8~32位,且必须为英文大小写字母、数字以及特殊字符~@#%-_!*+=^?的组合。
- 如果密码用在mongodb url中且密码包含@ / % ? # , 则需要进行URL特殊字符转义,替换为对应的十六进制的URL编码(ASCII码)。
步骤 3 查看修改结果。显示如下信息,说明修改成功。
- 集群
mongos>
- 副本集
replica:PRIMARY>
- 单节点
replica:PRIMARY>