You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过授权保护Azure Function?寻求生产可用的合规方案

Azure Function API 生产环境保护方案解析

一、原Microsoft Identity Platform方案完全适用

你之前采用的Azure AD注册API、公开范围、关联客户端应用并配置API权限的流程,完全可以用来保护Azure Function API,而且这是生产环境推荐的标准方案之一,核心优势包括:

  • 原生适配:Azure Function原生支持Azure AD身份验证,只需在函数应用的身份验证设置中启用Azure AD提供商,关联你创建的API注册即可完成对接。
  • 细粒度权限控制:通过自定义的API范围(Scopes),可以为不同客户端应用分配差异化的访问权限,满足多场景的权限管控需求。
  • 企业级安全合规:基于OAuth2.0/OpenID Connect协议,支持令牌验证、身份生命周期管理等功能,符合企业级安全标准。

对应你熟悉的操作流程,适配到Azure Function的步骤如下:

  1. 在Azure AD中为你的Azure Function API创建应用注册,设置与函数应用受众一致的标识符URI。
  2. 公开自定义API范围(如access_api),定义权限的具体作用。
  3. 将需要访问该API的客户端应用添加到资源访问列表,并授予对应的范围权限。
  4. 在客户端应用的API权限中确认已添加权限,并完成管理员同意(针对租户级权限)。
  5. 在Azure Function的身份验证设置中,启用Azure AD作为身份提供商,配置为“验证用户或应用”模式,关联上述API注册的客户端ID和租户ID。

二、其他可选生产级保护方案

除了Azure AD身份验证,还有以下适合生产环境的方案:

  • Azure AD B2C:如果API需要面向外部消费者用户,可使用Azure AD B2C管理用户身份,支持社交登录、自定义用户流,同样通过OAuth2.0令牌验证访问。
  • API Management(APIM)集成:将Azure Function接入APIM,通过APIM统一管理身份验证(支持Azure AD、OAuth2.0等多种方式),同时还能实现流量控制、缓存、监控等附加功能,适合复杂API生态场景。
  • 第三方身份提供商验证:通过Azure Function的自定义中间件,实现对Okta、Auth0等第三方身份提供商令牌的验证,适配已有外部身份系统的场景。

三、关于函数密钥的补充说明

你提到的函数密钥仅适合开发/测试环境,原因在于它属于共享密钥,无法区分不同用户或应用的权限,一旦泄露会导致API完全暴露,生产环境绝对不建议使用。

内容的提问来源于stack exchange,提问作者Jashvita

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:40:54