Azure API 管理的产品级身份验证 (AAD)

问题描述 投票:0回答:1

我们正在 Azure API 管理中管理超过 400 个 API。我们还有一个批准 API 订阅请求的批准流程,其中将向 API 客户端应用程序注册分配权限以进行身份验证。

问题

由于我们有很多 API,因此每个订阅该应用程序的用户都有同样多的 API 客户端应用程序注册和应用程序注册。此外,这些 API 应用程序注册可在三种环境(DEV、QA 和 PROD)中使用。管理应用程序注册变得非常困难。此外,所有这些 API 客户端应用程序注册都有不同的角色。

我们想减少应用程序注册的数量,并考虑进行产品级别的应用程序注册。此外,我们希望为团队的每个产品订阅进行单一应用注册,而不是为每个用户注册应用。

在这里我们不确定如何管理每个 API 的角色,因为每个 API 都有不同的角色。基于 API 的应用程序注册将具有所有角色,我们如何将这些角色分配给每个用户。

eg:我们有一个产品ProductA,它下面有10个API。我们为这个产品创建一个APP注册ApiAppA,这个app注册可以用于AAD认证。它有两个应用程序角色 Api1.ReadApi2.Write 用于两个 API Api1Api2。现在作为订阅者,我们将有另一个应用程序注册说ClientAppB。我们计划使用来自 ClientAppB 的客户端凭证流通过 ApiAppA 应用程序注册连接到 ProductA。因此,当用户说 John 想要订阅 ProductA 下的 API 时。他只想要 Api1.ReadApiAppA。另外一个用户 Tom 想订阅产品 A 下的另一个 API,他需要访问 Api2.Write 角色。我们如何分配它?我们正在使用客户端凭证流。

azure azure-active-directory azure-api-management
1个回答
0
投票

由于您使用的是客户端凭证流程,因此您可以为客户端应用程序提供应用程序权限在每个产品的应用程序注册中公开。从技术上讲,您也可以为所有 API 只有一个应用程序注册,并将每个应用程序公开为一个单独的应用程序范围。

每个客户端应用程序注册都必须根据他们需要访问的 API 分配应用程序范围。

要验证权限,您可以在 APIM 中的产品或 API 级别策略文档中添加检查,以检查所需的应用范围。

© www.soinside.com 2019 - 2024. All rights reserved.