Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation weitere Informationen
Version: 1.5.1
Mit dieser Erweiterung können Sie sensible Daten vor Inhalten und Bildern verbergen. Sie können beispielsweise Kreditkartennummern, Namen und Sozialversicherungsnummern entfernen.
Voraussetzungen
In diesem Artikel erfahren Sie, wie Sie diese Erweiterung konfigurieren und verwenden. Bevor Sie die Erweiterung mithilfe der ExtensionCallout-Richtlinie von einem API-Proxy verwenden, müssen Sie Folgendes tun:
Aktivieren Sie die Google Cloud DLP API für Ihr Projekt.
Erteilen Sie die Berechtigung für die gewünschte Zugriffsebene für die Erweiterung.
Verwenden Sie die GCP Console, um einen Schlüssel für das Dienstkonto zu generieren.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüssel-JSON-Datei beim Hinzufügen und Konfigurieren der Erweiterung mithilfe der Konfigurationsreferenz.
Informationen zu Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) ist eine API für die Prüfung von Text, Bildern und anderen Daten, um sensible Daten zu identifizieren und zu verwalten.
Weitere Informationen finden Sie in der Übersicht zum Schutz vor Datenverlust. Informationen zur API, die diese Erweiterung bereitstellt, finden Sie unter Cloud Data Loss Prevention (DLP) API.
Samples
Die folgenden Beispiele veranschaulichen, wie die Unterstützung für Cloud DLP-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfiguriert wird.
Damit Sie den Beispielcode leichter ausprobieren können, wird in diesen Beispielen eine AssignMessage-Richtlinie verwendet, um Werte für Flussvariablen festzulegen und Antwortwerte von Erweiterungen abzurufen, die dann im Trace-Tool angezeigt werden.
Maske mit Sternen
In diesem Beispiel wird die Aktion deidentifyWithMask
verwendet, um die angegebenen Texttypen mit einem in der Richtlinie festgelegten Zeichen zu maskieren – hier mit dem Zeichen *
.
Mit der folgendenAssignMessage-Richtlinie wird die Variable request.content
zur Veranschaulichung festgelegt. Normalerweise rufen Sie den Inhalt der Anfrage aus der Anfrage 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
genannt). Diese Erweiterung wurde so konfiguriert, dass Werte basierend auf den infoTypes URL
und EMAIL_ADDRESS
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>
Mit der folgendenAssignMessage-Richtlinie wird die Ausgabe der Erweiterung zur Anzeige im Trace-Tool abgerufen.
<?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 finden Sie ein Beispiel für die Ausgabe dieses Codes.
{"text":"Visit my site at ******************* Or contact me at *****************."}
Maske mit Namen
In diesem Beispiel werden mit der Aktion deidentifyWithType
die angegebenen Texttypen mit dem infoType-Namen selbst maskiert. So wird z. B. die E-Mail-Adresse gladys@example.com
durch EMAIL_ADDRESS
ersetzt.
Mit der folgendenAssignMessage-Richtlinie wird die Variable request.content
zur Veranschaulichung festgelegt. Normalerweise rufen Sie den Inhalt der Anfrage aus der Anfrage 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 Variablenwert request.content
ab und übergibt ihn an eine Cloud DLP-Erweiterung (hier example-dlp
genannt). Diese Erweiterung wurde so konfiguriert, dass Werte basierend auf den infoTypes URL
und EMAIL_ADDRESS
maskiert.
<?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>
Mit der folgendenAssignMessage-Richtlinie wird die Ausgabe der Erweiterung zur Anzeige im Trace-Tool abgerufen.
<?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 finden 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 sie mit dem Zeichen mask
. Durch diese Aktion werden die Teile von text
maskiert, die in der Erweiterungskonfiguration mit der Eigenschaft infoTypes
angegeben wurden.
Beim Maskieren sensibler Daten werden Zeichen durch ein Symbol ersetzt, z. B. ein Sternchen (*) oder Rautezeichen (#). Die Typen sensibler 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 input.email.address
-Ablaufvariablen gespeichert wird. Damit dieses Beispiel unterstützt werden kann, muss diese Erweiterung so konfiguriert worden sein, dass sie den infoType EMAIL_ADDRESS unterstützt. Eine Liste der infoTypes finden Sie in der infoType-Detektorreferenz.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
Die Ausgabe für dieses Beispiel würde so aussehen:
{"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 mit Werten der angegebenen infoTypes, die durch das angegebene Zeichen ersetzt wurden. Beispiel:
{"text":"*********"}
deidentifyWithTemplate
De-identifizieren Sie sensible Daten in Textinhalten mithilfe einer Vorlage, die konfiguriert, welcher Text de-identifiziert werden soll und wie er behandelt werden soll.
Vorlagen sind nützlich, um Konfigurationen zu entkoppeln, z. B. was Sie überprüfen und wie Sie diese von der Implementierung Ihrer API-Aufrufe de-identifizieren. Vorlagen bieten eine Möglichkeit, Konfigurationen noch einmal zu verwenden und für Konsistenz bei Nutzern und Datensätzen zu sorgen.
In Ihrer Vorlage geben Sie infoTypes für die zu de-identifizierenden Inhalte an. Eine Liste der infoTypes finden Sie in der infoType-Detektorreferenz. Bei der De-Identifikation werden die Textteile, die durch das Attribut infoTypes
in der Vorlage angegeben werden, maskiert.
Syntax
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName" : "path-to-template"
}]]></Input>
Beispiel
Im folgenden Beispiel ist die Eingabe für die De-Identifikation der Anfragetext, der von der Flussvariablen request.content
übertragen wird.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
In diesem Beispiel wird der de-identifizierte Anfrageinhalt ausgegeben.
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Der zu de-identifizierende Text. Damit wird der De-Identifikationsprozess ausgeführt. | Objekt | Keine. | Ja. |
templateName | Die zu verwendende Vorlage. Dies wird ein Pfad zur Vorlage im folgenden Format sein: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID . Verwenden Sie beim Erstellen der Vorlage mit der Google API den Eigenschaftswert name der Antwort als templateName . |
String | Keine. | Ja. |
Antwort
Der Eingabetext mit Werten der angegebenen infoTypes, die durch die infoType-Namen 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 infoType-Detektorreferenz. Durch diese Aktion werden die Teile von text
maskiert, die in der Erweiterungskonfiguration mit der Eigenschaft infoTypes
angegeben wurden.
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 input.email.address
-Ablaufvariablen gespeichert wird. Damit dieses Beispiel unterstützt werden kann, muss diese Erweiterung so konfiguriert worden sein, dass sie den infoType EMAIL_ADDRESS unterstützt. Eine Liste der infoTypes finden Sie in der infoType-Detektorreferenz.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
Die Ausgabe für dieses Beispiel würde so aussehen:
{"text":"EMAIL_ADDRESS"}
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Der zu de-identifizierende Text. | String | Keine. | Ja. |
Antwort
Der Eingabetext mit Werten der angegebenen infoTypes, die durch die infoType-Namen ersetzt wurden. Beispiel:
{"text":"EMAIL_ADDRESS"}
redactImage
Text entfernen, der in eine der infoType-Kategorien fällt. Der entfernte Inhalt wird erkannt und durch ein undurchsichtiges Rechteck verdeckt. Durch diese Aktion werden die Teile von image_data
maskiert, die in der Erweiterungskonfiguration mit der Eigenschaft infoTypes
angegeben wurden.
Eine Liste der infoTypes finden Sie in der infoType-Detektorreferenz.
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
Bild mit entferntem Text.
Konfigurationsreferenz
Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur 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.
Häufige 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 dieses Erweiterungspakets
Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die spezifisch für diese Erweiterung sind.
Property | Beschreibung | Standard | Erforderlich |
---|---|---|---|
projectId | Die ID des GCP-Projekts, für das die Cloud Data Loss Prevention API aktiviert ist. | Keine. | Ja. |
infoTypes | Infotypen der sensiblen Daten. Wenn nichts angegeben ist, erkennt der Dienst alle integrierten Typen. Eine Liste der vom Google Cloud DLP-Dienst unterstützten infoTypes finden Sie in der Referenz zu infoType-Detektoren. | Keine. | Nein. |
Anmeldedaten | Bei Eingabe in die Apigee Edge-Konsole ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn er über die Verwaltungs-API gesendet wird, ist er ein base64-codierter Wert, der aus der Schlüsseldatei des Dienstkontos generiert wird. | Keine. | Ja. |