我目前正在建立一个API管理的实例。我有一个由x4 API组成的项目,所有这些都是OAuth2身份验证所必需的(我有一个AD租户)。
我一直在遵循这个(相当令人困惑的)指南,如何用OAuth2设置API管理.
https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad
...it指定为.创建一个Azure Active应用程序注册。
1) API (单一API?)
2)访问API的客户端
我的问题是.我知道我可能只需要一个客户端应用程序注册,但是我是否需要为每个x4应用程序注册,或者我可以只使用单个应用程序,让所有4个API都使用该应用程序吗?
我已经测试过这个了,它看起来很好,我只是想知道我是不是错过了一个窍门,以后可能会把自己画在角落里。
在这里,我是在做正确的事情上的一些最佳实践。拥有一个能够照顾x4 (或更多)API的应用程序注册并不是那么的管理,但是这会引起以后的问题吗?
提前感谢
发布于 2020-06-09 01:35:07
虽然技术上不需要为每个webapi或每个应用程序注册一个应用程序。但是它被认为是用于apis的安全性和分离以及对这些apis的访问的最佳实践,也使得审计和监视变得更加容易。
但是,如果您只想让一个应用程序注册来处理所有4个apis,那么技术上没有什么可以阻止您的。就连客户也不例外。
例如,你将很难控制每个API的访问,例如如果你想让用户A能够访问api A,而不是B。那么这就更困难了。而且,从安全性的角度来看,如果您只注册了一个应用程序,那么所有其他app都可以访问彼此的端点。
可管理性也发挥了作用。例如,如果您想为应用程序注册中的某个应用程序指定一些特定的东西,那么范围/角色/等等的组合会使您更难这样做。
总之,在90%-95%的情况下,为每个web创建一个api,这是最好的实践,并且可能会在以后为您节省头痛。
希望能给你一点洞察力
https://stackoverflow.com/questions/62270992
复制相似问题