云数据库 MongoDB 创建账号

在文档数据库 MongoDB 中,账号是访问数据库实例的身份凭证,账号绑定的角色决定了其可执行的操作和可访问的资源范围。通过控制台创建账号并配置角色权限,可以为不同的应用、团队成员或外部协作方分配独立的访问凭证,避免共享通用账号导致的误操作和越权访问,适用于以下场景。

相关产品
云数据库 MongoDB 产品页,含版本规格、价格与购买入口。

一、操作场景

·应用接入:为新上线的业务系统创建独立账号,按"最小权限原则"仅授予其访问目标数据库或集合的权限,降低应用层故障扩散到整个实例的风险。

·多角色协作:为开发、运维、数据分析等不同岗位创建账号,分别授予对应的数据库角色(如 read、readWrite、dbAdmin),实现职责分离和操作审计。

·库表级精细授权:当业务对单个集合(Collection)有独立的读写隔离需求时,通过引用自定义角色,实现指定集合的精细权限控制。

·快速复用授权:为新成员创建与已有账号权限相同的账号时,可在已有账号的基础上调整角色,避免重复配置,提升运维效率。

二、功能说明

创建账号支持账号信息配置和权限设置两个步骤,权限设置提供两种模式:

·快速配置:基于"全局权限 + 单库权限"的二级模型授予 read、readWrite 等通用角色,适用于一次性授予全库或单库读写的常规场景。

·自定义配置:基于 MongoDB RBAC 模型授予角色,支持选择数据库角色、全局角色或自定义角色,并精确指定到数据库和集合级别,适用于库表级精细授权场景。

三、使用须知

注意:说明:

四、前提条件

云数据库 MongoDB 副本集实例或分片实例的状态为运行中。

五、步骤一:进入创建账号入口

1. 登录 MongoDB 控制台。

2. 在左侧导航栏 MongoDB 的下拉列表中,选择副本集实例或者分片实例。副本集实例与分片实例操作类似。

3. 在右侧实例列表页面上方,选择地域。

4. 在实例列表中,找到目标实例。

5. 单击目标实例 ID,进入实例详情页面。

6. 选择数据库管理页签,在账号管理页面,单击创建账号。

六、步骤二:填写账号信息

在创建账号小窗口,根据下表配置账号基础信息。

参数名称 是否必选 参数说明 取值规则与示例
账号名称 是 设置新账号的名称。 字符长度为1 – 32;仅支持字母(A – Z、a – z)、数字(0 – 9)、下划线(_)、短划线(-)。例如 app_order。
启用 CAM 验证 否 将账号与腾讯云访问管理(CAM)绑定,使用动态生成的安全凭证替代静态密码。详情请参见 开启 CAM 验证。 默认关闭。说明:启用 CAM 验证后,该账号不再支持修改密码,只能通过 CAM 接口动态获取访问令牌。建议仅对临时访问、合规审计等需要动态凭证的场景启用。
账号密码 是 设置新账号的登录密码。 字符长度为8 – 32;至少包含字母、数字、特殊字符中的两种;允许的特殊字符为 ! @ # % ^ * ( ) _。例如 Test@123。
确认密码 是 再次输入新账号的密码,需与上方一致。 同上。
备注 是 用于说明账号用途,便于后续运维识别。 任意字符,建议填写账号所属业务或负责人。例如订单服务读写账号。

七、步骤三:选择权限设置模式

完成账号信息填写后,单击下一步,进入设置权限页面。系统提供快速配置和自定义配置两种模式,默认选中快速配置。

模式 适用场景 能力范围
快速配置 一次性授予全库或单库读写权限的常规场景。 配置全局权限(无权 / 只读 / 读写)和指定数据库权限(继承全局 / 无权 / 只读 / 读写)。
自定义配置 需要按角色类别授权、精确到集合级别的库表级精细授权场景。 选择数据库角色、全局角色或自定义角色,并指定到数据库和集合粒度,支持一次添加多条授权。

注意:两种模式之间的切换规则如下:

八、步骤四:使用快速配置授予权限(场景 A)

1. 在全局权限区域,从下拉列表中选择该账号对所有数据库的默认权限。

选项 含义
无权 对所有数据库均无读写权限。
只读 对所有数据库均具有读权限,等同于绑定 readAnyDatabase 角色。
读写 对所有数据库均具有读写权限,等同于绑定 readWriteAnyDatabase 角色。

2. 在实例详情区域,对单个数据库的权限进行细化。

选项 含义
继承全局 沿用全局权限的设置。
无权 对该数据库无读写权限。
只读 对该数据库具有读权限,等同于在该库绑定 read 角色。
读写 对该数据库具有读写权限,等同于在该库绑定 readWrite 角色。

3. (可选)单击创建新库,可在数据库列表中新增一条记录。在输入框中输入数据库名,单击确定保存后,再设置该数据库的访问权限。

注意:说明:

注意:此处的"创建新库"仅在控制台预设该数据库的访问权限,并不会立即在 MongoDB 中创建物理数据库。物理数据库会在首次写入数据时由 MongoDB 自动创建。

4. 单击确定,完成创建。等待2分钟系统配置生效后,即可使用该账号访问数据库。

九、步骤五:使用自定义配置授予权限(场景 B)

适用于"按角色类别授权、精确到集合级别"的库表级精细授权场景。在设置权限页面切换到自定义配置页签,按以下流程添加授权。

1. 在角色配置的下拉列表,选择角色类型及角色,以及授权的数据库。

·每条授权记录只能选择一个角色类别下的一个或多个角色。

·单击添加一条,新增一条授权记录。给每条记录进行角色配置。

角色类别 选择角色与操作(可多选) 选择 Database 选择 Collection
数据库角色 read、readWrite、dbOwner、userAdmin、dbAdmin、enableSharding 支持单选、多选、全选 置灰,不可选
全局角色 readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase、clusterManager、clusterAdmin、clusterMonitor、hostManager、enableSharding、backup、restore 等 置灰,不可选 置灰,不可选
自定义角色 选择在角色管理中创建的自定义角色 置灰,不可选 置灰,不可选

注意:说明:

2. 单击预览,可在权限变更预览窗口查看本次授权将生成的命令行。

注意:说明:

注意:权限预览将列出系统即将下发到 MongoDB 的 db.grantRolesToUser、db.createUser 等命令,便于在创建前核对授权范围。该预览仅用于展示,不会立即执行。

3. 检查无误后,单击确定完成创建。等待2分钟系统配置生效后,即可使用该账号访问数据库。

注意:选择全局角色时请评估业务影响,root、__system 等高权限角色可对实例进行任意操作,仅建议在运维或迁移等特定场景下短期授予,不建议长期分配给业务账号。

十、相关 API

API 接口名称 描述
CreateAccountUser 创建账号
DescribeAccountUsers 查询当前实例的全部账号
SetAccountUserPrivilege 设置实例的账号权限
ResetDBInstancePassword 修改账号密码
赞 (0)
上一篇 4天前
下一篇 4天前