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



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

此外,我看到我可以连接我的API到Azure AD- https://learn.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。你可以参考这份文件。

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

如果APIM是必需的,并且您的需求需要为访问api的不同角色提供不同的权限,您可以将其作为您提供的第二个文档链接来实现。您可以验证角色或访问令牌的其他声明,以向客户端提供不同的权限。

最新更新