<ph type="x-smartling-placeholder"></ph>
現在、Apigee Edge のドキュメントが表示されています。
Apigee X のドキュメント。 詳細
<ph type="x-smartling-placeholder">
バージョン: 1.5.1
この拡張機能を使用すると、コンテンツや画像に含まれる機密データを隠すことができます。たとえば、クレジット カード番号、氏名、社会保障番号を秘匿化できます。
前提条件
ここでは、この拡張機能を構成して使用するためのリファレンスを提供します。ExtensionCallout ポリシーを使用して API プロキシから拡張機能を使用する前に、次のことを行う必要があります。
プロジェクトで Google Cloud DLP API を有効にします。
拡張機能に必要なアクセスレベルの権限を付与します。
Cloud Data Loss Prevention(DLP)について
Cloud Data Loss Prevention(DLP)は、テキスト、画像、その他のデータを検査してセンシティブ データを識別、管理するための API です。
詳細については、DLP の概要をご覧ください。この拡張機能で公開される API のリファレンスについては、Cloud Data Loss Prevention(DLP)API をご覧ください。
サンプル
次の例は、ExtensionCallout ポリシーを使用して Cloud DLP 拡張機能アクションのサポートを構成する方法を示しています。
このサンプルコードを簡単に試せるように、以下の例では AssignMessage ポリシーを使用してフロー変数の値を設定し、Trace ツールに表示する拡張機能のレスポンス値を取得します。
星でマスクする
この例では、deidentifyWithMask
アクションを使用して、指定されたタイプのテキストを、ポリシーで指定された文字(ここでは *
)でマスクします。
次の AssignMessage ポリシーは、説明のために request.content
変数を設定します。通常、リクエストのコンテンツはクライアントのリクエストから取得します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
<DisplayName>Set Variable</DisplayName>
<AssignTo type="response" createNew="false"/>
<AssignVariable>
<Name>request.content</Name>
<Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
</AssignVariable>
</AssignMessage>
次の ExtensionCallout ポリシーは、request.content 変数の値を取得して、Cloud DLP 拡張機能(ここでは example-dlp
と呼びます)に渡します。この拡張機能は、URL
と EMAIL_ADDRESS
の infoTypes に基づいて値をマスクするように構成されています。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
<DisplayName>Data Loss Prevention Extension Callout</DisplayName>
<Connector>example-dlp</Connector>
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{request.content}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
次の AssignMessage ポリシーは、Trace ツールに表示する拡張機能の出力を取得します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
<DisplayName>Get DLP Output</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{masked.output}</Payload>
</Set>
</AssignMessage>
このコードからの出力例を次に示します。
{"text":"Visit my site at ******************* Or contact me at *****************."}
名前でマスクする
この例では、deidentifyWithType
アクションを使用して、指定されたテキストのタイプを infoType 名自体でマスクします。たとえば、メールアドレス gladys@example.com
を EMAIL_ADDRESS
に置き換えます。
次の AssignMessage ポリシーは、説明のために request.content
変数を設定します。通常、リクエストのコンテンツはクライアントのリクエストから取得します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Set-Variable">
<DisplayName>Set Variable</DisplayName>
<AssignTo type="response" createNew="false"/>
<AssignVariable>
<Name>request.content</Name>
<Value>Visit my site at https://example.com. Or contact me at gladys@example.com.</Value>
</AssignVariable>
</AssignMessage>
次の ExtensionCallout ポリシーは、request.content
変数の値を取得し、Cloud DLP 拡張機能(ここでは example-dlp
)に渡します。この拡張機能は、URL
と EMAIL_ADDRESS
の infoTypes に基づいて値をマスクするように構成されています。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Data-Loss-Extension-Callout">
<DisplayName>Data Loss Prevention Extension Callout</DisplayName>
<Connector>example-dlp</Connector>
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{request.content}"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
次の AssignMessage ポリシーは、Trace ツールに表示する拡張機能の出力を取得します。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-DLP-Output">
<DisplayName>Get DLP Output</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{masked.output}</Payload>
</Set>
</AssignMessage>
このコードからの出力例を次に示します。
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
操作
<ph type="x-smartling-placeholder">
deidentifyWithMask
text
の機密データを匿名化し、データを mask
文字でマスクします。この操作により、拡張機能の構成の infoTypes
プロパティで指定された text
の部分がマスクされます。
センシティブ データをマスキングすると、文字がアスタリスク(*)やハッシュ(#)などの記号に置き換えられます。センシティブ データの種類は拡張機能の構成で構成できます。
構文
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
例
次の例では、マスクする入力は input.email.address
フロー変数に格納されたメールアドレスです。この特定の例をサポートするには、この拡張機能が EMAIL_ADDRESS infoType をサポートするように構成されている必要があります。infoType のリストについては、infoType 検出器リファレンスをご覧ください。
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
この例の出力は次のようになります。
{"text":"*****************"}
リクエスト パラメータ
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
テキスト | 匿名化するテキスト。 | 文字列 | なし。 | はい。 |
マスク | 機密データのマスクに使用する文字。 | 文字列 | なし。 | はい。 |
レスポンス
指定された infoType の値を含む入力テキストが、指定された文字に置き換えられます。次に例を示します。
{"text":"*********"}
deidentifyWithTemplate
匿名化するテキストとその処理方法を構成するテンプレートを使用して、テキスト コンテンツ内の機密データを匿名化します。
テンプレートは、検査の目的や匿名化の方法などの構成を API 呼び出しの実装から分離するのに役立ちます。テンプレートは、構成を再利用する方法を提供し、ユーザーとデータセット間の整合性を実現します。
テンプレートでは、匿名化するコンテンツを表す infoTypes を指定します。infoType のリストについては、infoType 検出器リファレンスをご覧ください。匿名化により、テンプレートの infoTypes
プロパティで指定されたテキスト部分がマスクされます。
構文
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName" : "path-to-template"
}]]></Input>
例
次の例では、匿名化する入力は request.content
フロー変数によって行われるリクエスト本文です。
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
この例の出力は、匿名化されたリクエスト コンテンツになります。
リクエスト パラメータ
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
テキスト | 匿名化するテキスト。これが匿名化プロセスの動作となります。 | オブジェクト | なし。 | はい。 |
テンプレート名 | 使用するテンプレート。これは、projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID 形式のテンプレートへのパスです。Google API でテンプレートを作成する場合は、レスポンスの name プロパティ値を templateName として使用します。 |
文字列 | なし。 | はい。 |
レスポンス
指定された infoType の値を持つ入力テキストが、infoType 名に置換されます。
deidentifyWithType
テキスト コンテンツ内の機密データを匿名化し、一致した値を infoType の名前で置き換えます。infoType のリストについては、infoType 検出器リファレンスをご覧ください。この操作により、拡張機能の構成の infoTypes
プロパティで指定された text
の部分がマスクされます。
次の例では、サービスによって電話番号が認識され、その後、infoType 自体の名前に置き換えられます。
入力テキスト:
John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.
結果のテキスト:
John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.
構文
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
}]]></Input>
例
次の例では、マスクする入力は input.email.address
フロー変数に格納されたメールアドレスです。この特定の例をサポートするには、この拡張機能が EMAIL_ADDRESS infoType をサポートするように構成されている必要があります。infoType のリストについては、infoType 検出器リファレンスをご覧ください。
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
この例の出力は次のようになります。
{"text":"EMAIL_ADDRESS"}
リクエスト パラメータ
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
テキスト | 匿名化するテキスト。 | 文字列 | なし。 | はい。 |
レスポンス
指定された infoType の値を持つ入力テキストが、infoType 名に置換されます。次に例を示します。
{"text":"EMAIL_ADDRESS"}
redactImage
infoType カテゴリのいずれかに該当するテキストを秘匿化します。秘匿化されたコンテンツが検出され、不透明な長方形で覆われます。この操作により、拡張機能の構成の infoTypes
プロパティで指定された image_data
の部分がマスクされます。
infoType のリストについては、infoType 検出器リファレンスをご覧ください。
リクエスト パラメータ
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
パラメータ | 説明 | 型 | デフォルト | 必須 |
---|---|---|---|---|
image_data | base64 でエンコードされた画像データ。 | 文字列 | なし。 | はい。 |
image_type | 画像タイプの定数。使用できる値は、IMAGE_JPEG、IMAGE_BMP、IMAGE_PNG、IMAGE_SVG です。 | 文字列 | なし。 | はい。 |
レスポンス
テキストが秘匿化された画像。
構成リファレンス
API プロキシで使用するためにこの拡張機能を構成してデプロイする場合は、以下を使用します。Apigee コンソールを使用して拡張機能を構成する手順については、拡張機能の追加と構成をご覧ください。
拡張機能の一般的なプロパティ
すべての拡張機能には次のプロパティがあります。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の次の構成プロパティの値を指定します。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
projectId | Cloud Data Loss Prevention API が有効になっている GCP プロジェクト ID。 | なし。 | はい。 |
infoTypes | 機密データの情報タイプ。省略すると、サービスはすべての組み込みタイプを検出します。Google Cloud DLP サービスでサポートされている infoType のリストについては、infoType 検出器リファレンスをご覧ください。 | なし。 | いいえ。 |
credentials | Apigee Edge コンソールで入力した場合は、これがサービス アカウント キー ファイルの内容です。Management API 経由で送信する場合は、サービス アカウント キー ファイルから生成された base64 エンコード値になります。 | なし。 | はい。 |