You need to enable JavaScript to run this app.
导航

账号和权限

最近更新时间2024.02.08 15:33:01

首次发布时间2023.02.10 19:05:46

本文汇总了文档数据库 MongoDB 版账号和权限的常见问题。

文档数据库 MongoDB 版当前开放了哪些角色权限?

文档数据库 MongoDB 版提供了如下角色和权限。关于各角色权限的更多详情,请参见账号权限

角色类型权限名称权限说明

超级用户角色

root

超级用户权限,具体拥有如下权限:

  • readWriteAnyDatabase
  • dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin
  • restore
  • backup
普通操作角色read对本库执行查询操作的权限。
readWrite对本库执行增删改查等操作的权限。
管理员操作角色dbAdmin拥有对数据库对象执行管理操作的权限,但不具备对数据库执行读写操作的权限。
userAdmin在本库下创建用户的权限。
dbOwner对本库执行所有操作的权限。
集群管理员角色clusterAdmin对集群执行所有操作的权限。
备份与恢复操作角色backup对本实例所有库执行备份操作权限。
restore对本实例所有库执行恢复操作权限。

实例创建好后,怎么已经有账号了?

创建文档数据库 MongoDB 版实例时,系统会默认在 admin 数据库中创建一个 root 账号,拥有 MongoDB 内置 root 权限。您可以在创建实例时直接设置 root 账号密码。您也可以在实例创建后再为 root 账号设置密码,密码设置方法,请参见重置密码

如何创建 MongoDB 数据库账号?

文档数据库 MongoDB 版会默认在 admin 数据库中自动创建一个拥有 root 权限的账号,您也可以创建其他权限的账号进行分权分库操作。具体操作步骤,请参见创建账号

如何为子用户进行跨服务访问授权?

使用文档数据库 MongoDB 版前,需要先进行跨服务访问授权以允许 MongoDB 访问其他服务(如 VPC、EIP 等)。跨服务访问授权的详细操作步骤,请参见跨服务访问授权
如果您需要使用子用户进行跨服务授权,子用户需拥有 IAMFullAccess 权限,否则授权时会报错。为子用户授权的具体步骤,请参见管理用户

如何修改 MongoDB 数据库账号的密码?

您可以使用如下方法修改数据库账号密码:

  • 通过 MongoDB 控制台修改
    通过 MongoDB 控制台修改账号密码的详细操作步骤,请参见重置密码

    说明

    仅 root 账号支持通过 MongoDB 控制台修改账号密码。

  • 通过 db.changeUserPassword() 命令修改
    您可以使用 db.changeUserPassword() 命令来修改指定账号(包括 root 账号和自建账号)的密码。具体使用方法,请参见 db.changeUserPassword()

当连接串中账号密码包含了特殊字符时,为何会导致连接失败?

文档数据库 MongoDB 版支持在数据库账号的密码中使用 _#!@$%^&*()+=- 特殊字符,当您通过 MongoDB Shell 工具或程序代码连接 MongoDB 实例时,部分特殊字符会引起程序歧义无法被正确识别,从而导致连接失败。您需要将这些字符转义为对应的 URL 编码后,再用于连接串中才能在被正确识别。
当前需要在连接串中进行转义的特殊字符,及其对应的 URL 编码如下表所示:

特殊字符转义后对应的 URL 编码
!%21
#%23
$%24
%%25
@%40