在 Azure API 管理中使用 Microsoft Entra ID 授权开发人员帐户

在这篇文章中,你将学会如何:

  • 为组织Microsoft Entra ID 租户或其他Microsoft Entra ID 员工租户中的用户启用对开发人员门户的访问权限。
  • (可选)将外部标识提供者(如 Google 或 Facebook)添加到Microsoft Entra ID 员工租户,以允许用户使用这些帐户登录。
  • 通过添加包含这些用户的外部组来管理 Microsoft Entra 用户组。

有关保护开发人员门户选项的概述,请参阅保护对 API 管理开发人员门户的访问

重要

  • 本文更新了使用Microsoft身份验证库(MSAL)配置 Microsoft Entra 应用的步骤。
  • 如果以前使用 Azure AD 身份验证库(ADAL)为用户登录配置了Microsoft Entra 应用, 请迁移到 MSAL

小窍门

API 管理现在支持通过单个应用注册和标识配置从多个Microsoft Entra ID 租户中的用户访问开发人员门户。 目前,开发人员层、标准层和高级层支持此功能。

先决条件

转到你的 API 管理实例

  1. 在 Azure 门户中,搜索并选择 API 管理服务

    显示搜索结果中的 API 管理服务的屏幕截图。

  2. API 管理服务 页上,选择 API 管理实例:

    显示 API 管理服务页上的 API 管理实例的屏幕截图。

使用 Microsoft Entra ID 启用用户登录 - 门户

为了简化配置,API 管理可以为开发人员门户的用户自动启用 Microsoft Entra 应用程序和标识提供者。 你也可以手动启用 Microsoft Entra 应用程序和标识提供者。

自动启用 Microsoft Entra 应用程序和标识提供者

按照以下步骤在开发人员门户中自动启用 Microsoft Entra ID:

  1. 在 API 管理实例的左侧菜单中的“开发人员门户”下,选择“门户概述”。

  2. 在“门户概述”页上,向下滚动到“启用 Microsoft Entra ID 用户登录”。

  3. 选择“启用 Microsoft Entra ID”

  4. “启用 Microsoft Entra ID”页上,选择“启用 Microsoft Entra ID”。

  5. 选择关闭

    在开发人员门户概述页中启用 Microsoft Entra ID 的屏幕截图。

启用 Microsoft Entra 提供程序后:

  • Microsoft Entra 租户中的用户可以 使用 Microsoft Entra 帐户登录到开发人员门户
  • 可以在 门户的开发人员门户>标识 页上管理Microsoft Entra 标识提供者配置。
  • (可选)更新 Microsoft Entra ID 中的应用注册以支持多个租户,如 为多个租户配置应用注册中所述。 API 管理创建的默认应用注册的名称与 API 管理实例名称相同。
  • (可选)通过选择“身份”“设置”来配置其他登录选项。 例如,你可能希望将匿名用户重定向到登录页。
  • 在进行配置更改后重新发布开发人员门户。

手动启用 Microsoft Entra 应用和身份提供商

或者,通过在 Microsoft Entra ID 中自行注册应用程序并配置开发人员门户的标识提供者,在开发人员门户中手动启用 Microsoft Entra ID。

  1. 在您的 API 管理实例左侧菜单中的“开发人员门户”下,选择“身份”。

  2. 从顶部选择 “+ 添加 ”,打开右侧的 “添加标识提供者 ”窗格。

  3. 在“类型”下,从下拉菜单中选择“Microsoft Entra ID”。 选择此选项时,可以输入其他必要信息。

    • 在“客户端库”下拉列表中,选择“MSAL”。
    • 若要添加“客户端 ID”和“客户端密码”,请参阅本文后面的步骤。
  4. 保存“重定向 URL”供稍后使用。

    屏幕截图显示如何在 Azure 门户中添加标识提供者。

  5. 在浏览器上的新标签页中打开 Azure 门户。

  6. 导航到 应用注册 ,在 Microsoft Entra ID 中注册应用。

  7. 选择“新注册”。 在“注册应用程序”页上,将值设置如下:

    • 名称设置为有意义的名称,例如developer-portal
    • 设置 支持的帐户类型,选择适合你的方案。 如果要允许多个Microsoft Entra ID 租户中的用户访问开发人员门户,请选择任何组织目录中的帐户(多租户)。
    • 在“重定向 URI”中,选择“单页应用程序(SPA)”,然后粘贴上一步保存的重定向 URL。
    • 选择“注册” 。
  8. 注册应用程序后,从“概述”页复制应用程序(客户端)ID

  9. 切换到包含你的 API 管理实例的浏览器标签页。

  10. 在“添加标识提供者”窗口中,将“应用程序(客户端) ID”值粘贴到“客户端 ID”框中。

  11. 切换到具有应用注册的浏览器选项卡。

  12. 选择适当的应用注册。

  13. 在边侧菜单的“管理”部分下,选择“证书和机密”

  14. 在“证书和机密”页中,选择“客户端机密”下的“新建客户端机密”按钮

    • 输入说明
    • 为“过期”选择任一选项。
    • 选择“添加” 。
  15. 在离开页面之前复制客户端的密值。 后面的步骤需要用到。

  16. 在侧菜单中的管理下,选择令牌配置>+ 添加可选声明

    1. 在“令牌类型”中,选择“ID”。
    2. 选择(勾选)以下声明:email、family_name、given_name。
    3. 选择 添加 。 如果出现提示,请选择“启用 Microsoft Graph 邮件和个人资料权限”。
  17. 切换到包含你的 API 管理实例的浏览器标签页。

  18. 将机密粘贴到“添加标识提供者”窗格的“客户端机密”字段中 。

    重要

    在密钥过期之前更新“客户端机密”。

  19. 登录租户中,指定要用于登录 Microsoft Entra 的租户名称或 ID。 如果未指定值,将使用通用终结点。

  20. “允许的租户”中,添加一个或多个特定的Microsoft Entra 租户名称或 ID 以登录 Microsoft Entra。

    注意

    如果指定其他租户,则必须将应用注册配置为支持多个租户。 有关详细信息,请参阅 为多个租户配置应用注册

  21. 指定所需配置后,选择“添加”。

  22. 重新发布开发人员门户以使 Microsoft Entra 配置生效。 在左侧菜单中的“开发人员门户”下,选择“门户概述”“发布”。

