什么是政策?

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

借助 Apigee Edge,您可以使用“政策”来“编程”API 行为,而无需编写任何代码。政策就像一个实现特定受限管理功能的模块。这些政策旨在让您能够轻松可靠地向 API 添加常见的管理功能类型。政策提供安全、速率限制、转换和中介功能等功能,让您无需自行编写代码和维护此功能。

您可以使用的不只有 Apigee Edge 提供的一组政策类型。您还可以编写 扩展 API 代理的自定义脚本和代码(例如 JavaScript 和 Node.js 应用) 并让您能够在由 Google Cloud 提供支持的基本管理功能的基础上进行创新 Apigee 政策。

请观看本视频,了解政策附件和执行。

政策类型

从技术上讲,政策是 XML 格式的配置文件。每种政策类型的结构 (例如,必需和可选的配置元素)由 XML 架构定义。如果您能熟练使用 XML 工具 有必要在 GitHub 上熟悉 API 平台示例中的政策架构。

Edge 政策类型分为以下功能类别:

流量管理

通过流量管理类别中的政策,您可以通过 API 代理控制请求和响应消息的流。这些政策同时支持操作级和业务级控制。它们可让您控制原始吞吐量,还可以按应用控制流量。通过流量管理政策类型,您可以强制执行配额,还有助于减轻拒绝服务攻击的风险。

安全

安全类别中的政策支持身份验证、授权以及基于内容的安全措施。

中介

中介类别中的政策让您可以在消息流经 API 代理时主动对其执行操作。它们允许您将消息格式从 XML 转换为 JSON(反之亦然),或将一种 XML 格式转换为另一种 XML 格式。它们还可让您解析消息、生成新消息和更改出站消息的值。中介政策还与 API 服务公开的基本服务进行交互,让您可以在运行时检索有关应用、开发者、安全令牌和 API 产品的数据。

扩展程序

通过扩展程序类别中的政策,您可以利用 API 服务的可扩展性,从而以您选择的编程语言实现自定义行为。

政策参考概览中详细介绍了每种政策。 本主题演示了一般互动,向您展示如何创建 政策以及如何 将它们附加到 API 代理配置中的流。

部署政策更改

要使政策更改生效,您必须将 API 代理修订版本部署到环境。在附加政策或对现有政策做出更改后,请使用管理界面或管理 API 部署更改。

验证政策执行情况

要验证政策是否正确执行,API 必须由 HTTP 客户端调用。如需验证此配额配置,请向 API 提交多个请求,超出您在配额政策中设置的配额限制。(下面请求中的 URI 路径(配置为 ProxyEndpoint 中的基本路径设置)是 /weather)。

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

在一分钟内提交多个请求后,您应该会看到以下错误消息:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

这表示配额政策正在由 API 服务强制执行。

基于政策的错误处理

请记下以上错误消息的格式。它包含 faultstring 属性和 errorcode 属性。在许多情况下,您需要实现某些处理这些错误的行为。例如,您可能希望向应用超出配额的开发者发布自定义消息。

如需详细了解错误处理,请参阅处理错误

最佳做法:常见政策集

为了满足基本管理要求,API 代理通常会强制执行以下政策:

基本 API 密钥验证

ProxyEndpoint 请求流程
  1. SpikeArrest
  2. XMLThreatProtection 或 JSONThreatProtection
  3. API 密钥验证
  4. 配额
  5. ResponseCache
ProxyEndpoint 响应流程
  1. ResponseCache

基本转换:JSON 到 XML

请求流程
  1. SpikeArrest
  2. JSONThreatProtection
  3. API 密钥验证
  4. 配额
  5. JSONtoXML
响应流程
  1. XMLtoJSON
  2. ResponseCache