Azure API Management 和 OAuth2 - 对多个 API 使用单个 AD AppReg,还是对每个 API 使用单个 AD AppReg?

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

我目前正在设置 API 管理的单个实例。我有一个项目将由x4个API组成,这些API都是OAuth2认证所需要的(我有一个单一的AD租户)。

我一直在按照这个(相当困惑)指南来设置OAuth2的API管理。

https:/docs.microsoft.comen-usazureapi-managementapi-management-howto-protect-backend-with-aad

...它指定你创建一个Azure Active Directory应用注册,用于...

1) API(单一 API?

2) 访问 API 的客户端

我的问题是......我知道我可能只需要1个客户端App注册,但我是否需要为每个API注册x4个App,或者我是否可以只使用一个,然后让所有4个API都使用那个单一的App?

我已经测试过了,似乎工作得很好,我只是想知道我是否错过了一个技巧,并有可能在以后把自己画进一个角落。

我是想在这里寻求一些最佳实践,什么是正确的做法。有一个App注册可以照顾到4个(或更多)API,这样可以减少管理,但这会不会导致以后的问题?

先谢谢你

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

虽然从技术上讲,你不需要为每个webapi或每个应用程序注册1个应用程序,但它被认为是最佳实践的安全性和分离的apis和访问这样的apis,也使得它更容易审计和监控。

然而,如果你只是想用1个app注册来处理所有4个api.甚至客户端,在技术上没有什么可以阻止你。

例如,你将很难控制每个API的访问,例如,如果你想让用户A能够访问API A,而不是B,那就更难了。另外,从安全的角度来说,如果你只有一个应用注册,所有其他的APIS将能够访问彼此的终端。

例如,如果你想在应用注册中为其中一个应用做一些特定的事情,范围roles等,将它们结合起来会使你更难做到。

一句话,在90-95%的情况下,为每个web api创建一个,这是最好的做法,并且有可能在以后为你省去麻烦。

希望能给你一点启示

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