启用 Microsoft Entra 提供程序后:

  • 指定 Microsoft Entra 租户中的用户可以使用 Microsoft Entra 帐户登录到开发人员门户
  • 可以在“开发人员门户”中的标识页面上管理 Microsoft Entra 配置。
  • 可选地通过选择标识>设置来配置其他登录设置。 例如,你可能希望将匿名用户重定向到登录页。
  • 在进行配置更改后重新发布开发人员门户。

迁移到 MSAL

如果以前使用 ADAL 为用户登录配置了 Microsoft Entra 应用,则可以使用门户将应用迁移到 MSAL 并在 API 管理中更新标识提供者。

更新 Microsoft Entra 应用以实现 MSAL 兼容性

有关步骤,请参阅将重定向 URI 切换为单页应用程序类型

更新标识提供者配置

  1. 在 API 管理实例的左侧菜单中的“开发人员门户”下,选择“身份”。
  2. 从列表中选择“Microsoft Entra ID”
  3. 在“客户端库”下拉列表中,选择“MSAL”。
  4. 选择“更新”。
  5. 重新发布开发人员门户

在 Microsoft Entra ID 租户中启用外部用户的访问权限(可选)

API 管理支持在 Microsoft Entra ID 员工租户中配置外部标识提供者。 例如,如果要允许员工租户中的用户(例如 Contoso 组织)访问开发人员门户,则可能需要将 Google 或 Facebook 配置为外部标识提供者,以便这些外部用户也可以使用其帐户登录。

要选择性地在 Microsoft Entra ID 租户中为外部用户启用对开发人员门户的访问,请完成以下步骤:

  1. 将外部标识提供者添加到 Microsoft Entra ID 租户。
  2. 启用自助注册。

1. 将外部标识提供者添加到 Microsoft Entra ID 租户

对于此情境,必须在工作租户中配置外部身份提供者。 配置外部身份提供商因特定提供商而异,本文不讨论。 例如,对于 Google,必须在 Google 开发人员控制台中创建项目,然后在 Microsoft Entra 中配置项目凭据。

有关选项和步骤的链接,请参阅 用于员工租户的外部 ID 身份提供者

2. 启用自助注册

若要允许外部用户注册以访问开发人员门户,请完成以下步骤:

a。 为租户启用自助注册。

b. 将您的应用程序添加到自助注册流程中。

有关详细信息和详细步骤,请参阅 为 B2B 协作添加自助注册用户流

在多个Microsoft Entra ID 租户中启用用户访问(可选)

注意

API 管理开发人员、标准层和高级层中当前提供对来自多个Microsoft Entra ID 租户的用户访问开发人员门户的支持。

若要选择性地允许来自多个Microsoft Entra ID 租户的用户访问开发人员门户,请完成以下步骤:

  1. 为多个租户配置应用注册。
  2. 更新开发人员门户的 Microsoft Entra ID 标识提供者配置以添加另一个租户。

1.为多个租户配置应用注册

