微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

何时使用 Azure AD 来保护 Azure API 管理?

如何解决何时使用 Azure AD 来保护 Azure API 管理?

我正在开发一个 API,它将暴露给几个外部客户端。我想限制对我的 API 的访问,只让受信任的 3rd 方访问我的 API。我发现Azure API 管理 提供了订阅 密钥,可用于保护 API - https://docs.microsoft.com/en-us/azure/active-directory-b2c/secure-api-management?tabs=app-reg-ga

此外,我发现我可以将我的 API 连接到 Azure AD - https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-protect-backend-with-aad,如果我想根据外部系统的角色和类型限制访问(对于例如,某些外部系统将具有一个角色,允许使用一些附加功能

当我必须使用 Azure AD 而不是订阅密钥时,您能否帮助我了解所有其他情况?我可以一起使用它们吗?

如果您想访问客户端应用程序(浏览器、移动应用程序等),我还想了解哪种方法最适合我。据我了解,Azure AD B2C 可能是这里的最佳选择

解决方法

根据您的需求,如果不需要APIM(不需要通过APIM配置api暴露的url),我建议您只使用Azure AD来保护您的api。你可以参考这个document

如果需要APIM,并且您的要求不需要限制不同角色访问api的多个权限(换句话说,您只是希望客户端可以/不能访问api)。正如您在问题中提到的,您只需通过订阅密钥即可实现它。

如果需要APIM,并且您的需求需要为不同的角色提供不同的权限来访问api,您可以按照您提供的第二个document link进行。您可以验证访问令牌的角色或其他声明,以向客户端提供不同的权限。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。