Azure解决方案:Azure API Management使用场景分析

51CTO 博客地址:https://blog.51cto.com/14669127

需求:某企业A实现了若干具有http触发器的Azure逻辑应用程序:逻辑应用程序提供对本地Web服务的访问。该企业A与另一家企业B建立了合作关系,而企业B没有Azure Active Directory(Azure AD)租户,并使用第三方OAuth 2.0身份管理来认证其用户,企业B的开发人员计划使用逻辑应用程序的一个子集来构建与企业A的本地Web 服务集成的应用程序。

需要设计一个解决方案,为企业B开发人员提供访问逻辑应用程序的途径,解决方案必须满足:

·       企业B的开发人员对逻辑应用程序的请求必须低于企业A用户的请求

·       企业B的开发人员必须能够依赖他们现有的OAuth 2.0提供者来访问逻辑应用程序

·       解决方案必须不需要更改逻辑应用程序

·       解决方案不能使用Azure AD客户账户


解决方案分析:


讨论需求时,有开发人员提到使用Azure AD Application Proxy作为解决方案,因为Application Proxy是Azure AD的一个特性,允许用户从远程客户端访问本地Web应用程序,Application Proxy包括运行在云中的Application Proxy Service和运行在本地服务器上的Application Proxy Connector,但Application Proxy必须使用与Web应用程序集成的Windows身份验证,并且使用基于表单或基于header access的身份验证的Web应用程序,而需求中提到企业B的开发人员必须能够依赖他们现有的OAuth 2.0提供者来访问逻辑应用程序,所以Azure AD Application Proxy作为解决方案不可行。


经过分析之后,普遍认为API Management可以帮助企业A向外部合作伙伴企业B的开发人员发布API,以释放其数据和服务的潜力,API Management通过开发人员参与、业务洞察、分析、安全和保护,提供了确保API项目成功的核心能力,可以使用Azure API Management作为任何后端,并基于它来启动一个成熟的API程序,同时还可以使用OAuth2.0客户端凭证流保护API Management。

API Gateway是一个endpoint:


·       接受API调用并将它们路由到后端

·       验证API密钥,JWT令牌、证书和其他凭证

·       执行使用配额和速度限制

·       在不修改代码的情况下动态转换API

·       缓存设置好的后端响应

·       出于分析的目的,日志调用元数据


API是API Management Service Instance的基础,每个API代表开发人员可用的一组操作,每个API都包含一个对实现该API的后端服务的引用,其操作映射到后端服务实现的操作,API管理中的操作是高度可配置的,可以控制URL映射、查询和路径参数、请求和响应内容以及操作响应缓存。速度限制、配额和IP限制策略也可以在API或单个操作级别实现。

综上,Azure API Management 满足企业的需求,可以作为该需求的解决方案。

相关资料:

·       About API Management

·       Feature-based comparison of the Azure API Management tiers

 


上一篇:镜像服务(Image Management Service,IMS)


下一篇:镜像服务(Image Management Service,IMS)