应用注册必须支持多个租户。 可以通过以下任一方式配置此支持:

  • 创建应用注册时,将受支持的帐户类型设置为任何组织目录中的帐户(任何Microsoft Entra ID 租户 - 多租户)。
  • 如果以前为单个租户配置了应用注册,请更新应用注册的“管理>”页上支持的帐户类型设置。

2. 为多个租户更新 Microsoft Entra ID 标识提供者配置

更新标识提供者配置以添加另一个租户:

  1. 在 Microsoft Azure 门户中,转到 API 管理实例。
  2. “开发人员门户”下,选择 “标识”。
  3. 从列表中选择“Microsoft Entra ID”
  4. “租户 ID ”字段中,添加用逗号分隔的额外租户 ID。
  5. Signin 租户 的值更新为已配置的租户之一。
  6. 选择“更新”。
  7. 重新发布开发人员门户

添加一个外部的 Microsoft Entra 组

为 Microsoft Entra 租户中的用户启用访问权限后,可以:

  • 将 Microsoft Entra 组添加到 API 管理中。 必须在部署 API 管理实例的租户中添加组。
  • 使用 Microsoft Entra 组控制产品可见性。
  1. 请转到您在上一部分注册的应用程序的应用注册页面。
  2. 选择“API 权限”。
  3. 为 Microsoft 图形 API 添加以下最低应用程序权限
    • User.Read.All 应用程序权限 – 因此 API 管理可以读取用户的组成员身份,以便在用户登录时执行组同步。
    • Group.Read.All 应用程序权限 – 因此,当管理员尝试使用门户中的 “组” 边栏选项卡将组添加到 API 管理时,API 管理可以读取Microsoft Entra 组。
  4. 选择 {tenantname} 的“授予管理员许可” ,以授予此目录中所有用户的访问权限。

现在可以从 API 管理实例的“组”选项卡添加外部 Microsoft Entra 组。

  1. 在边侧菜单中的“开发人员门户”下,选择“组” 。

  2. 选择“添加 Microsoft Entra 组”按钮。

    显示门户中的“添加 Microsoft Entra 组”按钮的屏幕截图。

  3. 从下拉菜单中选择“租户”。

  4. 搜索并选择要添加的组。

  5. 选择 选择

添加外部Microsoft Entra 组后,可以查看并配置其属性:

  1. 从“组”选项卡中选择该组的名称。
  2. 编辑该组的“名称”和“说明”信息 。

配置的 Microsoft Entra 实例中的用户现在可以:

  • 登录到开发人员门户。
  • 可以查看和订阅可见范围内的任何组。

注意

Microsoft 标识平台中的权限和同意一文中详细了解“委托”权限类型和“应用程序”权限类型之间的差异 。

将 Microsoft Entra 组与 API 管理同步

在 Microsoft Entra 中配置的组必须与 API 管理同步,以便可以将它们添加到实例。 如果组未自动同步,请使用以下步骤之一手动同步组信息:

  • 注销并重新登录 Microsoft Entra ID。 此活动通常会触发组的同步。
  • 确保在 API 管理中的配置设置中以相同的方式(使用租户 ID 或域名)指定 Microsoft Entra 登录租户。 在 Microsoft Entra ID 标识提供者中为开发人员门户指定登录租户,并在将 Microsoft Entra 组添加到 API 管理时指定登录租户。

开发人员门户:添加 Microsoft Entra 帐户身份验证

在开发人员门户中,可以使用登录按钮启用Microsoft Entra ID 登录:默认开发人员门户内容的登录页上包含的 OAuth 小组件。

然后,用户可以使用 Microsoft Entra ID 登录,如下所示:

  1. 转到开发人员门户。 选择“登录”。

  2. “登录 ”页上,选择 Microsoft Entra ID。 选择此按钮将打开Microsoft Entra ID 登录页。

    显示在开发人员门户中的 OAuth 控件的屏幕截图。

    小窍门

    如果将多个租户配置为访问,登录页上会显示多个Microsoft Entra ID 按钮。 每个按钮都标有租户名称。

  3. 在 Microsoft Entra 租户的登录窗口中,响应提示。

    注意

    如果在 Microsoft Entra 租户中启用了外部标识提供者并配置了自助注册,请在登录窗口中选择外部标识提供者以使用这些凭据登录。

登录完成后,用户将被重定向回开发人员门户。 用户现在登录到开发人员门户,并在 “用户”中添加为新的 API 管理用户标识。

尽管新用户使用 Microsoft Entra ID 登录时自动创建新帐户,但请考虑将同一小组件添加到注册页面。 注册表单:OAuth 小组件表示用于使用 OAuth 进行注册的表单。

重要

需要重新发布门户才能使 Microsoft Entra ID 更改生效。