Ops Manager 允许您配置所有客户端(包括 Ops Manager 代理)用于连接到 MongoDB 部署的身份验证机制。 您可以为每个项目启用多种身份验证机制,但必须为代理仅选择一种机制。
MongoDB 支持与安全TLS/SSL 连接一起使用的 x.509 客户端和成员证书身份验证。 x.509 身份验证允许用户和其他成员使用证书而不是用户名和密码向服务器进行身份验证。
先决条件
重要
传输层安全、公钥基础架构、X.509 证书和证书颁发机构的完整描述超出了本教程的范围。本教程假定您事先了解 TLS 并访问权限有效的 X.509 证书。
步骤
这些过程描述了如何在使用自动化时配置和启用 x.509 身份验证。 如果 Ops Manager不托管您的代理,您必须手动将其配置为使用 x.509 身份验证。
注意
要了解更多信息,请参阅为 X.509 身份验证配置 MongoDB Agent。
为 x.509 证书身份验证准备现有部署
重要
使用 x.509客户端证书身份验证需要 TLS。如果Ops Manager管理一个或多个现有部署,则必须先在MongoDB 部署中的每个进程上启用 TLS,然后才能启用 x.509身份验证。
注意
如果已启用 TLS,则可以跳过此过程。
设置 TLS初创企业选项。
单击Add Option添加以下每个选项:
选项必需值必需
选择
requireTLS。必需
提供服务器证书的绝对路径。
必需
Optional
如果要启用 FIPS 模式,请选择
true。添加每个选项后,单击Add 。
添加所需选项后,单击Save 。
为 x.509 成员证书身份验证配置现有部署
注意
此过程是可选的。 它还允许副本集或分片集群的成员使用 x.509 证书相互进行身份验证。 如果未配置,副本集和分片集群成员仍可使用keyFile身份验证相互进行身份验证。
警告
此过程不可逆
如果为项目中的任何部署启用 x.509 成员证书身份验证,则无法为该部署禁用 x.509 成员证书身份验证,也无法在项目级别禁用 x.509 客户端身份验证。
为项目中的部署启用 x.509 成员证书身份验证不会为项目中的其他部署启用或要求 x.509 成员证书身份验证。 您可以选择启用项目中的每个其他部署以使用 x.509 成员证书身份验证。
重要
如果您配置了MongoDB 助手PEM 并将security.clusterAuthMode :设立为x509 ,则Client connecting with server's own TLS certificate 在mongod 日志文件中显示警告,表明客户端在使用服务器自己的 TLS 证书进行连接。
这是预期行为,因为 MongoDB Agent 使用内部授权配置连接到 Ops Manager。无需执行任何操作。
为每个已部署进程配置完 TLS 选项后,您可以继续为Ops Manager项目启用x.509身份验证。
为您的 Ops Manager 项目启用 x.509 客户端证书身份验证
指定 TLS 设置。
字段 | 操作 | ||||
|---|---|---|---|---|---|
MongoDB 部署传输层安全 (TLS) | 将此滑块切换至 ON(开启)。 | ||||
TLS CA 文件路径 | TLS 证书颁发机构文件是
在运行 MongoDB 进程的每个主机上键入 TLS 证书颁发机构文件的文件路径:
单击 Validate(验证)测试部署中每个主机在您指定的路径上是否都有 TLS 证书颁发机构。 | ||||
集群 TLS CA 文件路径 |
如果不指定 ,集群将使用
| ||||
客户端证书模式 | 选择在连接到启用 TLS 的 MongoDB 部署时客户端应用程序或 MongoDB 助手是否必须提供 TLS 证书。每个 MongoDB 部署都会在这些客户端主机尝试连接时检查来自这些客户端主机的证书。如果选择要求客户端提供 TLS 证书,请确保它们有效。 接受的值为:
|
选择身份验证机制。
在 MongoDB Deployment Authentication Mechanism 部分,选择 X.509 Client Certificate (MONGODB-X509)。
重要
如果您不使用LDAP授权,则必须将用户添加到MongoDB 部署中的$external 数据库。有关示例,请参阅 x.509 客户端证书身份验证。
配置 LDAP 授权设置。
重要
从 MongoDB 3.4 开始,只要先启用 LDAP 授权,就可以使用 LDAP、Kerberos 和 X.509 证书对用户进行身份验证,而无需$external数据库中的本地用户文档。 当此类用户成功进行身份验证时,MongoDB 会对 LDAP 服务器执行查询以检索该 LDAP 用户拥有的所有群组,并将这些群组转换为等效的 MongoDB 角色。
如果您不想启用 LDAP 授权,请跳过此步骤。
输入以下字段的值:
设置值LDAP Authorization
切换到ON以启用 LDAP 授权。
Authorization Query Template
为 LDAP 查询 URL 指定模板,以检索 LDAP 用户的 LDAP 群组列表。
为代理配置 X.509 Client Certificate (MONGODB-X509)。
您可以为 MongoDB 部署启用多种身份验证机制,但 Ops Manager 代理只能使用一种身份验证机制。 选择X.509 Client Certificate (MONGODB-X509)连接到 MongoDB 部署。
从Agent Auth Mechanism部分选择X.509 Client Certificate (MONGODB-X509)选项。
为 MongoDB 助手提供档案:
设置值MongoDB Agent Username
输入从代理的 PEM 密钥文件派生的 LDAPv3 标识名。
MongoDB Agent Certificate File
在相应操作系统的线路上提供代理的 PEM 密钥文件在服务器上的路径和文件名。
MongoDB Agent Certificate Password
如果 PEM 密钥文件已加密,请提供该文件的密码。
为 LDAP 群组创建 MongoDB 角色。 (可选)
启用 LDAP 授权后,您需要为指定用于 LDAP 授权的每个 LDAP 群组创建自定义 MongoDB 角色。