请参阅为 LDAP 身份验证和授权配置 Ops Manager 用户。
Overview
您可以使用轻量级目录访问协议 (LDAP) 服务来管理 Ops Manager 用户身份验证和授权。 用户通过 Ops Manager 登录,然后 Ops Manager 搜索 LDAP 目录的用户,并将 Ops Manager 用户记录的用户名和电子邮件地址与 LDAP 用户记录的值同步。
要将 Ops Manager 配置为使用 LDAP,请转至: Admin > General > Ops Manager Config > User Authentication。
注意
本教程介绍了 Ops Manager Web 界面的用户身份验证。
如果您的MongoDB 部署 也 使用LDAP ,则必须单独为MongoDB 创建MongoDB 用户,如 为 配置MongoDB Agent LDAP中所述。
本教程介绍如何:
用户身份认证
当用户尝试登录时,Ops Manager 使用 LDAP 查询搜索匹配的用户和用户群组。
Ops Manager 使用 LDAP Bind Dn 和 LDAP Bind Password 字段中指定的凭据以
search
用户身份登录 LDAP。Ops Manager 根据 LDAP User Base Dn 字段指定的基本可分辨名称进行搜索,并根据 LDAP User Search Attribute 字段指定的 LDAP 属性匹配用户。
Ops Manager 根据 LDAP Group Base Dn 字段指定的基本可分辨名称进行搜索,并根据 LDAP Group Member Attribute 字段指定的 LDAP 属性匹配用户群组。如果没有为 LDAP Group Base Dn 提供值,则 Ops Manager 将使用 LDAP User Base Dn 的值来搜索 LDAP 群组成员身份。
如果找到匹配的用户,Ops Manager 将根据所提供用户的 LDAP 密码对提供的密码进行身份验证。
授权/访问控制
LDAP 群组允许您控制对 Ops Manager 的访问。您可以将 LDAP 群组与组织和项目 Ops Manager 角色关联,并将 LDAP 群组分配给应具有这些角色的用户。
LDAP 条目按如下方式映射到 Ops Manager 记录:
LDAP | Ops Manager |
---|---|
user | user |
GROUP | 组织/项目角色 |
要有效使用 LDAP 群组,请在 Ops Manager 中创建其他项目,控制对组织中特定部署的访问权限,例如为开发和生产环境创建单独的 Ops Manager 项目。然后,您可以将 LDAP 群组映射到 Ops Manager 项目中的角色,提供对部署的访问权限。
注意
对 LDAP 群组所做的更改最多可能需要一个小时才能在 Ops Manager 中生效。 当受影响群组中的用户注销并重新登录 Ops Manager 时,更改会立即生效。
如果 LDAP 用户不属于任何 LDAP 群组,则 Ops Manager 不会向该用户分配任何角色、组织或项目。
如果 LDAP 用户被分配了项目角色但没有组织角色,则 Ops Manager 会自动为该用户分配组织成员角色。
如果多个部门有各自的计费需求、警报设置和项目成员,请为每个部门创建新的组织。
基于 SSL 的 LDAP
如果您通过 SSL 连接 (LDAPS) 使用 LDAP,请填写以下字段:
字段 | 所需值 |
---|---|
LDAP SSL CA File | 受信任证书颁发机构的 PEM 密钥文件的路径。 |
LDAP SSL PEM Key File | 包含客户端证书和私钥的 PEM 密钥文件的路径。 |
LDAP SSL PEM Key File Password | 如果 LDAP SSL PEM Key File 已加密,则为用于解密的密码。 |
先决条件
LDAP 服务器必须:
安装、配置并可供 Ops Manager 访问。
将每个用户的群组成员身份嵌入为每个用户的 LDAP 条目的属性。
重要
如果您想在 Ops Manager 群组成员资格中加入嵌套的 LDAP 群组,请使用
member
LDAP 用户属性。示例,如果LDAP用户
jsmith
属于LDAP群组B
,并且LDAP群组B
属于LDAP群组A
,则MongoDB Ops Manager会将jsmith
识别为群组A
和B
的成员。 。包括可以搜索包含 Ops Manager 用户和群组的基本 DN 的用户。
包括
Global Owners
的群组。LDAP Global Role Owner当您在 中 配置 LDAPMongoDB Ops Manager时, 必须 在 字段中输入该群组。
例子
如果 LDAP 有一个供
admin
Ops Manager 管理员使用的群组,请在LDAP Global Role Owner字段中输入admin
。启用 LDAP 身份验证后,您必须先以属于该群组的用户身份登录 Ops Manager,创建初始 Ops Manager 项目(如果适用)并将 LDAP 群组映射到项目和组织角色。
重要
Ops Manager 转换为 LDAP 身份验证后,只有具有全局所有者角色并更改身份验证方法的用户仍保持登录状态。所有其他用户均已注销,需要使用其 LDAP 用户名和密码重新登录 Ops Manager。 没有 LDAP 用户名和密码的用户无法再登录 Ops Manager。
步骤
配置 LDAP 身份验证:
在所选的 LDAP 系统中定义用户记录。
要查找标准 LDAP 对象类和属性类型的描述,请参阅 User 应用程序的轻量级目录访问协议模式。
键入 LDAP 配置设置。
输入以下必填 LDAP 配置字段的值:
字段操作例子User Authentication Method选择 LDAP 。LDAP
LDAP URI键入 LDAP 服务器的主机名和端口。
如果使用多个 LDAP 服务器进行身份验证,请用空格分隔每个 URI。
重要提示: MongoDB Ops Manager不支持LDAP URI字段中包含下划线字符 (
_
) 的主机名。ldap://ldap.example.com:389
LDAP SSL CA File输入 PEM 密钥文件的路径,该文件包含对 LDAPS 服务器使用的证书进行签名的 CA 证书。 Ops Manager 应用程序使用此可选字段来验证 LDAPS 服务器的身份并防止中间人攻击。如果未提供此配置,Ops Manager 将使用 Java 运行时环境 (JRE) 附带的默认根 CA 证书包。如果根 CA 无法验证您的 LDAPS 服务器证书(即自签名),则对 LDAPS 服务器的请求将失败。/opt/cert/ca.pem
LDAP SSL PEM Key File键入包含客户端证书和私钥的 PEM 密钥文件的路径。此字段为可选字段,仅在 LDAPS 服务器要求客户端应用程序传递客户端证书时使用。用于对 Ops Manager 应用程序服务器向 LDAPS 服务器发送的请求进行签名。支持 LDAPS 服务器验证 Ops Manager 应用程序服务器的身份。/opt/cert/ldap.pem
LDAP SSL PEM Key File Password输入用于解密 LDAP SSL PEM 密钥文件的密码。如果 LDAPS 服务器要求使用 LDAP SSL PEM 密钥文件字段所指定的客户端证书,并且 LDAP SSL PEM 密钥文件所指定的客户端证书已加密存储在文件系统中,则需要使用此字段。<encrypted-password>
LDAP Bind Dn在 LDAP 服务器上键入可以执行用户搜索的认证用户。cn=admin, dc=example, dc=com
LDAP Bind Password输入 LDAP 服务器上 Bind Dn 用户的密码。<password>
LDAP User Base Dn键入 Ops Manager 用于在 LDAP 服务器上搜索用户的专有名称。dc=example, dc=com
LDAP User Search Attribute在 LDAP 服务器中键入指定用户名的 LDAP 字段。uid
LDAP Group Base Dn键入 Ops Manager 用于在 LDAP 服务器上搜索群组的专有名称。ou=othergroups, dc=example, dc=com
LDAP Group Member Attribute键入指定属于该群组的 LDAP 用户列表的 LDAP 群组属性。member
LDAP User Group键入指定用户所属 LDAP 群组的 LDAP 用户属性。LDAP 属性可以使用任何格式列出群组,包括通用名称 (cn
) 或可分辨名称 (dn
)。所有 Ops Manager 设置必须与所选格式匹配。memberOf
LDAP Global Role Owner键入 Ops Manager 全局所有者所属的 LDAP 群组。cn=global-owner, ou=groups, dc=example, dc=com
必要时键入以下可选 LDAP 配置字段的值。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。字段操作LDAP User First Name键入指定用户名字的 LDAP 用户属性。LDAP User Last Name输入指定用户姓氏的 LDAP 用户属性。LDAP User Email键入指定用户电子邮件地址的 LDAP 用户属性。LDAP Global Role Automation Admin键入 Ops Manager 全局自动化管理员所属的 LDAP 组。您可以在此字段中键入多个 LDAP 群组,但必须用两个分号 (;;
) 分隔相邻群组。LDAP Global Role Backup Admin键入 Ops Manager 全局备份管理员所属的 LDAP 组。您可以在此字段中键入多个 LDAP 群组,但必须用两个分号 (;;
) 分隔相邻群组。LDAP Global Role Monitoring Admin键入 Ops Manager 全局监控管理员所属的 LDAP 群组。 您可以在此字段中键入多个 LDAP 群组,但必须用两个分号 (;;
) 分隔相邻群组。LDAP Global Role User Admin键入 Ops Manager 全局用户管理员所属的 LDAP 群组。您可以在此字段中键入多个 LDAP 群组,但必须用两个分号 (;;
) 分隔相邻群组。LDAP Global Role Read Only键入 Ops Manager“全局只读用户”所属的 LDAP 群组。您可以在此字段中键入多个 LDAP 群组,但必须用两个分号 (;;
) 分隔相邻群组。
将 LDAP 群组与项目角色关联。
要将 LDAP 群组与新项目中的角色关联:
注意
您必须拥有任何全局角色才能创建新项目。
单击 Admin > General > Projects。
单击 Create a New Project(连接)。
在 Project Name 中,输入新 Ops Manager 项目的名称。
输入与每个项目角色相对应的 LDAP 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Add Project(连接)。
要更新 LDAP 群组与现有项目角色的关联,请执行以下操作:
单击 Admin > General > Projects。
在项目的 Actions 栏中,单击,然后单击 Edit LDAP Settings。
输入与每个项目角色相对应的 LDAP 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Save Changes(连接)。
可选:将 LDAP 群组与组织角色关联。
要将 LDAP 群组与新组织的角色关联,请执行以下操作:
注意
您必须拥有全局角色才能创建新组织。
单击 Admin > General > Organizations。
单击 Create a New Organization(连接)。
在Organization Name中,输入新 Ops Manager 组织的名称。
输入与每个组织角色相对应的 LDAP 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Add Organization(连接)。
要更新 LDAP 群组与现有组织角色的关联,请执行以下操作:
单击 Admin > General > Organizations。
单击 Edit Org 按钮。
输入与每个组织角色相对应的 LDAP 群组。
重要
您必须为每个群组使用完全限定的可分辨名称。如果多个 LDAP 或 SAML 群组对应于同一角色,请用两个分号 (
;;
) 分隔。从角色字段中删除群组,将撤消该群组对该角色的访问权限。单击 Save Changes(连接)。
添加您的 MongoDB 部署。
添加 MongoDB 部署时,指定 LDAP 身份验证设置。
故障排除
默认情况下,Ops Manager 在 JDK 中启用端点检测。您必须为 Ops Manager 主机使用受信任的服务器证书。
如果无法使用受信任的证书:
禁用端点识别。将
-Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true
添加到mms.conf
中的JAVA_MMS_UI_OPTS
属性。此更改后,重新启动所有 Ops Manager 服务。
警告
禁用此功能会影响 Ops Manager 的安全性。您应该配置有效且受信任的证书。