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

为 Kerberos 配置 MongoDB Agent

在此页面上

  • 先决条件
  • 步骤

MongoDB Enterprise支持 Kerberos。 Kerberos 是一种网络身份验证协议。可以对运行MongoDB Agent 的MongoDB Kerberos实例进行身份验证。

Kerberos 票证可以在有限的时间内对用户进行身份验证。 您必须 配置 Kerberos 密钥分发中心 (KDC) 开具有效期为四小时或更长时间的票证。MongoDB Agent会定期更新票证。 KDC服务为用户和主机提供会话票证和临时会话密钥。

MongoDB Agent与部署中的MongoDB数据库交互,就像MongoDB用户一样。因此,您必须配置 MongoDB 部署和 MongoDB Agent 以支持身份验证。

您可以在添加部署时指定部署的身份验证机制,也可以编辑现有部署的设置。部署必须至少启用您希望 MongoDB 助手使用的身份验证机制。 MongoDB 助手可以使用任何受支持的身份验证机制。

就本教程而言,您必须确保满足以下条件:

  • 您的部署支持 Kerberos 身份验证和

  • MongoDB Agent 使用 Kerberos 身份验证。

要了解如何启用 Kerberos 身份验证,请参阅为 Ops Manager 项目启用 Kerberos 身份验证。

必须在任何运行监控或备份的主机上安装两个与 Kerberos 相关的文件:

  • 创建或配置 krb5 .confKerberos 配置文件。

    平台
    默认路径
    注意
    Linux的
    /etc/krb5.conf
    Windows
    %WINDIR%\krb5.ini
    这是非基于 Active 目录 的 Kerberos 实施的默认路径。请参阅适用于您的 Windows 版本的 Kerberos 实施文档,了解 Kerberos 配置文件的存储位置。
  • 在 Linux 系统上:确保 kinit 二进制文件位于/usr/bin/kinitkinit获取或续订 Kerberos 票证授予票证,该票证使用 Kerberos 对代理进行身份验证。

1

UPN的格式分为两部分,因此可以在 Kerberos 域 中唯一标识服务:

组件
说明
服务名称

主机向 Kerberos 域 提供的一项服务的名称,例如popsnmpftp

重要

MongoDB Ops Manager 6 。 0 。 0已弃用SNMP警报。 MongoDB Ops Manager 7 。 0 。 0将不包括SNMP警报。要了解有关其他警报选项的更多信息,请参阅第三方服务集成。

Kerberos Realm

共享同一 Kerberos 数据库的一组托管主机和服务。

注意

根据 Kerberos 命名规则, <KERBEROS_REALM>必须位于所有UPPERCASE中。

例子

在设置为EXAMPLE.COM的 Kerberos 域 中,MongoDB Agent 会将其UPN设置为: mongodb-agent@EXAMPLE.COM

2

生成 密钥表 文件 (*.keytab ) 的MongoDB Agent UPN ,并将其复制到运行MongoDB Agent 的主机。确保运行MongoDB Agent的操作系统用户与拥有 keytab 文件的操作系统用户相同。

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

要为 MongoDB Agent 身份验证配置 Kerberos,请参阅为 Ops Manager 项目启用 Kerberos 身份验证。

为 MongoDB 助手创建 Kerberos UPN后,在部署上创建与 MongoDB 助手的UPN相对应的 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 服务器上创建一个以 MongoDB 助手的 UPN 命名的新 LDAP 用户。

  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授权,则必须将 MongoDB 助手的UPN作为用户添加到 MongoDB 部署的$external数据库中。如果没有LDAP授权,MongoDB 会使用$external数据库根据 Kerberos 对用户进行身份验证。

注意

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

mongosh中,发出以下命令以创建 MongoDB 用户:

db.getSiblingDB("$external").createUser(
{
user : "<Kerberos Principal>",
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" }
]
}
)

后退

配置 LDAP

在此页面上