MongoDB 支持以下身份验证机制,具体取决于 MongoDB 版本:
MongoDB 版本 | 默认身份验证机制 |
|---|---|
4.0 或更高版本 | |
3.0 至 3.6 | 使用“SHA- 1 ”哈希函数的SCRAM身份验证机制。 |
2.6 或更早版本 | MongoDB 挑战与响应 ( |
MongoDB Agent可以使用SCRAM-SHA-1或SCRAM-SHA-256对实施访问控制的主机进行身份验证。
注意
通过自动化,Cloud Manager可以为您管理MongoDB Agent身份验证。要学习;了解有关身份验证的更多信息,请参阅为项目设置用户名和密码身份验证。
先决条件
配置部署以使用身份验证
MongoDB Agent与部署中的MongoDB数据库交互,就像MongoDB用户一样。因此,您必须配置 MongoDB 部署和 MongoDB Agent 以支持身份验证。
您可以在添加部署时指定部署的身份验证机制,也可以编辑现有部署的设置。 部署必须至少启用您希望 MongoDB 助手使用的身份验证机制。 MongoDB 助手可以使用任何受支持的身份验证机制。
配置自动化管理的部署
当您安装具有自动化的 MongoDB Agent 时,Cloud Manager 会创建一个用户以在 MongoDB database 上进行身份验证。Cloud Manager 在admin数据库中创建此 MongoDB 用户 ( mms-automation ),并对每个 MongoDB Agent 功能具有正确的权限。
在 Cloud Manager 中配置这些档案。
在MongoDB Cloud Manager中,转到项目的 Security 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Security。
显示“安全”页面。
配置不受自动化管理的部署
每个MongoDB Agent功能都使用一设立不同的MongoDB shell ( mongosh ) 命令为用户配置适当的角色和权限。
备份
用户创建命令因您使用的MongoDB版本而异:
要备份运行FCV 4.2及更高版本的MongoDB实例,请在admin数据库中创建一个用户。 为该用户分配以下示例中提供的角色。
使用以下mongosh命令创建用户:
db.getSiblingDB("admin").createUser( { user: "<username>", pwd: "<password>", roles: [ { role: "clusterAdmin", db: "admin" } ] } )
要学习;了解有关所需访问权限的更多信息,请参阅MongoDB Agent备份所需的访问权限
要备份运行FCV 4.0或更早版本的MongoDB实例,请在admin数据库中创建一个用户。 为该用户分配以下示例中提供的角色。
使用以下mongosh命令创建用户:
db.getSiblingDB("admin").createUser( { user: "<username>", pwd: "<password>", roles: [ { role: "backup", db: "admin" } ] } )
要学习;了解有关所需访问权限的更多信息,请参阅MongoDB Agent备份所需的访问权限
配置备份凭证
为备份功能创建用户后,将档案添加到备份设置中。
导航到Backup <backup-deployment> Edit Credentials 。
单击 Credentials(连接)。
添加相应的档案:
设置值Backup Username输入备份用户名。
Backup Password输入备份用户名的密码。
监控
要监控使用SCRAM身份验证的MongoDB 4.0或更高版本实例,请将用户添加到MongoDB中的admin数据库。 为该用户分配以下示例中提供的角色。
db.getSiblingDB("admin").createUser( { user: "<username>", pwd: "<password>", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
注意
对于包含具有MongoDB 8.0 或更高特征兼容性版本的分片集群的Cloud Manager项目,如果集群具有以下特征,则监控代理需要 directShardOperations 角色:
两个或多个分片
至少一个非系统数据库
此角色允许监控代理直接对分片执行必要的维护和诊断操作。
此要求特定于Cloud Manager。如果您使用的是Atlas, Atlas会自动托管这些权限。
db.getSiblingDB("admin").createUser( { user: "<username>", pwd: "<password>", roles: [ { role: "clusterMonitor", db: "admin" }, { role: "directShardOperations", db: "admin" } ] } )
要了解此功能需要哪些角色,请参阅监控设置。
配置监控凭证
为监控功能创建用户后,将档案添加到监控设置中。
在MongoDB Cloud Manager中,转到项目的 Processes 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Processes。
显示“进程”页面。