Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur
Dokumentation zuApigee X wechseln. info
Version: 1.5.1
Mit dieser Erweiterung können Sie sensible Daten aus Inhalten und Bildern unkenntlich machen. Sie können beispielsweise Kreditkartennummern, Namen und Sozialversicherungsnummern entfernen.
Vorbereitung
Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie die Erweiterung über einen API-Proxy mit der ExtensionCallout-Richtlinie verwenden, müssen Sie Folgendes tun:
Aktivieren Sie die Google Cloud DLP API für Ihr Projekt.
Gewähren Sie die Berechtigung für die Zugriffsebene, die Sie für die Erweiterung benötigen.
Generieren Sie in der GCP Console einen Schlüssel für das Dienstkonto.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mit der Konfigurationsreferenz hinzufügen und konfigurieren.
Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) ist eine API zum Prüfen von Text, Bildern und anderen Daten, um sensible Daten zu identifizieren und zu verwalten.
Weitere Informationen finden Sie in der DLP-Übersicht. Eine Referenz zur API, die von dieser Erweiterung bereitgestellt wird, finden Sie unter Cloud Data Loss Prevention (DLP) API.
Beispiele
Die folgenden Beispiele veranschaulichen, wie Sie die Unterstützung für Cloud DLP-Erweiterungsaktionen mit der ExtensionCallout-Richtlinie konfigurieren.
Um das Testen dieses Beispielcodes zu erleichtern, verwenden diese Beispiele eine AssignMessage-Richtlinie, um Werte für Ablaufvariablen festzulegen und Erweiterungsantwortwerte abzurufen, die im Trace-Tool angezeigt werden.
Mit Sternen maskieren
In diesem Beispiel wird die Aktion deidentifyWithMask verwendet, um die angegebenen Texttypen mit einem in der Richtlinie angegebenen Zeichen zu maskieren, hier das Zeichen *.
Die folgende AssignMessage-Richtlinie legt die request.content Variable zur Veranschaulichung fest. Normalerweise rufen Sie den Anforderungsinhalt aus der Anforderung des Clients ab.
<?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>
Die folgende ExtensionCallout-Richtlinie ruft den Wert der Variablen `request.content` ab und übergibt ihn an eine Cloud DLP-Erweiterung (hier example-dlp). Diese Erweiterung wurde so konfiguriert, dass Werte basierend auf den URL und EMAIL_ADDRESS infoTypes maskiert werden.
<?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>
Die folgende AssignMessage-Richtlinie ruft die Ausgabe der Erweiterung ab, um sie im Trace-Tool anzuzeigen.
<?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>
Im Folgenden sehen Sie ein Beispiel für die Ausgabe dieses Codes.
{"text":"Visit my site at ******************* Or contact me at *****************."}
Mit Namen maskieren
In diesem Beispiel wird die Aktion deidentifyWithType verwendet, um die angegebenen Texttypen mit dem Namen des infoType selbst zu maskieren. Beispielsweise wird die E-Mail-Adresse gladys@example.com durch EMAIL_ADDRESS ersetzt.
Die folgende AssignMessage-Richtlinie legt die request.content Variable zur Veranschaulichung fest. Normalerweise rufen Sie den Anforderungsinhalt aus der Anforderung des Clients ab.
<?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>
Die folgende ExtensionCallout-Richtlinie ruft den Wert der Variablen request.content ab und übergibt ihn an eine Cloud DLP-Erweiterung (hier example-dlp). Diese Erweiterung wurde so konfiguriert, dass Werte basierend auf den infoTypes URL und EMAIL_ADDRESS infoTypes maskiert werden.
<?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>
Die folgende AssignMessage-Richtlinie ruft die Ausgabe der Erweiterung ab, um sie im Trace-Tool anzuzeigen.
<?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>
Im Folgenden sehen Sie ein Beispiel für die Ausgabe dieses Codes.
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
Aktionen
deidentifyWithMask
De-identifizieren Sie die sensiblen Daten aus text und maskieren Sie die Daten mit dem Zeichen mask. Mit dieser Aktion werden die Teile von text maskiert, die durch die Property infoTypes in der Erweiterungskonfiguration angegeben werden.
Beim Maskieren sensibler Daten werden Zeichen durch ein Symbol ersetzt, z. B. ein Sternchen (*) oder eine Raute (#). Die Arten der sensiblen Daten können in der Erweiterungskonfiguration konfiguriert werden.
Syntax
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
Beispiel
Im folgenden Beispiel ist die Eingabe zum Maskieren eine E-Mail-Adresse, die in einer Ablaufvariablen input.email.address gespeichert ist. Damit dieses Beispiel funktioniert, muss diese Erweiterung so konfiguriert sein, dass sie den infoType EMAIL_ADDRESS unterstützt. Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
Die Ausgabe für dieses Beispiel wäre:
{"text":"*****************"}
Anfrageparameter
| Parameter | Beschreibung | Typ | Standard | Erforderlich |
|---|---|---|---|---|
| Text | Zu de-identifizierender Text. | String | Keine. | Ja. |
| Maske | Zeichen zum Maskieren sensibler Daten. | String | Keine. | Ja. |
Antwort
Der Eingabetext, bei dem die Werte der angegebenen infoTypes durch das angegebene Zeichen ersetzt wurden. Beispiel:
{"text":"*********"}
deidentifyWithTemplate
De-identifizieren Sie sensible Daten in Textinhalten mit einer Vorlage, die konfiguriert, welcher Text de-identifiziert werden soll und wie er verarbeitet werden soll.
Vorlagen bieten sich an, wenn Sie Konfigurationsinformationen von der Implementierung Ihrer API-Aufrufe entkoppeln möchten, z. B. was Sie überprüfen und wie Sie dessen Identifizierung aufheben. Mit Vorlagen können Sie Konfigurationen wiederverwenden und eine Konsistenz bei Nutzern und Datasets erreichen.
In der Vorlage geben Sie infoTypes an, die den zu de-identifizierenden Inhalt darstellen. Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren. Beim De-Identifizieren werden die Teile des Texts maskiert, die durch die Property infoTypes in der Vorlage angegeben werden.
Syntax
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName" : "path-to-template"
}]]></Input>
Beispiel
Im folgenden Beispiel ist die Eingabe zum De-Identifizieren der Anfragetext, der von der request.content Ablaufvariablen übertragen wird.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
Die Ausgabe für dieses Beispiel ist der de-identifizierte Anfragetext.
Anfrageparameter
| Parameter | Beschreibung | Typ | Standard | Erforderlich |
|---|---|---|---|---|
| Text | Der zu de-identifizierende Text. Dies ist das, was beim De-Identifizierungsprozess verarbeitet wird. | Objekt | Keine. | Ja. |
| templateName | Die zu verwendende Vorlage. Dies ist ein Pfad zur Vorlage im folgenden Format: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Wenn Sie die Vorlage mit der Google API erstellen, verwenden Sie den Wert der Property name der Antwort als templateName. |
String | Keine. | Ja. |
Antwort
Der Eingabetext, bei dem die Werte der angegebenen infoTypes durch die Namen der infoTypes ersetzt wurden.
deidentifyWithType
De-identifizieren Sie sensible Daten in Textinhalten und ersetzen Sie jeden übereinstimmenden Wert durch den Namen des infoType. Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren. Mit dieser Aktion werden die Teile von text maskiert, die durch die Property infoTypes in der Erweiterungskonfiguration angegeben werden.
Im folgenden Beispiel wird die Telefonnummer vom Dienst erkannt und dann durch den Namen des infoType selbst ersetzt.
Eingabetext:
John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.Ergebnistext:
John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.
Syntax
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
}]]></Input>
Beispiel
Im folgenden Beispiel ist die Eingabe zum Maskieren eine E-Mail-Adresse, die in einer Ablaufvariablen input.email.address gespeichert ist. Damit dieses Beispiel funktioniert, muss diese Erweiterung so konfiguriert sein, dass sie den infoType EMAIL_ADDRESS unterstützt. Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
Die Ausgabe für dieses Beispiel wäre:
{"text":"EMAIL_ADDRESS"}
Anfrageparameter
| Parameter | Beschreibung | Typ | Standard | Erforderlich |
|---|---|---|---|---|
| Text | Der zu de-identifizierende Text. | String | Keine. | Ja. |
Antwort
Der Eingabetext, bei dem die Werte der angegebenen infoTypes durch die Namen der infoTypes ersetzt wurden. Beispiel:
{"text":"EMAIL_ADDRESS"}
redactImage
Entfernen Sie Text, der in eine der infoType-Kategorien fällt. Der entfernte Inhalt wird erkannt und mit einem undurchsichtigen Rechteck verdeckt. Mit dieser Aktion werden die Teile von image_data maskiert, die durch die Property infoTypes in der Erweiterungskonfiguration angegeben werden.
Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren.
Anfrageparameter
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
| Parameter | Beschreibung | Typ | Standard | Erforderlich |
|---|---|---|---|---|
| image_data | Die in Base64 codierten Bilddaten. | String | Keine. | Ja. |
| image_type | Konstante des Bildtyps. Verfügbare Werte sind IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG und IMAGE_SVG. | String | Keine. | Ja. |
Antwort
Das Bild mit entferntem Text.
Konfigurationsreferenz
Verwenden Sie die folgenden Informationen, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.
Allgemeine Erweiterungseigenschaften
Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.
| Attribut | Beschreibung | Standard | Erforderlich |
|---|---|---|---|
name |
Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. | – | Ja |
packageName |
Name des Erweiterungspakets, wie von Apigee Edge angegeben. | – | Ja |
version |
Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. | – | Ja |
configuration |
Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. | – | Ja |
Eigenschaften für dieses Erweiterungspaket
Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die speziell für diese Erweiterung gelten.
| Attribut | Beschreibung | Standard | Erforderlich |
|---|---|---|---|
| projectId | Die GCP-Projekt-ID, für die die Cloud Data Loss Prevention API aktiviert ist. | Keine. | Ja. |
| infoTypes | InfoTypes der sensiblen Daten. Wenn nicht angegeben, erkennt der Dienst alle integrierten Typen. Eine Liste der infoTypes, die vom Google Cloud DLP-Dienst unterstützt werden, finden Sie in der Referenz zu infoType-Detektoren. | Keine. | Nein. |
| Anmeldedaten | Wenn in der Apigee Edge-Konsole eingegeben, ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn über die Management API gesendet, ist es ein base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wurde. | Keine. | Ja. |