Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
在这篇文章中,你将学会如何:
- 为组织Microsoft Entra ID 租户或其他Microsoft Entra ID 员工租户中的用户启用对开发人员门户的访问权限。
- (可选)将外部标识提供者(如 Google 或 Facebook)添加到Microsoft Entra ID 员工租户,以允许用户使用这些帐户登录。
- 通过添加包含这些用户的外部组来管理 Microsoft Entra 用户组。
有关保护开发人员门户选项的概述,请参阅保护对 API 管理开发人员门户的访问。
重要
小窍门
API 管理现在支持通过单个应用注册和标识配置从多个Microsoft Entra ID 租户中的用户访问开发人员门户。 目前,开发人员层、标准层和高级层支持此功能。
先决条件
完成创建 Azure API 管理实例快速入门。
在 Azure API 管理实例中导入并发布 API。
如果在 v2 层级中创建了实例,请启用开发人员门户。 有关详细信息,请参阅教程:访问和自定义开发人员门户。
转到你的 API 管理实例
在 Azure 门户中,搜索并选择 API 管理服务:
在 API 管理服务 页上,选择 API 管理实例:
使用 Microsoft Entra ID 启用用户登录 - 门户
为了简化配置,API 管理可以为开发人员门户的用户自动启用 Microsoft Entra 应用程序和标识提供者。 你也可以手动启用 Microsoft Entra 应用程序和标识提供者。
自动启用 Microsoft Entra 应用程序和标识提供者
按照以下步骤在开发人员门户中自动启用 Microsoft Entra ID:
在 API 管理实例的左侧菜单中的“开发人员门户”下,选择“门户概述”。
在“门户概述”页上,向下滚动到“启用 Microsoft Entra ID 用户登录”。
选择“启用 Microsoft Entra ID”。
在“启用 Microsoft Entra ID”页上,选择“启用 Microsoft Entra ID”。
选择关闭。
启用 Microsoft Entra 提供程序后:
- Microsoft Entra 租户中的用户可以 使用 Microsoft Entra 帐户登录到开发人员门户。
- 可以在 门户的开发人员门户>标识 页上管理Microsoft Entra 标识提供者配置。
- (可选)更新 Microsoft Entra ID 中的应用注册以支持多个租户,如 为多个租户配置应用注册中所述。 API 管理创建的默认应用注册的名称与 API 管理实例名称相同。
- (可选)通过选择“身份”“设置”来配置其他登录选项。 例如,你可能希望将匿名用户重定向到登录页。
- 在进行配置更改后重新发布开发人员门户。
手动启用 Microsoft Entra 应用和身份提供商
或者,通过在 Microsoft Entra ID 中自行注册应用程序并配置开发人员门户的标识提供者,在开发人员门户中手动启用 Microsoft Entra ID。
在您的 API 管理实例左侧菜单中的“开发人员门户”下,选择“身份”。
从顶部选择 “+ 添加 ”,打开右侧的 “添加标识提供者 ”窗格。
在“类型”下,从下拉菜单中选择“Microsoft Entra ID”。 选择此选项时,可以输入其他必要信息。
- 在“客户端库”下拉列表中,选择“MSAL”。
- 若要添加“客户端 ID”和“客户端密码”,请参阅本文后面的步骤。
保存“重定向 URL”供稍后使用。
在浏览器上的新标签页中打开 Azure 门户。
导航到 应用注册 ,在 Microsoft Entra ID 中注册应用。
选择“新注册”。 在“注册应用程序”页上,将值设置如下:
- 将名称设置为有意义的名称,例如developer-portal
- 设置 支持的帐户类型,选择适合你的方案。 如果要允许多个Microsoft Entra ID 租户中的用户访问开发人员门户,请选择任何组织目录中的帐户(多租户)。
- 在“重定向 URI”中,选择“单页应用程序(SPA)”,然后粘贴上一步保存的重定向 URL。
- 选择“注册” 。
注册应用程序后,从“概述”页复制应用程序(客户端)ID。
切换到包含你的 API 管理实例的浏览器标签页。
在“添加标识提供者”窗口中,将“应用程序(客户端) ID”值粘贴到“客户端 ID”框中。
切换到具有应用注册的浏览器选项卡。
选择适当的应用注册。
在边侧菜单的“管理”部分下,选择“证书和机密”。
在“证书和机密”页中,选择“客户端机密”下的“新建客户端机密”按钮。
- 输入说明。
- 为“过期”选择任一选项。
- 选择“添加” 。
在离开页面之前复制客户端的密值。 后面的步骤需要用到。
在侧菜单中的管理下,选择令牌配置>+ 添加可选声明。
- 在“令牌类型”中,选择“ID”。
- 选择(勾选)以下声明:email、family_name、given_name。
- 选择 添加 。 如果出现提示,请选择“启用 Microsoft Graph 邮件和个人资料权限”。
切换到包含你的 API 管理实例的浏览器标签页。
将机密粘贴到“添加标识提供者”窗格的“客户端机密”字段中 。
重要
在密钥过期之前更新“客户端机密”。
在登录租户中,指定要用于登录 Microsoft Entra 的租户名称或 ID。 如果未指定值,将使用通用终结点。
在 “允许的租户”中,添加一个或多个特定的Microsoft Entra 租户名称或 ID 以登录 Microsoft Entra。
注意
如果指定其他租户,则必须将应用注册配置为支持多个租户。 有关详细信息,请参阅 为多个租户配置应用注册。
指定所需配置后,选择“添加”。
重新发布开发人员门户以使 Microsoft Entra 配置生效。 在左侧菜单中的“开发人员门户”下,选择“门户概述”“发布”。
启用 Microsoft Entra 提供程序后:
- 指定 Microsoft Entra 租户中的用户可以使用 Microsoft Entra 帐户登录到开发人员门户。
- 可以在“开发人员门户”中的
标识 页面上管理 Microsoft Entra 配置。 - 可选地通过选择标识>设置来配置其他登录设置。 例如,你可能希望将匿名用户重定向到登录页。
- 在进行配置更改后重新发布开发人员门户。
迁移到 MSAL
如果以前使用 ADAL 为用户登录配置了 Microsoft Entra 应用,则可以使用门户将应用迁移到 MSAL 并在 API 管理中更新标识提供者。
更新 Microsoft Entra 应用以实现 MSAL 兼容性
有关步骤,请参阅将重定向 URI 切换为单页应用程序类型。
更新标识提供者配置
- 在 API 管理实例的左侧菜单中的“开发人员门户”下,选择“身份”。
- 从列表中选择“Microsoft Entra ID”。
- 在“客户端库”下拉列表中,选择“MSAL”。
- 选择“更新”。
- 重新发布开发人员门户。
在 Microsoft Entra ID 租户中启用外部用户的访问权限(可选)
API 管理支持在 Microsoft Entra ID 员工租户中配置外部标识提供者。 例如,如果要允许员工租户中的用户(例如 Contoso 组织)访问开发人员门户,则可能需要将 Google 或 Facebook 配置为外部标识提供者,以便这些外部用户也可以使用其帐户登录。
要选择性地在 Microsoft Entra ID 租户中为外部用户启用对开发人员门户的访问,请完成以下步骤:
- 将外部标识提供者添加到 Microsoft Entra ID 租户。
- 启用自助注册。
1. 将外部标识提供者添加到 Microsoft Entra ID 租户
对于此情境,必须在工作租户中配置外部身份提供者。 配置外部身份提供商因特定提供商而异,本文不讨论。 例如,对于 Google,必须在 Google 开发人员控制台中创建项目,然后在 Microsoft Entra 中配置项目凭据。
有关选项和步骤的链接,请参阅 用于员工租户的外部 ID 身份提供者。
2. 启用自助注册
若要允许外部用户注册以访问开发人员门户,请完成以下步骤:
a。 为租户启用自助注册。
b. 将您的应用程序添加到自助注册流程中。
有关详细信息和详细步骤,请参阅 为 B2B 协作添加自助注册用户流。
在多个Microsoft Entra ID 租户中启用用户访问(可选)
注意
API 管理开发人员、标准层和高级层中当前提供对来自多个Microsoft Entra ID 租户的用户访问开发人员门户的支持。
若要选择性地允许来自多个Microsoft Entra ID 租户的用户访问开发人员门户,请完成以下步骤:
- 为多个租户配置应用注册。
- 更新开发人员门户的 Microsoft Entra ID 标识提供者配置以添加另一个租户。
1.为多个租户配置应用注册
应用注册必须支持多个租户。 可以通过以下任一方式配置此支持:
- 创建应用注册时,将受支持的帐户类型设置为任何组织目录中的帐户(任何Microsoft Entra ID 租户 - 多租户)。
- 如果以前为单个租户配置了应用注册,请更新应用注册的“管理>”页上支持的帐户类型设置。
2. 为多个租户更新 Microsoft Entra ID 标识提供者配置
更新标识提供者配置以添加另一个租户:
- 在 Microsoft Azure 门户中,转到 API 管理实例。
- 在 “开发人员门户”下,选择 “标识”。
- 从列表中选择“Microsoft Entra ID”。
- 在 “租户 ID ”字段中,添加用逗号分隔的额外租户 ID。
- 将 Signin 租户 的值更新为已配置的租户之一。
- 选择“更新”。
- 重新发布开发人员门户。
添加一个外部的 Microsoft Entra 组
为 Microsoft Entra 租户中的用户启用访问权限后,可以:
- 将 Microsoft Entra 组添加到 API 管理中。 必须在部署 API 管理实例的租户中添加组。
- 使用 Microsoft Entra 组控制产品可见性。
- 请转到您在上一部分注册的应用程序的应用注册页面。
- 选择“API 权限”。
- 为 Microsoft 图形 API 添加以下最低应用程序权限:
-
User.Read.All应用程序权限 – 因此 API 管理可以读取用户的组成员身份,以便在用户登录时执行组同步。 -
Group.Read.All应用程序权限 – 因此,当管理员尝试使用门户中的 “组” 边栏选项卡将组添加到 API 管理时,API 管理可以读取Microsoft Entra 组。
-
- 选择 {tenantname} 的“授予管理员许可” ,以授予此目录中所有用户的访问权限。
现在可以从 API 管理实例的“组”选项卡添加外部 Microsoft Entra 组。
在边侧菜单中的“开发人员门户”下,选择“组” 。
选择“添加 Microsoft Entra 组”按钮。
从下拉菜单中选择“租户”。
搜索并选择要添加的组。
选择 选择。
添加外部Microsoft Entra 组后,可以查看并配置其属性:
- 从“组”选项卡中选择该组的名称。
- 编辑该组的“名称”和“说明”信息 。
配置的 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 登录,如下所示:
转到开发人员门户。 选择“登录”。
在 “登录 ”页上,选择 Microsoft Entra ID。 选择此按钮将打开Microsoft Entra ID 登录页。
小窍门
如果将多个租户配置为访问,登录页上会显示多个Microsoft Entra ID 按钮。 每个按钮都标有租户名称。
在 Microsoft Entra 租户的登录窗口中,响应提示。
注意
如果在 Microsoft Entra 租户中启用了外部标识提供者并配置了自助注册,请在登录窗口中选择外部标识提供者以使用这些凭据登录。
登录完成后,用户将被重定向回开发人员门户。 用户现在登录到开发人员门户,并在 “用户”中添加为新的 API 管理用户标识。
尽管新用户使用 Microsoft Entra ID 登录时自动创建新帐户,但请考虑将同一小组件添加到注册页面。 注册表单:OAuth 小组件表示用于使用 OAuth 进行注册的表单。
重要
需要重新发布门户才能使 Microsoft Entra ID 更改生效。
相关内容
- 若要详细了解 Microsoft Entra ID 和 OAuth 2.0,请参阅 Microsoft Entra ID 和 OAuth2.0。
- 若要了解有关 MSAL 的详细信息,请参阅 MSAL 并 迁移到 MSAL。
- 若要排查从虚拟网络内部到 Microsoft Graph 的网络连接问题,请参阅 从 VNet 内部排查与 Microsoft Graph 的网络连接问题。