为 X.509 身份验证配置 MongoDB Agent
在此页面上
Ops Manager 允许您配置所有客户端(包括 Ops Manager 代理)用于连接到 MongoDB 部署的身份验证机制。 您可以为每个项目启用多种身份验证机制,但必须为代理仅选择一种机制。
MongoDB 支持 X.509 证书 身份验证,用于安全的 TLS 连接。 X.509 客户端身份验证允许客户端使用证书而不是用户名和密码向服务器进行身份验证。
注意
通过自动化,Ops Manager 托管 MongoDB Agent 身份验证。要了解有关身份验证的更多信息,请参阅为 Ops Manager 项目启用 x.509 身份验证。
Considerations
传输层安全 性的完整描述 , 公钥基础设施 , 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”教程。
从 X.509 创建 MongoDB 用户 subject
当自动化被激活时,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 用户:
在 LDAP 服务器上创建一个名为 的新 LDAP 用户,使用客户端证书的
subject
值作为用户名。创建名称与 MongoDB 助手角色匹配的LDAP群组。
在
admin
数据库中创建具有适当权限的 MongoDB 助手角色。注意
激活自动化后,自动化会自动为 MongoDB 助手用户创建角色,以进行LDAP身份验证。
将LDAP用户分配到LDAP群组。
提示
另请参阅:
要了解如何: | 看 |
---|---|
创建LDAP用户 | LDAP实施文档。 |
创建LDAP群组 | LDAP实施文档。 |
为 MongoDB 助手分配适当的角色 | |
映射LDAP群组和 MongoDB 角色 | |
在没有 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证书。
编辑 MongoDB 助手配置文件
要使用 X.509 身份验证,必须为TLS配置 MongoDB Agent:
在 MongoDB Agent 配置文件中指定受信任 CA 证书的绝对文件路径。
如果您为 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 身份验证中所述。