Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X info
Version: 2.0.1
Mit dieser Erweiterung können Sie sensible Daten in Inhalten und Bildern unkenntlich machen. Sie können beispielsweise Kreditkartennummern, Namen und Sozialversicherungsnummern unkenntlich machen.
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 können, 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.
Schlüssel für das Dienstkonto mit der GCP Console generieren
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 Untersuchen von Text, Bildern und anderen Daten, um sensible Daten zu identifizieren und zu verwalten.
Weitere Informationen finden Sie in der DLP-Übersicht. Informationen 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.
Damit Sie diesen Beispielcode leichter ausprobieren können, wird in diesen Beispielen eine AssignMessage-Richtlinie verwendet, um Flussvariablenwerte festzulegen und Erweiterungsantwortwerte abzurufen, die im Trace-Tool angezeigt werden.
Mit Sternchen maskieren
In diesem Beispiel wird mit der Aktion deidentifyWithMask
der angegebene Texttyp mit einem in der Richtlinie angegebenen Zeichen maskiert, hier das Zeichen *
.
In der folgenden AssignMessage-Richtlinie wird die Variable request.content
zur Veranschaulichung festgelegt. Normalerweise rufen Sie 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 Wert der Variable „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>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{request.content}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
Die folgende AssignMessage-Richtlinie ruft die Ausgabe der Erweiterung ab, damit sie im Trace-Tool angezeigt werden kann.
<?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 Infotypnamen 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
zur Veranschaulichung festgelegt. Normalerweise rufen Sie 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 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
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, damit sie im Trace-Tool angezeigt werden kann.
<?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-identifiziere die sensiblen Daten aus text
und maskiere die Daten mit dem Zeichen mask
. Durch diese Aktion werden die Teile von text
maskiert, die durch das Attribut infoTypes
in der Erweiterungskonfiguration angegeben werden.
Beim Maskieren sensibler Daten werden Zeichen durch ein Symbol ersetzt, z. B. durch ein Sternchen (*) oder eine Raute (#). Die Arten der sensiblen Daten können in der Erweiterungskonfiguration festgelegt werden.
Syntax
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
Beispiel
Im folgenden Beispiel ist die zu maskierende Eingabe eine E-Mail-Adresse, die in einer input.email.address
-Ablaufvariablen gespeichert ist. Damit dieses Beispiel unterstützt werden kann, 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äre:
{"text":"*****************"}
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Zu anonymisierender Text. | String | Keine. | Ja. |
Maske | Zeichen zum Maskieren sensibler Daten. | String | Keine. | Ja. |
Antwort
Der Eingabetext, in dem Werte der angegebenen infoTypes durch das angegebene Zeichen ersetzt wurden. Beispiel:
{"text":"*********"}
deidentifyWithTemplate
Sensible Daten in Textinhalten mithilfe einer Vorlage de-identifizieren, in der konfiguriert wird, 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, zum Beispiel den Gegenstand der Inspektion und dessen De-Identifikation. Mit Vorlagen können Sie Konfigurationen wiederverwenden und eine Konsistenz bei Nutzern und Datasets erreichen.
In Ihrer Vorlage geben Sie infoTypes an, die den zu anonymisierenden Inhalt darstellen. Eine Liste der infoTypes finden Sie in der InfoType-Detektorreferenz. Beim Anonymisieren werden die Textteile maskiert, die durch die infoTypes
-Eigenschaft 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 für die Anonymisierung der Anfragetext, der von der request.content
-Ablaufvariable übertragen 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 anonymisierte Anfrageinhalt.
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Der Text, der anonymisiert werden soll. Darauf bezieht sich der De-Identifikationsprozess. | Objekt | 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, in dem Werte der angegebenen infoTypes durch die infoType-Namen 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. Durch diese Aktion werden die Teile von text
maskiert, die durch das Attribut infoTypes
in der Erweiterungskonfiguration angegeben werden.
Im folgenden Beispiel wird die Telefonnummer vom Dienst erkannt und dann durch den Namen des infoType ersetzt.
Eingabe:
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 zu maskierende Eingabe eine E-Mail-Adresse, die in einer input.email.address
-Ablaufvariablen gespeichert ist. Damit dieses Beispiel unterstützt werden kann, 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äre:
{"text":"EMAIL_ADDRESS"}
Anfrageparameter
Parameter | Beschreibung | Typ | Standard | Erforderlich |
---|---|---|---|---|
Text | Der Text, der anonymisiert werden soll. | String | Keine. | Ja. |
Antwort
Der Eingabetext, in dem Werte der angegebenen infoTypes durch die infoType-Namen ersetzt wurden. Beispiel:
{"text":"EMAIL_ADDRESS"}
redactImage
Entfernen Sie Text, der in eine der infoType-Kategorien fällt. Die unkenntlich gemachten Inhalte werden erkannt und mit einem undurchsichtigen Rechteck verdeckt. Durch diese Aktion werden die Teile von image_data
maskiert, die durch das Attribut infoTypes
in der Erweiterungskonfiguration angegeben werden.
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 dem geschwärzten 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 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 nicht angegeben, werden alle integrierten Typen erkannt. Eine Liste der von Google Cloud DLP unterstützten infoTypes finden Sie in der Referenz zu infoType-Detektoren. | Keine. | Nein. |
Anmeldedaten | Wenn Sie diesen Wert in der Apigee Edge-Konsole eingeben, ist das der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn er über die Management API gesendet wird, ist er ein Base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wird. | Keine. | Ja. |