DataPower API Gateway

redact - DataPower API Gateway

redact ポリシーを使用して、要求の本文、応答の本文、およびアクティビティー・ログから、指定されたフィールドを完全に削除するか、それらのフィールドを編集します。 法律、 セキュリティー、その他の理由により、機密データ (例えば、 クレジット・カードの詳細) を削除またはブロックするためにこのポリシーは役立ちます。

ゲートウェイのサポート

注: このページでは、 DataPower® API Gatewayでの redact ポリシーの実装について説明します。 DataPower Gateway (v5 compatible)を使用している場合は、 redact- DataPower Gateway (v5 互換)を参照してください。

さまざまなタイプのゲートウェイについては、 API Connect のゲートウェイ・タイプを参照してください。

表 1. このポリシーをサポートするゲートウェイと、対応するポリシーのバージョンを示す表
ゲートウェイ ポリシーのバージョン
DataPower API Gateway 2.0.0

このトピックでは、 OpenAPI ソースでのポリシーの構成方法について説明します。アセンブリー・ユーザー・インターフェースでのポリシーの構成方法について詳しくは、 Redaction- DataPower API Gatewayを参照してください。

製品情報

redact ポリシーの形式は次のとおりです。
- redact:
    version: version
    title: title
    description: description
    redactions:
      - action: remove_or_redact
        path: JSONata_expression_for_field_to_remove_or_redact
                .
                .
                .
    root: content_source
注: DataPower API Gatewayでは、 redact ポリシーへの入力は解析済みデータでなければなりません。 解析済みデータを生成する 1 つの方法は、アセンブリー・フローで redact ポリシーの前に parse ポリシーを使用することです。これにより、解析アクションが明示的に制御されます。

プロパティ-

以下の表では、 redact ポリシーのプロパティーについて説明します。
表 2. redact ポリシーのプロパティー
プロパティー 必須 説明 データ・タイプ
version はい ポリシーのバージョン番号 ストリング
title いいえ ポリシーのタイトル。 ストリング
description いいえ ポリシーの説明。 ストリング
root いいえ 編集アクションまたは削除アクションの適用対象となるコンテンツが含まれているデータ・ソースを指定します。 root プロパティーが省略された場合は、API コンテキスト全体にアクションが適用されます。

サポートされている任意の JSONata パス式を使用できます。

アクションを要求データまたは応答データのいずれかに適用する場合は、値 message.body を指定します。 アクションが適用される実際の内容は、アセンブリー・フロー全体での redact ポリシーの位置によって異なります。以下に例を示します。
  • 先頭に位置している場合、アクションはクライアント要求に適用されます。
  • invoke ポリシーの後に配置されている場合、アクションはバックエンドからの応答に適用されます。
  • 末尾に配置されている場合、アクションはクライアントに返される応答に適用されます。

アセンブリー・フローで、 mode プロパティーに gather-only を指定する log ポリシーの後に redact ポリシーを使用する場合は、ログに記録された要求ペイロードに対して rootlog.request_body を指定するか、ログに記録された応答ペイロードに対して log.response_body を指定します。

ストリング
path はい ソースで編集または削除するフィールドを特定する JSONata パス式を指定します。 詳しくは、 フィールドを編集するための JSONata 式の作成 を参照してください。 ストリング
action はい コンテンツを削除するのか編集するのかを指定します。
以下のいずれかの値を入力します。
  • remove: 指定されたフィールドを完全に削除します。
  • redact: データをブロックするためにフィールドを編集 (「*」で難読化) します。

デフォルト値は redactです。

注: 数値が編集されている場合、編集された値は ****** として表され、タイプは stringに変更されます。
ストリング

# Specify separate remove and redact actions

- redact:
    version: 2.0.0
    title: remove price, redact author
    redactions:
      - action: remove
        path: xpath($, ''//price'')"
      - action: redact
        path: $.**.author"
    root: message.body