实施 API 策略

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

API 策略简介

API 管理策略

  • 如同门卫:核查谁能进入
  • 如同限速标志:控制流量
  • 通过拦截异常请求保护 API
  • 对请求限流,防止系统被淹没
  • 进出 API 网关的一切均受策略控制
Azure API Management

API 管理策略概览

APIM 策略

  • 策略是一组用简单 XML 编写的强大规则
  • 可将其视为请求-响应管道
  • 可在不同阶段插入规则以塑造流量
  • 最大好处:无需改动后端代码
Azure API Management

示例:向后兼容

通过 APIM 向后兼容

Azure API Management

策略范围

  • 策略可为全局与组织范围
    • 这些规则控制所有 API
  • 也可应用于单个 API
    • 便于管理特定产品
  • 还可应用于单个端点
    • 用于精细化控制

策略范围

Azure API Management

入站策略

  • 请求到达时,APIM 先评估入站策略
  • 例:通过补充负载数据,让旧版应用兼容新版 API
  • 入站策略可防御恶意请求
  • 可检测畸形请求或缺失数据
  • 早期护栏可阻止不良数据进入后端服务

入站数据增强

请求验证

Azure API Management

安全与限流

用于安全的入站策略

强制请求配额

  • 这些策略限制过量客户端,确保公平使用并保护后端
  • 入站策略还负责安全
  • 常见策略:验证 JWT(JSON Web Token)
  • 可将 JWT 理解为客户端发送的数字身份证
  • validate-jwt 策略检查其是否合法、未过期、且来自可信颁发者(如 Entra ID)
  • 更强控制:限流与配额策略
Azure API Management

出站策略

  • 后端处理后,出站策略在返回前调整响应
  • 类比餐厅:请求→厨房(后端)→装盘台(出站策略)
  • 出站策略可:
    • 移除不需要的部分(如敏感头)
    • 添加指令(如缓存指令)
    • 改变格式(如将 XML 转为 JSON)

响应数据增强

响应转换

  • 无论后端如何准备,响应都能满足客户端预期
Azure API Management

让我们来练习!

Azure API Management

Preparing Video For Download...