Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Version: 1.2.0
Mit dieser Erweiterung können Sie sensible Daten in Inhalten und Bildern unkenntlich machen. Sie können beispielsweise Kreditkartennummern, Namen und Sozialversicherungsnummern schwärzen.
Dieser Artikel enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Eine Konfigurationsreferenz für diese Erweiterung finden Sie unter Konfigurationsreferenz.
Vorbereitung
Dieser Artikel enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie die Erweiterung über einen API-Proxy mit der ExtensionCallout-Richtlinie verwenden können, müssen Sie Folgendes tun:
Aktivieren Sie die Google Cloud DLP API für Ihr Projekt.
Weisen Sie die Berechtigung für die gewünschte Zugriffsebene für die Erweiterung zu.
Erstellen Sie mit der GCP Console einen Schlüssel für das Dienstkonto.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mithilfe 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. Weitere Informationen zur API, die diese Erweiterung bereitstellt, finden Sie unter Cloud Data Loss Prevention (DLP) API.
Beispiele
In den folgenden Beispielen wird gezeigt, wie Sie die Unterstützung für die DLP-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.
Um das Testen dieses Beispielcodes zu vereinfachen, wird in diesen Beispielen eine AssignMessage-Richtlinie verwendet, um Werte für Ablaufvariablen festzulegen und Erweiterungsantwortwerte abzurufen, die im Trace-Tool angezeigt werden.
Mit Sternen maskieren
In diesem Beispiel werden die angegebenen Texttypen mit dem in der Richtlinie angegebenen Zeichen maskiert, hier das Zeichen *
.deidentifyWithMask
In der folgenden AssignMessage-Richtlinie wird die Variable request.content
zu Demonstrationszwecken festgelegt. Normalerweise rufst du den Anfrageinhalt 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>
In der folgenden ExtensionCallout-Richtlinie wird der Variablenwert „request.content“ abgerufen und an eine Cloud DLP-Erweiterung (hier example-dlp
genannt) übergeben. 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 folgenden AssignMessage-Richtlinie wird die Ausgabe der Erweiterung abgerufen, 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 finden 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 Infotyps selbst zu maskieren. Beispiel: Die E-Mail-Adresse gladys@example.com
wird durch EMAIL_ADDRESS
ersetzt.
In der folgenden AssignMessage-Richtlinie wird die Variable request.content
zu Demonstrationszwecken festgelegt. Normalerweise rufst du den Anfrageinhalt 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
). 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>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{request.content}"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
Mit der folgenden AssignMessage-Richtlinie wird die Ausgabe der Erweiterung abgerufen, 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 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 die Daten mit dem Zeichen mask
. Mit dieser Aktion werden die Teile von text
ausgeblendet, die in der Erweiterungskonfiguration durch das Attribut infoTypes
angegeben sind.
Beim Maskieren sensibler Daten werden Zeichen durch ein Symbol ersetzt, z. B. ein Sternchen (*) oder eine Raute (#). Die Typen 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, die maskiert werden soll, eine E-Mail-Adresse, die in einer Ablaufvariablen vom Typ input.email.address
gespeichert ist. Für dieses Beispiel muss diese Erweiterung für den InfoType EMAIL_ADDRESS konfiguriert worden sein. 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ürde so aussehen:
{"text":"*****************"}
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Text, der de-identifiziert werden soll. | String | Keine. | Ja. |
Maske | Zeichen, mit dem sensible Daten maskiert werden. | String | Keine. | Ja. |
Antwort
Der Eingabetext mit Werten der angegebenen infoTypes wird durch das angegebene Zeichen ersetzt. Beispiel:
{"text":"*********"}
deidentifyWithType
Sensible Daten in Textinhalten de-identifizieren, indem jeder übereinstimmende Wert durch den Namen des infoType ersetzt wird. Eine Liste der InfoTypes finden Sie in der InfoType-Detektorreferenz. Mit dieser Aktion werden die Teile von text
ausgeblendet, die in der Erweiterungskonfiguration durch das Attribut infoTypes
angegeben sind.
Im folgenden Beispiel wird die Telefonnummer vom Dienst erkannt und dann durch den Namen des infoTypes 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, die maskiert werden soll, eine E-Mail-Adresse, die in einer Ablaufvariablen vom Typ input.email.address
gespeichert ist. Für dieses Beispiel muss diese Erweiterung für den InfoType EMAIL_ADDRESS konfiguriert worden sein. 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ürde so aussehen:
{"text":"EMAIL_ADDRESS"}
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Der Text, der de-identifiziert werden soll. | String | Keine. | Ja. |
Antwort
Der Eingabetext mit Werten der angegebenen infoTypes wird durch die Namen der infoTypes ersetzt. Beispiel:
{"text":"EMAIL_ADDRESS"}
redactImage
Text entfernen, der in eine der infoType-Kategorien fällt Die unkenntlich gemachten Inhalte werden erkannt und mit einem undurchsichtigen Rechteck verdeckt. Mit dieser Aktion werden die Teile von image_data
ausgeblendet, die in der Erweiterungskonfiguration durch das Attribut infoTypes
angegeben sind.
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
Das Bild mit entferntem Text
Konfigurationsreferenz
Beachten Sie Folgendes, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee Console finden Sie unter Erweiterung hinzufügen und konfigurieren.
Gängige 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 |
Properties für dieses Erweiterungspaket
Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die für diese Erweiterung spezifisch sind.
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 Sie diesen Parameter weglassen, werden alle integrierten Typen vom Dienst erkannt. Eine Liste der vom Google Cloud DLP-Dienst unterstützten InfoTypes finden Sie in der InfoType-Detektorreferenz. | Keine. | Nein. |
Anmeldedaten | Wenn Sie diesen Wert in die Apigee Edge-Konsole eingeben, entspricht er dem Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn er über die Verwaltungs-API gesendet wird, ist er ein Base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wird. | Keine. | Ja. |