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

为 LDAP 配置 MongoDB Agent

在此页面上

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

注意

从MongoDB 8.0开始, LDAP身份验证和授权已弃用。 该功能可用,并将在MongoDB 8的整个生命周期内继续运行,无需进行任何更改。 LDAP将在未来的主要发布中删除。

有关详细信息,请参阅 LDAP 弃用

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

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

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

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

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

注意

通过自动化, Cloud Manager可以为您管理MongoDB 助手身份验证。要学习;了解有关身份验证的更多信息,请参阅管理Cloud 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所需的访问权限。

要备份使用LDAP身份验证的MongoDB 4.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备份所需的访问权限

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

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

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

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

后退

SCRAM-SHA