DataPower Gateway

redact - DataPower Gateway (v5 compatible)

可使用 redact 策略来完全移除或编辑请求主体、响应主体和活动日志中的指定字段。 如果由于法律、安全性或其他原因而要移除或屏蔽敏感数据(例如,信用卡详细信息),您可能会发现此策略十分有用。

网关支持

注: 此页面描述 DataPower® Gateway (v5 compatible)中的 redact 策略实现。 如果您正在使用该 DataPower API Gateway工具,请参阅 redact - DataPower API Gateway

有关不同类型的网关的信息,请参阅 API Connect 网关类型

表 1. 显示哪些网关支持此策略以及对应策略版本的表格
网关 策略版本
DataPower Gateway (v5 compatible) 1.0.0

本主题介绍了如何在 OpenAPI 源中配置策略;有关如何在Assembly用户界面中配置策略的详细信息,请阅“信息遮蔽 - DataPower Gateway (兼容 v5 )”。

关于

redaction 策略采用以下格式:
- redact:
  version: version
  title: title
  description: description
  actions:
    - action: remove_or_redact
      from: 
        - where_the_redaction_is_to_be_applied
      path: XPath_expression_for_field_to_remove_or_redact
                     .
                     .
                     .
           further action/from/path combinations
                     .
                     .
                     .

您可指定所需数目的 action/from/path 组合。

属性

下表描述了该策略的属性:
表 2. 信息遮蔽策略属性
属性 必需 描述 数据类型
version 策略版本号 字符串
title False 策略的标题。 字符串
description False 策略的描述。 字符串
action False 指定要移除字段还是编辑字段。
有效值:
  • remove: 完全除去指定的字段。
  • redact: 编辑 (使用 "*" 对字段进行模糊处理) 字段以阻止数据。

默认值为 redact.

注: 如果正在编辑数字值,那么已编辑的值将描述为 ****** ,并且类型将更改为 string
字符串
from False 确定要应用编辑的位置。
有效值:
  • all:将编辑应用于请求主体、响应主体和活动日志。
  • request:仅将编辑应用于请求主体。
  • response:仅将编辑应用于响应主体。
  • logs:仅将编辑应用于活动日志。

您可以提供一个或多个值。 默认值为 all.

字符串
path 指定用于定义要移除或编辑的字段的 XPath 表达式。

您可以根据 API 请求和响应使用的是 JSON 还是 XML 格式来构造基于 JSON 或 XML 的 XPath 表达式。 如果有效内容为 JSON,请使用 JSON 内容 (JSONx) 的 DataPower XML 表示来构造表达式。

注: 仅使用 JSONx 表示来标识要除去或编辑的字段的 XPath 表达式。 请勿更改 API Manager中任何响应主体的格式。

如需进一步了解如何基于 JSON 或 XML 构建 XPath 表达式,请参阅《构建 XPath 表达式以屏蔽字段》。

字符串

示例

# Specify separate remove and redact actions

- redact:
  version: 1.0.0
  title: remove secret field, redact address
  actions:
    - action: remove
      from: 
        - all
      path: /document/user/secret
    - action: redact
      from: 
        - request
        - response
      path: //*[@name='secondaryAddress']/*[@name='streetAddress']