Skip to content

配置 LDAP/Azure AD 单点登录 ​

本页介绍了如何配置和使用基于轻量级目录访问协议(LDAP)协议实施的单点登录功能。

您可以将 EMQX Dashboard 与支持 LDAPv3 协议的目录服务集成,实现基于 LDAP 的单点登录,目前支持的产品有:

先决条件

了解单点登录(SSO)的基本概念。

配置 OpenLDAP 单点登录 ​

本节将指导您如何在 Dashboard 启用 OpenLDAP 单点登录。

  1. 转到 Dashboard 系统设置 -> 单点登录 页面。

  2. 选择 LDAP 选项,点击 启用 按钮。

  3. 在配置页面中,输入 LDAP 服务器的基本信息。

    选项说明
    强制启用 MFA开启后,该 SSO 后端的所有用户在登录时须完成 MFA 设置或验证。默认关闭。详情参见为 SSO 用户强制启用 MFA。
    服务LDAP服务器的地址,例如localhost:389。
    用户名访问 LDAP 服务器的绑定 DN(Bind DN)。
    密码访问 LDAP 服务器的用户密码。
    基本 DNLDAP 目录的基本 DN,搜索用户的起点。
    用户查询条件LDAP 中匹配用户的过滤器。在 LDAP 用户查询条件中,系统会自动替换 ${username} 为实际输入的用户名,进行用户匹配。
    - 对于标准 LDAP,默认过滤器是 (&(objectClass=person)(uid=${username}))。
    - 对于 Active Directory,默认过滤器是 (&(objectClass=user)(sAMAccountName=${username}))。
    该变量替换机制可以根据不同的用户属性灵活构造查询过滤器,进行用户名查询和匹配。有关条件格式详见 LDAP过滤器。
    启用 TLS是否启用 LDAP 访问的 TLS 安全传输。如果启用需要配置证书。
  4. 点击更新按钮,保存配置。后续使用请参照登录与用户管理。

配置 Microsoft Entra ID 单点登录 ​

本节将指导您如何在 Dashboard 启用 Azure AD 单点登录。

配置 Microsoft Entra ID 实例 ​

在配置 Dashboard 中的 Microsoft Entra ID SSO 之前,您需要按照本节的说明配置 Microsoft Entra ID 实例以获取基本的 LDAP 服务器信息。

  1. 登录 Azure 门户网站,按照此教程创建 Microsoft Entra 域服务。

SSO AD Domain List

  1. 启用加密 LDAP 连接:在 Microsoft Entra 域服务中,进入安全 LDAP 页面,启用安全 LDAP 与允许安全 LDAP 通过 Internet 进行访问开关。按照页面指引更改证书并配置网络安全组,确保 EMQX 可以访问到 Microsoft Entra 域服务实例。

SSO AD Enable TLS

  1. 获取连接配置:在 Microsoft Entra 域服务中,进入属性 页面,其中 安全 LDAP 外部 IP 地址即为实际 EMQX 的连接地址。

SSO AD Get IP Address

  1. 配置 Entra ID:按照快速入门文档中的步骤创建 Entra ID 实例。
  2. 禁用多重身份验证:EMQX 使用 Microsoft Entra ID 配置 SSO 需要关闭多重身份验证,在 Entra ID 实例中,进入安全组 -> 身份验证方法 -> 设置页面,禁用多重身份验证。

SSO AD Disable 2FA

  1. 添加用户:在 Entra ID 实例中,进入概述页面,点击添加 -> 用户 -> 新建用户进行用户的添加。需要添加至少 2 个用户:用于连接 Entra ID 的登录用户,以及实际访问 EMQX Dashboard 的用户。用户添加完成后需要在 Microsoft Entra ID 中至少登录一次并更改默认密码,之后才可以在 Dashboard 中进行 SSO 登录。

SSO AD Add User

SSO AD Add User Detail

在 Dashboard 中配置 Microsoft Entra ID 单点登录 ​

  1. 转到 Dashboard 系统设置 -> 单点登录 页面。

  2. 选择 LDAP 选项,点击 启用 按钮。

  3. 在配置页面中,输入 LDAP 服务器的基本信息:

    • 强制启用 MFA:可选。开启后,该后端的所有用户在登录时须完成 TOTP 验证。默认关闭。
    • 服务:填写 ip:port,其中 IP 为 Microsoft Entra ID 的安全 LDAP 外部 IP 地址,端口为加密 LDAP 636.
    • 用户名、密码:填写 Entra ID 中创建的用于连接 Entra ID 的用户以及其密码。
    • 基本 DN:根据 Azure AD 的域名填写,例如 emqxqa.onmicrosoft.com 填写为 DC=emqxqa,DC=onmicrosoft,DC=com。可以添加其他属性,将用户限制在某个部门或者分组内。
    • 用户查询条件:对于 Azure AD,默认过滤器是 (&(objectClass=user)(sAMAccountName=${username})),表示通过账户名(邮箱名)登录。可以将 sAMAccountName 更换为 mail 使用邮箱地址登录。
    • 此处使用的是 IP 地址 + 安全 LDAP直接访问,因此需要勾选启用 TLS,并取消勾选验证服务器证书。
  4. 点击更新按钮,保存配置并启用 Microsoft Entra ID SSO。后续使用请参照登录与用户管理。

SSO AD Dashboard

登录与用户管理 ​

启用基于 LDAP 的单点登录后,EMQX Dashboard 会在登录页面展示单点登录选项。点击 LDAP 按钮,进入 LDAP 单点登录页面,输入为用户分配的 LDAP 凭证(例如用户名与密码)并点击登录按钮。

image-20230926182522354image-20230926182543521

成功进行 LDAP 身份验证后,EMQX 会自动添加一个 Dashboard 用户,您可以在用户中进行管理,例如为其分配角色与权限。如需要求 LDAP 用户在登录时完成 TOTP 二次验证,请参见为 SSO 用户强制启用 MFA。

退出登录 ​

用户可以在 Dashboard 顶部导航栏中点击用户名,在下拉菜单点击 退出登录 按钮,退出登录。