“文档” 菜单
文档首页
/
MongoDB Ops Manager
/ /

为 LDAP 配置 MongoDB Agent

在此页面上

  • 先决条件
  • 在 MongoDB 中创建和配置用户

如果您的 MongoDB 部署强制执行访问控制,则 MongoDB 助手必须以具有适当访问权限的用户身份向 MongoDB 进行身份验证。如果您使用自动化,则 Ops Manager 会为您处理此问题。

MongoDB Enterprise 支持通过 saslauthd和操作系统库简单绑定到 SASL 到 LDAP服务器:

  • MongoDB Enterprise for Linux 可以通过saslauthd或操作系统库绑定到LDAP服务器。

  • MongoDB Enterprise for Windows 可以通过操作系统库绑定到LDAP服务器。

MongoDB 助手支持使用LDAP对 MongoDB 实例进行身份验证。

注意

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

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

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

在MongoDB Agent 助手主机上,您必须设置 TLS_REQCERT 环境变量设置为demand

例子

在 Red Hat Enterprise Linux 主机中,打开/etc/openldap/ldap.conf文件并添加以下设置和值:

TLS_REQCERT demand

您可以使用应用程序来设置此环境变量。

如果Automation不托管您的部署,则必须为每个函数单独配置LDAP身份验证。

配置 LDAP 身份验证,请添加主机或编辑现有主机的配置。

要自动执行使用LDAP身份验证的 MongoDB 实例,请将拥有所需角色和特权的 MongoDB 用户添加到 MongoDB 中的$external数据库。 $external数据库允许mongod咨询外部来源(例如LDAP服务器)进行身份验证。

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

db.getSiblingDB("$external").createUser(
{
user : "<username>",
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 Agent所需的访问权限。

备份 MongoDB 4 。使用LDAP身份验证的0或更高版本的实例,将具有所需角色的用户添加到 MongoDB 中的$external数据库。 $external数据库存储用于外部身份验证和授权详细信息的档案。

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

db.getSiblingDB("$external").createUser(
{
user : "<username>",
roles: [ {
role: "clusterAdmin", db: "admin"
} ]
}
)
db.getSiblingDB("$external").createUser(
{
user: "<username>",
roles: [ {
role: "backup", db: "admin"
} ]
}
)

要了解有关所需访问权限的更多信息,请参阅MongoDB Agent 备份的访问权限

监控 MongoDB 4 。使用LDAP身份验证的0或更高版本的实例,将用户添加到 MongoDB 中的$external数据库。 $external数据库存储用于外部身份验证和授权详细信息的档案。为该用户分配以下示例中提供的角色。

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

db.getSiblingDB("$external").createUser(
{
user : "<username>",
roles: [ { role: "clusterMonitor", db: "admin" } ]
}
)

要了解此功能需要哪些角色,请参阅监控设置。

后退

配置 SCRAM-SHA

来年

配置 Kerberos