Google Cloud-Erweiterung zum Schutz vor Datenverlust

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

Version: 2.0.0

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 mit der Google Cloud 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 zu Veranschaulichungszwecken fest. Normalerweise rufen Sie den Anfragetext 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 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 zu Veranschaulichungszwecken fest. Normalerweise rufen Sie den Anfragetext 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 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

Entfernen Sie die Identifizierung sensibler 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 wie ein Sternchen (*) oder ein Hashtag (#) ersetzt. 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, mit dem sensible Daten maskiert werden sollen. String Keine. Ja.

Antwort

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

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

deidentifyWithTemplate

Entfernen Sie die Identifizierung sensibler Daten in Textinhalten mit einer Vorlage, die konfiguriert, welcher Text de-identifiziert werden soll und wie er verarbeitet werden soll.

Vorlagen sind nützlich, um die Konfiguration (z. B. wonach Sie suchen und wie Sie die Identifizierung entfernen) von der Implementierung Ihrer API-Aufrufe zu entkoppeln. Vorlagen bieten eine Möglichkeit, Konfigurationen wiederzuverwenden und die Konsistenz zwischen Nutzern und Datensätzen zu gewährleisten.

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 Entfernen der Identifizierung 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 Entfernen der Identifizierung 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

Entfernen Sie die Identifizierung sensibler 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 Google Cloud-Projekt-ID, für die die Cloud Data Loss Prevention API aktiviert ist. Keine. Ja.
infoTypes Informationstypen der sensiblen Daten. Wenn diese Option nicht angegeben ist, erkennt der Dienst alle integrierten Typen. Eine Liste der von Google Cloud DLP unterstützten infoTypes 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.