Skip to content

配置使用 Azure AD 授权的 SSO ​

如果您使用 Azure Active Directory (Microsoft Entra ID,本文简称 Azure AD) 管理您的企业账号,可以在 EMQX Cloud 中选择 Azure AD 作为授权服务器配置并开启单点登录(Single Sign-On, SSO)。同时,您还需要在 Azure AD 中进行 OpenID Connect (OIDC) 配置。本页提供了在 EMQX 和 Azure AD 中进行 OIDC 配置的示例,帮助您理解企业 Identity Provider (IdP) 与 EMQX Cloud 之间进行连接授权 SSO 的端到端配置流程。

前置准备 ​

  • 已有一个 EMQX Cloud 主账号 (Root account)。
  • 已有一个 Azure AD 租户,在 Azure AD 租户中,已有一个管理员用户。
  • 您需要通过管理员用户(已授予全局管理员权限)执行 Azure AD 示例中的操作。关于如何在 Azure AD 中创建用户和为用户授权,请参见 Azure AD 文档。

步骤一:在 EMQX Cloud 开启 SSO 配置 ​

  1. 登录 EMQX Cloud 主账号 (Root account)。

  2. 点击控制台左侧菜单的设置,选择 SSO 标签页。

  3. 点击开启 SSO,进入 SSO 配置流程。

  4. 选择 Azure AD 作为 OIDC 身份提供者,点击下一步按钮。

  5. 这时可以在页面上查看到重定向地址,此地址将在之后的配置中用到。

    sso

步骤二:在 Azure AD 中注册新应用 ​

  1. 使用管理员用户账号登录 Azure 门户。

  2. 点击左上角图标,定位到 Azure Active Directory 产品页面。

  3. 点击左侧菜单中的 App registrations。

  4. 在主界面选择 New registrations。填写或选择以下信息:

    • 填入需要注册的应用的名称,例如 emqx-cloud-sso。
    • 选择需要使用该应用的 Azure 租户。
    • 在 Redirect URI (optional) 下拉框中选择 Web,并填入步骤一中的重定向地址。

    sso

  5. 完成之后点击 Register 就会进入新注册应用 emqx-cloud-sso 的 Overview 页面。

步骤三:在 EMQX Cloud 中配置 SSO 信息 ​

转到 EMQX Cloud 的配置 SSO 页面,按以下步骤配置信息:

  1. 在 EMQX Cloud 的配置 SSO 页面配置以下信息:

    • Tenant ID:填写 Azure 门户 emqx-cloud-sso 应用 Overview 页面中的 Directory (tenant) ID。

    • Client ID:填写 Azure 门户 emqx-cloud-sso 应用 Overview 页面中的 Application (client) ID。

      sso

  2. 在 Microsoft Azure 中点击左侧导航菜单中的 Certificates & secrets。

  3. 在主页面中选择 Client secrets,点击 + New client secret,填写描述和过期时间,生成 Client secret。复制 Value。

    sso

  4. 将 Value 粘贴到 EMQX Cloud 的配置 SSO 页面上的 Client Secret 中。

  5. 点击确认完成配置。

  6. 如果配置成功,即可进入 SSO 成功开启页面,可获取到用于 SSO 登录的地址。

步骤四:在 Azure AD 中创建用户并授权应用 ​

  1. 在 Azure 门户的 emqx-cloud-sso 应用 Overview 中,点击右下 Go to Enterprise applications。 sso

  2. 在左侧导航菜单点击 Users and groups。

  3. 在主界面选择 + Add user/group,选择需要授权的用户,如 Jack@emqx.io。同样也可以对用户组进行授权。

sso
  1. 选择用户之后,点击 Assign,完成用户的授权。

步骤五:在 EMQX Cloud 中创建子用户 ​

  1. 用 EMQX Cloud 主账号进入控制台的用户管理页面。

  2. 点击右上角 + 新建用户。

  3. 在弹窗内的账号中输入和在 Okta 中授权的相同的邮箱账号: Jack@emqx.io,并且给该账号分配一个角色。具体创建步骤,参考创建子账号。

  4. 最后使用用户管理页面中的子账号登录地址进行登录,点击使用企业账号登录,浏览器将会跳转到 Microsoft 的登录界面。 sso

  5. 在 Microsoft 的登录界面上完成登录流程,浏览器会自动返回到 EMQX Cloud 完成 SSO 登录。