跳到主要内容
版本:3.9.x

使用 Microsoft Entra ID 配置控制台 SSO

Microsoft Entra ID (原名为 Azure AD) 是 Microsoft 基于云的身份和访问管理服务。它允许组织安全地管理和认证用户及设备,确保合适的人员拥有对公司资源的适当访问权限。Microsoft Entra ID 提供诸如单点登录 (SSO)、多因素身份验证 (MFA) 以及与各种第三方应用程序集成等功能。

本指南将向你展示如何将 API7 企业版与 Microsoft Entra ID 集成以实现 SSO 并配置所需的访问控制。

以下是一个交互式演示,提供了将 Microsoft Entra ID 与 API7 企业版集成的动手实践介绍。

前提条件

  1. 安装 API7 企业版
  2. 在你的网关组中至少有一个网关实例
  3. 拥有一个具有活动订阅的 Azure 账户。

配置 Azure

注册应用程序

登录 Azure portal,进入 Microsoft Entra ID,并在 Manage (管理) 下拉菜单中选择 App registrations (应用程序注册) 以注册一个新应用程序:

azure-ad-register-an-app

填写应用程序详细信息并点击 Register (注册):

fill-out-new-app-info

创建应用程序客户端密钥

应用程序注册完成后,在 Manage (管理) 下拉菜单中选择 Certificates & secrets (证书和机密) 以创建一个客户端密钥 (Client Secret):

create-app-client-secret

填写客户端密钥的详细信息并点击 Add (添加):

fill-out-client-secret-details

客户端密钥现已生成。请将密钥保存在安全的位置,以便稍后在 API7 企业版配置中引用。请注意,你只能查看一次该密钥。

save-client-secret

创建应用程序角色

Manage (管理) 下拉菜单中选择 App roles (应用程序角色) 以创建一个新的 SuperAdmin 应用程序角色。填写角色详细信息并点击 Apply (应用):

create-app-role

你应该会看到角色已创建并启用。

将应用程序角色分配给用户

Manage (管理) 下拉菜单中选择 Enterprise applications (企业应用程序):

select-enterprise-applications

你现在应该会被重定向到一个显示所有应用程序的页面。选择之前创建的应用程序:

select-the-enterprise-app

你现在应该会被重定向到应用程序的概览页面。在 Manage (管理) 下拉菜单中选择 Users and groups (用户和组) 并点击 Add user/group (添加用户/组):

add-user-group

选择合适的将被允许作为超级管理员登录 API7 控制台的 IAM 用户,并分配之前创建的 SuperAdmin 角色。点击 Assign (分配):

assign-role-to-user

你应该会看到角色已分配:

assigned-role

配置 API7

使用具有管理员权限的账号登录 API7 控制台。

添加登录选项

组织 (Organization) 下拉菜单中,点击 设置 (Settings),然后选择 添加登录选项 (Add Login Option):

add-login-option

填写 名称 (Name),选择 OIDC 作为提供商,并根据应用程序信息填充 签发者 (Issuer) 和 客户端 ID (Client ID):

fill-out-login-details

备注

签发者 URL 不应包含 /.well-known/openid-configuration

在 Azure 中,你可以通过点击 Endpoints (端点) 并复制 OpenID Connect metadata document (OpenID Connect 元数据文档) 来找到签发者:

dashboard-oidc-issuer-and-endpoint-in-azure

继续填写之前保存的 客户端密钥 (Client Secret):

dashboard-oidc-client-secret

以及其余信息:

dashboard-oidc-scopes-root-url-attributes-mapping

完成配置后,点击 添加 (Add)。你应该会看到登录提供商已成功创建。

启用角色映射

启用自动映射后,导入的用户可以根据其来自身份提供商的属性(如头衔、职位或部门)自动分配角色和权限边界。这些角色和权限边界在用户每次登录时进行同步,确保访问权限的一致性。一个登录选项的映射可以包含多个规则,这些规则共同决定用户的访问权限。

为新创建的登录提供商启用 角色映射 (Role Mapping):

enable-role-mapping

填写详细信息并点击 启用 (Enable):

fill-out-role-mapping-details

角色现在应该已经更新。

更新回调 URL

回调 URL 是应用程序在成功通过 Microsoft Entra ID 身份验证后将用户重定向到的地址。

在提供商配置中找到回调 URL:

dashboard-find-callback-url

在 Azure 门户中,导航到应用程序的概览页面并点击 Add a Redirect URI (添加重定向 URI):

azure-add-redirect-url

点击 Authentication (身份验证) 选项卡并点击 Add a platform (添加平台)。选择 Web 应用程序类型并输入重定向 URI:

add-a-platform-web

验证 SSO

从 API7 控制台注销并重新访问登录页面。你现在应该会看到一个使用 Microsoft Entra ID 登录的选项:

login box with SSO option

你现在应该能够使用你的 Microsoft 账号进行登录了。

附加资源