Google Cloud-Erweiterung zum Schutz vor Datenverlust

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zuApigee X wechseln
.
info

Version: 1.5.1

Mit dieser Erweiterung können Sie sensible Daten aus Inhalten und Bildern unkenntlich machen. Sie können beispielsweise Kreditkartennummern, Namen und Sozialversicherungsnummern entfernen.

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, müssen Sie Folgendes tun:

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

  2. Gewähren Sie die Berechtigung für die Zugriffsebene, die Sie für die Erweiterung benötigen.

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

  4. 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 Prüfen von Text, Bildern und anderen Daten, um sensible Daten zu identifizieren und zu verwalten.

Weitere Informationen finden Sie in der DLP-Übersicht. Eine Referenz 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.

Um das Testen dieses Beispielcodes zu erleichtern, verwenden diese Beispiele eine AssignMessage-Richtlinie, um Werte für Ablaufvariablen festzulegen und Erweiterungsantwortwerte 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 das Zeichen *.

Die folgende AssignMessage-Richtlinie legt die request.content Variable zur Veranschaulichung fest. Normalerweise rufen Sie den Anforderungsinhalt aus der Anforderung 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 URL und EMAIL_ADDRESS infoTypes 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, 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 sehen 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 infoType selbst zu maskieren. Beispielsweise wird die E-Mail-Adresse gladys@example.com durch EMAIL_ADDRESS ersetzt.

Die folgende AssignMessage-Richtlinie legt die request.content Variable zur Veranschaulichung fest. Normalerweise rufen Sie den Anforderungsinhalt aus der Anforderung 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 infoTypes 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, 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 sehen 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 maskiert, die durch die Property infoTypes in der Erweiterungskonfiguration angegeben werden.

Beim Maskieren sensibler Daten werden Zeichen durch ein Symbol ersetzt, z. B. ein Sternchen (*) oder eine Raute (#). Die Arten 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 zum Maskieren eine E-Mail-Adresse, die in einer Ablaufvariablen input.email.address gespeichert ist. Damit dieses Beispiel funktioniert, muss diese Erweiterung so konfiguriert sein, dass sie den infoType EMAIL_ADDRESS unterstützt. 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 de-identifizierender Text. String Keine. Ja.
Maske Zeichen zum Maskieren sensibler Daten. String Keine. Ja.

Antwort

Der Eingabetext, bei dem die Werte der angegebenen infoTypes durch das angegebene Zeichen ersetzt wurden. Beispiel:

{"text":"*********"}

deidentifyWithTemplate

De-identifizieren Sie sensible Daten in Textinhalten mit einer Vorlage, die konfiguriert, 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, z. B. was Sie überprüfen und wie Sie dessen Identifizierung aufheben. Mit Vorlagen können Sie Konfigurationen wiederverwenden und eine Konsistenz bei Nutzern und Datasets erreichen.

In der Vorlage geben Sie infoTypes an, die den zu de-identifizierenden Inhalt darstellen. Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren. Beim De-Identifizieren werden die Teile des Texts maskiert, die durch die Property infoTypes 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 zum De-Identifizieren der Anfragetext, der von der request.content Ablaufvariablen übertragen wird.

<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
    "text" : "{request.content}"
    "templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>

Die Ausgabe für dieses Beispiel ist der de-identifizierte Anfragetext.

Anfrageparameter

Parameter Beschreibung Typ Standard Erforderlich
Text Der zu de-identifizierende Text. Dies ist das, was beim De-Identifizierungsprozess verarbeitet wird. Objekt Keine. Ja.
templateName 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 der Property name der Antwort als templateName. String Keine. Ja.

Antwort

Der Eingabetext, bei dem die Werte der angegebenen infoTypes durch die Namen der infoTypes 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 Referenz zu infoType-Detektoren. Mit dieser Aktion werden die Teile von text maskiert, die durch die Property infoTypes in der Erweiterungskonfiguration angegeben werden.

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 Ablaufvariablen input.email.address gespeichert ist. Damit dieses Beispiel funktioniert, muss diese Erweiterung so konfiguriert sein, dass sie den infoType EMAIL_ADDRESS unterstützt. 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 zu de-identifizierende Text. String Keine. Ja.

Antwort

Der Eingabetext, bei dem die Werte der angegebenen infoTypes durch die Namen der infoTypes ersetzt wurden. Beispiel:

{"text":"EMAIL_ADDRESS"}

redactImage

Entfernen Sie Text, der in eine der infoType-Kategorien fällt. Der entfernte Inhalt wird erkannt und mit einem undurchsichtigen Rechteck verdeckt. Mit dieser Aktion werden die Teile von image_data maskiert, die durch die Property infoTypes in der Erweiterungskonfiguration angegeben werden.

Eine Liste der infoTypes finden Sie in der Referenz zu infoType-Detektoren.

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

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 speziell für diese Erweiterung gelten.

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, erkennt der Dienst alle integrierten Typen. Eine Liste der infoTypes, die vom Google Cloud DLP-Dienst unterstützt werden, finden Sie in der Referenz zu infoType-Detektoren. Keine. Nein.
Anmeldedaten Wenn in der Apigee Edge-Konsole eingegeben, ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn über die Management API gesendet, ist es ein base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wurde. Keine. Ja.