Sie sehen sich die Dokumentation zu Apigee Edge an.
Sehen Sie sich die Apigee X-Dokumentation an. info
Version: 2.0.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.
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 Cloud 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 Veranschaulichungszwecken 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":"*********"}
deidentifyWithTemplate
Mit einer Vorlage sensible Daten in Textinhalten de-identifizieren. In der Vorlage wird konfiguriert, welcher Text de-identifiziert werden soll und wie er verarbeitet werden soll.
Vorlagen bieten sich an, wenn Sie Konfigurationsinformationen entkoppeln möchten, z. B. was Sie überprüfen und wie Sie dessen Identifizierung bei der Implementierung Ihrer API-Aufrufe aufheben. Mit Vorlagen können Sie Konfigurationen wiederverwenden und eine Konsistenz bei Nutzern und Datasets erreichen.
In Ihrer Vorlage geben Sie infoTypes an, die die zu de-identifizierenden Inhalte darstellen. Eine Liste der InfoTypes finden Sie in der InfoType-Detektorreferenz. Wenn Sie die De-Identifikation aktivieren, werden die Textteile ausgeblendet, die in der Vorlage mit der Property infoTypes
angegeben sind.
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 request.content
-Ablaufvariablen getragen wird.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
Die Ausgabe für dieses Beispiel wäre der de-identifizierte Anfrageinhalt.
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Der Text, der de-identifiziert werden soll. Auf dieser Grundlage erfolgt die De-Identifikation. | Object | Keine. | Ja. |
Vorlagenname | 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 des Attributs name der Antwort als templateName . |
String | Keine. | Ja. |
Antwort
Der Eingabetext mit Werten der angegebenen infoTypes, die durch die Namen der infoTypes ersetzt wurden.
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 die folgenden Hinweise, 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. |