Docs 菜单
Docs 主页
/
MongoDB Ops Manager
/ /

为 X.509 身份验证配置 MongoDB Agent

在此页面上

  • Considerations
  • 先决条件
  • 步骤

Ops Manager 允许您配置所有客户端(包括 Ops Manager 代理)用于连接到 MongoDB 部署的身份验证机制。 您可以为每个项目启用多种身份验证机制,但必须为代理仅选择一种机制。

MongoDB 支持 X.509 证书 身份验证,用于安全的 TLS 连接。 X.509 客户端身份验证允许客户端使用证书而不是用户名和密码向服务器进行身份验证。

注意

通过自动化,Ops Manager 托管 MongoDB Agent 身份验证。要了解有关身份验证的更多信息,请参阅为 Ops Manager 项目启用 x.509 身份验证。

传输层安全 性的完整描述 , 公钥基础设施 , X。509 证书和 证书颁发机构 超出了本教程的范围。本教程假定您事先了解 TLS并可以访问有效的 X. 509证书。

要为MongoDB Ops Manager启用 X.509 身份验证,您必须获取由单个证书颁发机构 (CA) 生成和签名的有效TLS证书。 要了解有关证书要求的更多信息,请参阅客户端 x。 MongoDB 手册中的509证书。

X.509 客户端证书身份验证要求您为部署启用和配置TLS

本教程假定您已将 MongoDB 部署配置为使用 X. 509证书身份验证和TLS 。 如果还没有这样做,请参阅“使用 X. 509证书对客户端进行身份验证”和“为 TLS 配置 mongod 和 mongos”教程。

当自动化被激活时,Ops Manager 管理 MongoDB Agent 身份验证。

要为 MongoDB Agent 配置 X.509,请参阅为 Ops Manager 项目启用 x.509 客户端证书身份验证。

要使 MongoDB 助手连接到 MongoDB 部署,必须在部署上创建与客户端证书的subject值相对应的 MongoDB 用户。

在何处创建 MongoDB 用户取决于您是否使用LDAP 授权。

如果在 MongoDB 部署中使用 LDAP 授权,则必须在 LDAP 服务器上为 MongoDB 助手创建 LDAP 用户和 LDAP 群组。创建 LDAP 用户和群组后,将 LDAP 群组映射到部署的admin 数据库中的 MongoDB 角色。

警告

使用LDAP授权时,请勿在$external数据库中创建任何MongoDB 用户。 MongoDB 3 。如果$external数据库中存在 MongoDB 用户并且启用了LDAP授权,则4及更高版本不会启动。

对于代表 MongoDB 助手的 MongoDB 用户:

  1. LDAP 服务器上创建一个名为 的新 LDAP 用户,使用客户端证书的subject 值作为用户名。

  2. 创建名称与 MongoDB 助手角色匹配的LDAP群组。

  3. admin数据库中创建具有适当权限的 MongoDB 助手角色。

    注意

    激活自动化后,自动化会自动为 MongoDB 助手用户创建角色,以进行LDAP身份验证。

  4. LDAP用户分配到LDAP群组。

提示

另请参阅:

要了解如何:
创建LDAP用户
LDAP实施文档。
创建LDAP群组
LDAP实施文档。
为 MongoDB 助手分配适当的角色
映射LDAP群组和 MongoDB 角色
MongoDB 手册中 LDAP 授权 页面的 LDAP 角色部分 。
在没有 Ops Manager 自动化的情况下配置LDAP授权
MongoDB 手册中的LDAP 授权页面。

如果您不使用LDAP授权,则必须将客户端证书的subject值添加为 MongoDB 部署的$external数据库中的 MongoDB 助手的用户名。如果没有LDAP授权,MongoDB 会使用$external数据库针对 X. 509来对用户进行身份验证。

注意

要查找 MongoDB 助手的适当角色,请参阅MongoDB 助手所需的访问权限。

使用以下命令从mongosh创建用户:

db.getSiblingDB("$external").createUser(
{
user : "<x.509 subject>",
roles : [
{ role : "clusterAdmin", db : "admin" },
{ role : "readWriteAnyDatabase", db : "admin" },
{ role : "userAdminAnyDatabase", db : "admin" },
{ role : "dbAdminAnyDatabase", db : "admin" },
{ role : "backup", db : "admin" },
{ role : "restore", db : "admin" }
]
}
)

要了解需要哪些访问权限,请参阅MongoDB 助手所需的访问权限。

每个 MongoDB 用户都必须拥有自己的 X. 509证书。

要使用 X.509 身份验证,必须为TLS配置 MongoDB Agent:

1

如果您为 Ops Manager 部署启用了TLS ,则必须将 MongoDB Agent 配置为使用 TLS 。要将 MongoDB Agent 配置为使用TLS ,您必须拥有签署 MongoDB 实例的受信任证书颁发机构证书。

MongoDB 助手的安装目录中,编辑配置文件,将httpsCAFile字段设置为包含一个或多个PEM格式证书的文件的路径。

MongoDB Agent 配置文件的位置是 C:\MMSData\Automation\automation-agent.config

注意

MongoDB 助手配置文件命名为 automation-agent.config,以便使用传统代理的用户更容易升级。

MongoDB Agent 配置文件的位置是 /etc/mongodb-mms/automation-agent.config

注意

MongoDB 助手配置文件命名为 automation-agent.config,以便使用传统代理的用户更容易升级。

MongoDB Agent 配置文件的位置是 /etc/mongodb-mms/automation-agent.config

注意

MongoDB 助手配置文件命名为 automation-agent.config,以便使用传统代理的用户更容易升级。

MongoDB Agent 配置文件的位置是 /path/to/install/local.config

例子

使用以下命令通过mongosh进行连接:

mongosh --tls --tlsCAFile /etc/ssl/ca.pem example.net:27017

然后,修改配置文件并设置以下键/值对:

httpsCAFile=/etc/ssl/ca.pem

保存配置文件。

要了解有关这些设置的更多信息,请参阅Ops Manager TLS设置。

配置 MongoDB Agent 以使用 TLS提供了有关配置 MongoDB Agent 以使用TLS的更多详细信息。

配置 MongoDB Agent后,在 Ops Manager 界面中配置 X.509 身份验证机制,如为 Ops Manager 项目启用 x.509 身份验证中所述。

后退

配置 Kerberos