Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Wersja: 1.2.0
Użyj tego rozszerzenia, aby ukryć dane wrażliwe w treści i obrazach. Możesz na przykład usunąć numery kart kredytowych, imiona i nazwiska oraz numery PESEL.
W tym artykule znajdziesz informacje na temat konfigurowania i używania tego rozszerzenia. Informacje o konfiguracji tego rozszerzenia znajdziesz w dokumentacji konfiguracji.
Wymagania wstępne
W tym artykule znajdziesz informacje na temat konfigurowania i używania tego rozszerzenia. Zanim użyjesz rozszerzenia z serwera proxy interfejsu API za pomocą zasady ExtensionCallout, musisz:
Włącz interfejs Google Cloud DLP API w swoim projekcie.
Przyznaj uprawnienia poziom dostępu rozszerzenia.
Użyj zawartości wynikowego pliku JSON klucza podczas dodawania i konfigurowania rozszerzenia w dokumentacji konfiguracji.
Informacje o usłudze Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) to interfejs API służący do sprawdzania tekstu, obrazów i innych danych w celu identyfikowania danych wrażliwych i zarządzania nimi.
Więcej informacji znajdziesz w omówieniu DLP. Informacje o interfejsie API udostępnianym przez to rozszerzenie znajdziesz w artykule na temat interfejsu Cloud Data Loss Prevention (DLP) API.
Przykłady
Poniższe przykłady pokazują, jak skonfigurować obsługę działań rozszerzenia DLP za pomocą zasady ExtensionCallout.
Aby ułatwić wypróbowanie tego przykładowego kodu, w poniższych przykładach użyliśmy zasady AssignMessage do ustawiania wartości zmiennych przepływu i pobierania wartości odpowiedzi rozszerzenia do wyświetlenia w narzędziu do śledzenia.
Maska z gwiazdkami
W tym przykładzie użyto działania deidentifyWithMask
, aby zamaskować określone typy tekstu za pomocą znaku określonego w zasadzie – w tym przypadku znaku *
.
Poniższe zasady AssignMessage ustawiają zmienną request.content
w celach ilustracyjnych. Zwykle pobiera się treść żądania z żądania klienta.
<?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>
Ta zasada ExtensionCallout pobiera wartość zmiennej request.content i przekazuje ją do rozszerzenia Cloud DLP (o nazwie example-dlp
). To rozszerzenie zostało skonfigurowane do maskowania wartości na podstawie infoTypes URL
i EMAIL_ADDRESS
.
<?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>
Poniższa zasada AssignMessage pobiera dane wyjściowe rozszerzenia do wyświetlenia w narzędziu Trace.
<?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>
Poniżej znajdziesz przykładowe dane wyjściowe tego kodu.
{"text":"Visit my site at ******************* Or contact me at *****************."}
Maska z nazwą
W tym przykładzie użyto działania deidentifyWithType
, aby zamaskować określone typy tekstu za pomocą samej nazwy obiektu infoType. Zastąpi on na przykład adres gladys@example.com
adresem EMAIL_ADDRESS
.
Poniższe zasady AssignMessage ustawiają zmienną request.content
w celach ilustracyjnych. Zwykle pobiera się treść żądania z żądania klienta.
<?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>
Ta zasada ExtensionCallout pobiera wartość zmiennej request.content
i przekazuje ją do rozszerzenia Cloud DLP (tutaj o nazwie example-dlp
). To rozszerzenie zostało skonfigurowane do maskowania wartości na podstawie infoTypes URL
i EMAIL_ADDRESS
.
<?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>
Poniższa zasada AssignMessage pobiera dane wyjściowe rozszerzenia do wyświetlenia w narzędziu Trace.
<?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>
Poniżej znajdziesz przykładowe dane wyjściowe tego kodu.
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
Działania
deidentifyWithMask
Deidentyfikuj dane wrażliwe z elementu text
i zamaskuj je znakiem mask
. To działanie maskuje te części elementu text
określone przez właściwość infoTypes
w konfiguracji rozszerzenia.
Maskowanie danych wrażliwych powoduje zastąpienie znaków symbolem, np. gwiazdki (*) lub krzyżyka (#). Typy danych wrażliwych można określić w konfiguracji rozszerzenia.
Składnia
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
Przykład
W poniższym przykładzie dane do zamaskowania to adres e-mail zapisany w zmiennej przepływu input.email.address
. Aby obsługiwać ten konkretny przykład, to rozszerzenie musi być skonfigurowane do obsługi obiektu infoType EMAIL_ADDRESS. Listę obiektów infoType znajdziesz w dokumentacji funkcji wykrywania obiektów InfoType.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
W tym przykładzie dane wyjściowe będą następujące:
{"text":"*****************"}
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
tekst | Tekst do deidentyfikacji. | Ciąg znaków | Brak. | Tak. |
maska | Znak używany do maskowania danych wrażliwych. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Tekst wejściowy z wartościami określonych obiektów infoType zastąpione określonym znakiem. Na przykład
{"text":"*********"}
deidentifyWithType
Deidentyfikacja danych wrażliwych w treści tekstowej, zastępując każdą dopasowaną wartość nazwą obiektu infoType. Listę obiektów infoType znajdziesz w dokumentacji detektora InfoType. To działanie maskuje te części elementu text
określone przez właściwość infoTypes
w konfiguracji rozszerzenia.
W poniższym przykładzie numer telefonu jest rozpoznawany przez usługę, a następnie zastępowany nazwą samego obiektu infoType.
Tekst wejściowy:
John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.
Tekst wyniku:
John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.
Składnia
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
}]]></Input>
Przykład
W poniższym przykładzie dane do zamaskowania to adres e-mail zapisany w zmiennej przepływu input.email.address
. Aby obsługiwać ten konkretny przykład, to rozszerzenie musi być skonfigurowane do obsługi obiektu infoType EMAIL_ADDRESS. Listę obiektów infoType znajdziesz w dokumentacji funkcji wykrywania obiektów InfoType.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
W tym przykładzie dane wyjściowe będą następujące:
{"text":"EMAIL_ADDRESS"}
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
tekst | Tekst do deidentyfikacji. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Tekst wejściowy z wartościami określonych obiektów infoType zastąpione nazwami obiektów infoType. Na przykład
{"text":"EMAIL_ADDRESS"}
redactImage
Usuń tekst, który należy do jednej z kategorii obiektów infoType. Usunięte treści są wykrywane i zasłonięte nieprzezroczystym prostokątem. To działanie maskuje te części elementu image_data
określone przez właściwość infoTypes
w konfiguracji rozszerzenia.
Listę obiektów infoType znajdziesz w dokumentacji detektora InfoType.
Parametry żądania
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
image_data | Dane obrazu zakodowane w formacie base64. | Ciąg znaków | Brak. | Tak. |
image_type | Stała typu obrazu. Dostępne wartości to IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG oraz IMAGE_SVG. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Obraz z tekstem usunięty.
Odniesienie do konfiguracji
Podczas konfigurowania i wdrażania tego rozszerzenia na potrzeby serwerów proxy interfejsu API użyj poniższych wskazówek. Instrukcje konfigurowania rozszerzenia za pomocą konsoli Apigee znajdziesz w artykule Dodawanie i konfigurowanie rozszerzenia.
Typowe właściwości rozszerzeń
Dla każdego rozszerzenia dostępne są poniższe właściwości.
Usługa | Opis | Domyślnie | Wymagany |
---|---|---|---|
name |
Nazwa nadana konfiguracji rozszerzenia. | Brak | Tak |
packageName |
Nazwa pakietu rozszerzeń podana przez Apigee Edge. | Brak | Tak |
version |
Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. | Brak | Tak |
configuration |
Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń | Brak | Tak |
Właściwości tego pakietu rozszerzeń
Określ wartości następujących właściwości konfiguracji specyficznych dla tego rozszerzenia.
Właściwość | Opis | Domyślny | Wymagane |
---|---|---|---|
Identyfikator projektu | Identyfikator projektu GCP, w którym włączono interfejs Cloud Data Loss Prevention API. | Brak. | Tak. |
infoTypes | Typy informacji dotyczących danych wrażliwych. Jeśli nazwa zostanie pominięta, usługa wykryje wszystkie wbudowane typy. Listę obiektów infoType obsługiwanych przez usługę Google Cloud DLP znajdziesz w artykule Informacje o wykrywaniu obiektów InfoType. | Brak. | Nie. |
dane logowania | Wprowadzona w konsoli Apigee Edge plik ten zawiera zawartość pliku klucza konta usługi. W przypadku wysyłania przez interfejs API zarządzania jest to wartość zakodowana w formacie base64 generowana na podstawie pliku klucza konta usługi. | Brak. | Tak. |