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

为 Ops Manager 项目启用 Kerberos 身份验证

在此页面上

  • Overview
  • Considerations
  • 步骤

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

MongoDB Enterprise支持使用 Kerberos 服务进行身份验证。 Kerberos 是一种适用于大型客户端/服务器系统的行业标准身份验证协议。

重要

设置和配置 Kerberos 部署超出了本文档的范围。 本教程假设您已为每个代理配置了 Kerberos 主体,并且每个代理都有一个有效的文件。

要使用 Kerberos 对 MongoDB 进行身份验证,您必须:

  1. 具有正确配置的 Kerberos 部署,

  2. 为 MongoDB 配置Kerberos 服务主体,以及

  3. 为代理添加Kerberos 用户主体

MongoDB 手册的Kerberos 身份验证部分提供了有关将 MongoDB 与 Kerberos 结合使用的更多详细信息。

Kerberos (GSSAPI) 仅适用于MongoDB Enterprise版本。 如果您有在MongoDB Community构建上运行的现有部署,则必须先将其升级到MongoDB Enterprise ,然后才能为MongoDB Ops Manager项目启用Kerberos (GSSAPI)

本教程介绍如何为 Ops Manager 项目之一启用 Kerberos,以及如何配置 Ops Manager 代理以连接到启用 Kerberos 的部署。

注意

如果要重置项目的身份验证和 TLS 设置,请先取消 Ops Manager 在项目中托管的任何 MongoDB 部署

这些过程描述了如何在使用自动化时配置和启用 Kerberos 身份验证。 如果 Ops Manager托管您的监控或备份,您必须手动将其配置为使用 Kerberos 进行身份验证。

有关说明,请参阅为 Kerberos 配置 MongoDB Agent

如果您使用 Ops Manager 托管项目中 Linux 上的现有部署,则必须为项目中的所有 MongoDB 部署配置 Kerberos 身份验证,然后才能为项目启用 Kerberos 身份验证。

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  1. 单击 Clusters(集群)视图。

2
3
4

如果kerberosKeytab尚未设置:

  1. 单击 Add Option(连接)。

  2. 展开Select a Startup Option列表。

  3. 搜索并选择kerberosKeytab选项,然后单击Add

  4. kerberosKeytab列中,提供 keytab 文件的绝对路径。

  5. 单击 Save(连接)。

为每个部署配置好 Kerberos 选项后,您可以继续为 Ops Manager 项目启用 Kerberos。

1
  1. 如果尚未显示,请从导航栏的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示该页,请从导航栏的 Projects(项目)菜单中选择所需的项目。

  3. 如果尚未出现,请单击侧边栏中的 Deployment(部署)。

  1. 单击 Security 标签页。

  2. 单击 Settings 标签页。

  3. 执行以下操作之一:

    • 如果这是您第一次为此项目配置 TLS 、身份验证或授权设置,请单击Get Started

    • 如果已经为此项目配置 TLS 身份验证或授权设置,请单击 Edit(编辑)。

2
字段
操作

MongoDB 部署传输层安全 (TLS)

将此滑块切换至 ON(开启)。

TLS CA 文件路径

TLS 证书颁发机构文件是 .pem 格式的证书文件,其中包含来自证书颁发机构的根证书链。MongoDB 助手使用相同的证书颁发机构文件连接到部署中的每个项目。

.pem证书文件的加密私钥必须采用 PKCS #1 格式 格式。MongoDB Agent不支持 PKCS #8 格式。

在运行 MongoDB 进程的每个主机上键入 TLS 证书颁发机构文件的文件路径:

  • 在第一个框中键入所有 Linux 主机上的文件路径。

  • 在第二个框中键入所有 Windows 主机上的文件路径。

这将为项目中的 MongoDB 进程启用net.tls.CAFile设置。

单击 Validate(验证)测试部署中每个主机在您指定的路径上是否都有 TLS 证书颁发机构。

集群 TLS CA 文件路径

包含来自证书授权机构的根证书链的 .pem 文件,用于验证建立连接的客户端提供的证书。使用相对或绝对路径指定 .pem 文件的文件名。net.tls.clusterCAFile 要求设置 net.tls.CAFile

如果不指定net.tls.clusterCAFile ,集群将使用net.tls.CAFile选项中指定的.pem文件。

net.tls.clusterCAFile 允许您使用单独的证书颁发机构来验证 TLS 握手的客户端到服务器和服务器到客户端部分。

客户端证书模式

选择在连接到启用 TLS 的 MongoDB 部署时客户端应用程序或 MongoDB 助手是否必须提供 TLS 证书。每个 MongoDB 部署都会在这些客户端主机尝试连接时检查来自这些客户端主机的证书。如果选择要求客户端 TLS 证书,请确保它们有效。

接受的值为:

Optional

连接到 MongoDB 部署时,每个客户端都可以提供有效的TLS证书。 如果您mongodtlsMode 设置为 ,MongoDB 助手可能会使用 TLSNone 证书。

必需

此项目中的每个 MongoDB 部署都从 TLS 加密的网络连接开始。所有助手都必须使用 TLS 连接到任何 MongoDB 部署。

Kerberos (GSSAPI)身份验证一起使用不需要 TLS。

3
  1. MongoDB Agent Connections to Deployment 部分,选择 Kerberos (GSSAPI)

  2. 输入您的 SASL 服务名称

    SASL Service Namemongodmongos 的 Kerberos 服务主体名称。

重要

如果您不使用 LDAP 授权,则必须将用户添加到 MongoDB 部署中的$external数据库。 有关示例,请参阅Kerberos 身份验证。

4

重要

从 MongoDB 3.4 开始,只要先启用 LDAP 授权,就可以使用 LDAP、Kerberos 和 X.509 证书对用户进行身份验证,而无需$external数据库中的本地用户文档。 当此类用户成功进行身份验证时,MongoDB 会对 LDAP 服务器执行查询以检索该 LDAP 用户拥有的所有群组,并将这些群组转换为等效的 MongoDB 角色。

如果您不想启用 LDAP 授权,请跳过此步骤。

  1. 输入以下字段的值:

    设置

    LDAP Authorization

    切换到ON以启用 LDAP 授权。

    Authorization Query Template

    为 LDAP 查询 URL 指定模板,以检索 LDAP 用户的 LDAP 群组列表。

5

您可以为 MongoDB 部署启用多种身份验证机制,但 Ops Manager 代理只能使用一种身份验证机制。 选择Kerberos (GSSAPI)连接到 MongoDB 部署。

  1. Agent Auth Mechanism部分选择Kerberos (GSSAPI)选项。

  2. 为 MongoDB 助手提供档案:

    如果使用 Linux,请配置:

    设置

    MongoDB Agent Kerberos Principal

    Kerberos 主体。

    MongoDB Agent Keytab Path

    代理的 Keytab 路径。

    如果使用 Windows,请配置:

    设置

    MongoDB Agent Username

    Active Directory 用户名。

    MongoDB Agent Password

    Active Directory 密码。

    Domain

    Active 目录 域服务中域的 NetBIOS 名称。 必须全部大写。

6
7
8

否则,请单击 Cancel,您可以进行其他更改。

9

启用 LDAP 授权后,您需要为指定用于 LDAP 授权的每个 LDAP 群组创建自定义 MongoDB 角色

后退

LDAP