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

pcrecxhr  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(125)

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

问题

由于我们有大量的API,我们有许多API客户端应用程序注册和应用程序注册为每个用户订阅的应用程序。此外,这些API应用程序注册可在三个环境(DEV,QA和PROD)中使用。管理应用程序注册变得非常困难。此外,所有这些API客户端应用程序注册都有独特的角色。
我们希望减少应用程序注册的数量,并考虑做一个产品级的应用程序注册。此外,而不是每个用户的应用程序注册,我们希望有一个应用程序注册每个产品订阅从一个团队。
在这里,我们不确定如何管理每个API的角色,因为每个API都有不同的角色。基于API的应用程序注册将拥有所有角色,我们如何将这些角色分配给每个用户。
例如:我们有一个产品ProductA,它下面有10个API。我们为这个产品创建一个APP注册ApiAppA,这个APP注册可以用于AAD认证。它有两个应用角色Api1.ReadApi2.Write,两个API是Api1Api2。现在作为订阅者,我们将有另一个应用注册,比如ClientAppB。我们计划使用来自ClientAppB的客户端凭据流通过ApiAppA应用注册连接到ProductA。因此,当用户说John想订阅ProductA下的API时,他只想要Api1。为ApiAppA读取,另外一个用户Tom想要订阅产品A下的另一个API,需要访问Api2.Write**角色,如何分配?我们使用客户端凭证流。

gcuhipw9

gcuhipw91#

由于您使用的是客户端凭据流,因此您可以为每个产品的应用注册中暴露的客户端应用提供application permissions。从技术上讲,您也可以为所有API提供一个应用注册,并将每个应用作为单独的应用程序范围暴露。
每个客户端应用程序注册都必须根据他们需要访问的API分配应用程序范围。
要验证权限,您可以在APIM中的产品或API级别策略文档中添加检查,以检查所需的应用程序范围。

相关问题