Google Cloud-Erweiterung zum Schutz vor Datenverlust

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

Version: 1.5.2

Verwenden Sie diese Erweiterung, um sensible Daten vor Inhalten und Bildern zu verbergen. Sie können beispielsweise Kreditkartennummern, Namen und Sozialversicherungsnummern entfernen.

Vorbereitung

Dieser Inhalt bietet eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Bevor Sie die Erweiterung über einen API-Proxy mithilfe der ExtensionCallout-Richtlinie verwenden können, müssen Sie:

  1. Aktivieren Sie die Google Cloud DLP API für Ihr Projekt.

  2. Erteilen Sie die Berechtigung für die gewünschte Zugriffsebene für die Erweiterung.

  3. Generieren Sie mit der GCP Console einen Schlüssel für das Dienstkonto.

  4. Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mithilfe der Konfigurationsreferenz hinzufügen und konfigurieren.

Informationen zu Cloud Data Loss Prevention (DLP)

Cloud Data Loss Prevention (DLP) ist eine API zur 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 zu der API, die durch diese Erweiterung verfügbar gemacht wird, finden Sie unter Cloud Data Loss Prevention (DLP) API.

Beispiele

Die folgenden Beispiele zeigen, wie Sie die Unterstützung für Cloud DLP-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.

Damit Sie diesen Beispielcode leichter ausprobieren können, wird in diesen Beispielen eine AssignMessage-Richtlinie verwendet, um Werte für Flussvariablen festzulegen und Antwortwerte der Erweiterung 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 mit dem Zeichen *.

Mit der folgendenAssignMessage-Richtlinie wird zur Veranschaulichung die Variable request.content 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 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>

Die folgendeAssignMessage-Richtlinie ruft die Ausgabe der Erweiterung zur Anzeige im Trace-Tool ab.

<?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>

Das folgende Beispiel zeigt die Ausgabe dieses Codes.

{"text":"Visit my site at ******************* Or contact me at *****************."}

Maske mit Name

In diesem Beispiel wird die Aktion deidentifyWithType verwendet, um die angegebenen Texttypen mit dem Namen des infoType selbst zu maskieren. So wird beispielsweise die E-Mail-Adresse gladys@example.com durch EMAIL_ADDRESS ersetzt.

Mit der folgendenAssignMessage-Richtlinie wird zur Veranschaulichung die Variable request.content 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 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>deidentifyWithType</Action>
    <Input><![CDATA[{
        "text" : "{request.content}"
    }]]></Input>
    <Output>masked.output</Output>
</ConnectorCallout>

Die folgendeAssignMessage-Richtlinie ruft die Ausgabe der Erweiterung zur Anzeige im Trace-Tool ab.

<?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>

Das folgende Beispiel zeigt die Ausgabe dieses Codes.

{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}

Aktionen

<ph type="x-smartling-placeholder">

deidentifyWithMask

De-identifizieren Sie die sensiblen Daten aus text und maskieren Sie die Daten mit dem Zeichen mask. Diese Aktion maskiert die Teile von text, die durch das Attribut infoTypes in der Erweiterungskonfiguration 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 für die Maske eine E-Mail-Adresse, die in einer input.email.address-Ablaufvariable gespeichert ist. Um dieses spezifische Beispiel zu unterstützen, muss diese Erweiterung so konfiguriert 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 Default Erforderlich
Text Zu de-identifizierender Text. String Keine. Ja.
Maske Zeichen, das zum Maskieren sensibler Daten verwendet werden soll. 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 damit umgegangen werden soll.

Vorlagen sind nützlich, um die Konfiguration zu entkoppeln, z. B. was Sie prüfen und wie Sie es von der Implementierung Ihrer API-Aufrufe de-identifizieren. Vorlagen bieten die Möglichkeit, Konfigurationen wiederzuverwenden und für Konsistenz zwischen Nutzern und Datensätzen zu sorgen.

In Ihrer Vorlage geben Sie infoTypes an, die den zu de-identifizierenden Inhalt darstellen. Eine Liste der infoTypes finden Sie in der infoType-Detektorreferenz. Durch die De-Identifikation werden die Textteile maskiert, die durch die infoTypes-Eigenschaft in der Vorlage angegeben sind.

Syntax

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
  "text" : "text-to-deidentify"
  "templateName" : "path-to-template"
}]]></Input>

Beispiel

Im folgenden Beispiel ist die zu de-identifizierende Eingabe der Anfragetext, der in der Flussvariable request.content gespeichert ist.

<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 Default Erforderlich
Text Der zu de-identifizierende Text. Auf diese Weise wird der De-Identifikationsprozess ausgeführt. 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 mit der Google API die Vorlage erstellen, verwenden Sie den name-Eigenschaftswert 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. Diese Aktion maskiert die Teile von text, die durch das Attribut infoTypes in der Erweiterungskonfiguration angegeben sind.

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 für die Maske eine E-Mail-Adresse, die in einer input.email.address-Ablaufvariable gespeichert ist. Um dieses spezifische Beispiel zu unterstützen, muss diese Erweiterung so konfiguriert 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 Default 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

Entfernen Sie Text, der in eine der infoType-Kategorien fällt. Der entfernte Inhalt wird erkannt und durch ein undurchsichtiges Rechteck verdeckt. Diese Aktion maskiert die Teile von image_data, die durch das Attribut infoTypes in der Erweiterungskonfiguration 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 Default 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 Text wurde entfernt.

Konfigurationsreferenz

Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur Verwendung in API-Proxys konfigurieren und bereitstellen. Eine schrittweise 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 ID des GCP-Projekts, für das die Cloud Data Loss Prevention API aktiviert ist. Keine. Ja.
infoTypes infoTypes der sensiblen Daten. Wenn keine Angabe gemacht wird, 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. Beim Senden über die Verwaltungs-API handelt es sich um einen base64-codierten Wert, der aus der Schlüsseldatei des Dienstkontos generiert wird. Keine. Ja.