内置策略
IBM® API Connect 包含若干内置策略,您可以利用这些策略将预配置的策略语句应用于某项操作,从而在调用 API 时控制网关服务器中处理流程的某个方面。
注: 虽然某些内置策略可以同时与 DataPower® Gateway (v5 compatible) 和 DataPower API Gateway配合使用,但某些策略仅限于特定网关。 以下图标指示可配合每项策略使用的网关:
表示该策略可在. DataPower Gateway (v5 compatible) 上运行。 DataPower Gateway 在 API Connect Enterprise as a Service 中不可用。
表示该策略可在. DataPower API Gateway 上运行。
有关这两种网关类型的详细信息,请参阅 API Connect “网关类型 ”。
在 API 上下文中配置内置策略。 您可以使用 API Designer 组合件编辑器将内置策略添加到 API 并配置该策略的属性。
您还可以通过创建 OpenAPI 定义文件向 API 添加内置策略。 有关详细信息,请参阅 《创建 OpenAPI 定义文件》。
下表显示了可用内置策略的列表。 此表包含指向内置策略定义和 OpenAPI 策略定义的配置信息的链接。 这些策略是相同的,但创建方式不同。
在您的 OpenAPI 2.0 API 程序集 中包含元素,在您的 OpenAPI 3.0 API 程序集 中包含元素| 内置策略 | OpenAPI 策略 | 描述 | ||
|---|---|---|---|---|
| 活动日志 | activity-log | 使用 “活动日志 ”策略,配置您对存储在 IBM API Connect 分析中的 API 活动的日志记录偏好设置。 您指定的首选项将覆盖收集和存储 API 活动详细信息的缺省设置。 | ![]() |
![]() API 设计中提供的功能; 请参阅“配置活动日志记录”( OpenAPI 2.0 ) 或“配置活动日志记录” ( OpenAPI 3.0 ) |
| 客户机安全性 | client-security | 提供一系列用于对 API 的客户机访问权进行认证的选项,从而扩展 OpenAPI 规范的功能。 | ![]() |
![]() |
| 提取 | 提取 | 使用 “提取 ”策略从 API 字段中提取并转换数据。 | ![]() |
![]() |
| GatewayScript | gatewayscript | 使用 gatewayscript 策略来执行指定的 DataPower GatewayScript 程序。 GatewayScript 策略仅适用于 Premium subscription. |
![]() |
![]() |
| 生成 JWT | jwt-generate | 使用 IBM API Connect 中的 生成 JWT 安全策略来生成 JSON Web 令牌 (JWT)。 | ![]() |
![]() |
| GraphQL 成本分析 | GraphQL 成本分析 | 使用“ GraphQL ”成本分析策略来获取目标查询的成本分析结果。 | ![]() |
![]() |
| GraphQL 执行 | graphql-execute | 使用 GraphQL 的Execute策略,通过子查询执行 GraphQL 查询。 | ![]() |
![]() |
| GraphQL 自省 | graphql-introspect | 使用 GraphQL 的Introspect策略来检查 GraphQL 模式。 | ![]() |
![]() |
| 如果 | 如果 | 使用 if 策略以在满足某个条件时应用组合件的一部分。 | ![]() |
![]() 交换机提供的功能 |
| 调用 | 调用 | 应用 调用 策略以从组合件中调用另一个服务。 来自后端的响应存储在变量 message.body 或响应对象变量(如果定义)中。 策略可以与 JSON 或 XML 数据一起使用,并且可在组合件中多次应用。 |
![]() |
![]() |
| JSON 到 XML | json-to-xml | 使用 JSON 到 XML 策略将 API 的上下文有效内容从 JavaScript 对象表示法 (JSON) 格式转换为可扩展标记语言 (XML) 格式。 | ![]() |
![]() |
| Lambda | Lambda | 使用 Lambda 策略,无需通过 Amazon API Gateway ,即可直接从 API 触发 AWS Lambda 函数。 | ![]() |
![]() |
| 映射 | 映射 | 使用 映射 策略将变换应用于组合件流并指定变量之间的关系。 | ![]() |
![]() |
| 消息模板 | 消息模板 | 使用 “消息模板 ”策略为. DataPower API Gateway 创建模拟的 API 响应。 | ![]() |
![]() |
| OAuth | oauth | 使用策略到策略 OAuth 功能,根据定义的 OAuth 提供程序设置执行 OAuth 处理。 | ![]() |
![]() |
| operation-switch | operation-switch | 使用 operation-switch 策略将组合件的某一部分应用于特定操作。 | ![]() |
![]() |
| 解析 | 语法分析 | 使用 解析 策略来控制输入文档的解析。 当输入文档为 JSON 字符串时,将解析而非复制该字符串。 | ![]() |
![]() |
| 代理 | 代理 | 应用 代理 策略以调用组合件中的另一个 API ,尤其是在单独的 API 包含大型有效内容时。 来自后端的响应存储在 message.body 和响应对象变量(如果定义)中。 每个唯一组合件流只允许运行一个策略。 |
![]() |
![]() Invoke 提供的功能 |
| 速率限制 | 速率限制 | 使用 速率限制 策略可在 API 组合件流中的任何点应用一个或多个速率限制或突发流量限制。 速率和突发流量限制将限制应用程序在指定时间段内可对 API 进行的调用数。 | ![]() |
![]() |
| 速率限制信息 | 速率限制信息 | 使用 “速率限制信息 ”策略来获取有关速率限制的信息。 | ![]() |
![]() |
脱敏 |
使用 Redaction 策略可从请求主体,响应主体和活动日志中完全除去或编辑指定的字段。 您可能会发现此策略适用于因法律、安全性或其他原因而移除或阻止敏感数据(例如,信用卡详细信息)。 | ![]() |
![]() |
|
| 设置变量 | set-variable | 使用 设置变量 策略可设置运行时变量的值,清除运行时变量或添加头变量。 | ![]() |
![]() |
| 开关 | 开关 | 使用 switch 策略基于所满足的指定条件执行组合件的众多部分之一。 | ![]() |
![]() |
| 抛出 | 抛出 | 使用“throw”策略以在组合件流执行期间到达该策略时抛出错误。 | ![]() |
![]() |
| 用户安全性 | user-security | 使用 user-security 策略来抽取用户的凭证,对这些凭证进行认证,并从用户获取授权。 | ![]() |
![]() |
验证 |
使用 验证 策略可针对 JSON 或 XML 模式验证组合件流中的有效内容。 | ![]() |
![]() |
|
| 验证 JWT | jwt-validate | 在允许访问 API 之前,请使用 验证 JWT 安全策略来启用对请求中的 JSON Web 令牌 (JWT) 的验证。 | ![]() |
![]() |
| 验证用户名令牌 | Validate-usernametoken | 在允许访问受保护资源之前,请使用 验证用户名令牌 策略来验证 SOAP 有效内容中的 Web Service 安全性 (WS-Security) UsernameToken 。 | ![]() |
![]() |
| XML 到 JSON | xml-to-json | 使用 XML 到 JSON 策略将 API 的上下文有效内容从可扩展标记语言 (XML) 格式转换为 JavaScript 对象表示法 (JSON)。 | ![]() |
![]() |
| XSLT | xslt | 使用 XSLT 策略将 XSLT 变换应用于 API 定义的有效内容。 XSLT 策略仅适用于 Premium subscription. |
![]() |
![]() |

