Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
Wersja: 2.0.0
Użyj tego rozszerzenia, aby ukryć dane wrażliwe w treściach i obrazach. Możesz na przykład zamazywać numery kart kredytowych, imiona i nazwiska oraz numery PESEL.
Wymagania wstępne
Te treści zawierają informacje na temat konfigurowania i używania tego rozszerzenia. Zanim użyjesz rozszerzenia z serwera proxy interfejsu API przy użyciu zasad dotyczących rozszerzeń, musisz:
Włącz interfejs Google Cloud DLP API w projekcie.
Przyznaj uprawnienia dla odpowiedniego poziomu dostępu, jaki chcesz przyznać rozszerzeniu.
Użyj zawartości utworzonego pliku klucza JSON podczas dodawania i konfigurowania rozszerzenia za pomocą dokumentacji konfiguracji.
Zapobieganie utracie danych w usłudze Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) to interfejs API do sprawdzania tekstu, obrazów i innych danych w celu identyfikowania danych wrażliwych i zarządzania nimi.
Więcej informacji znajdziesz w artykule Omówienie funkcji zapobiegania utracie danych (DLP). Informacje o interfejsie API udostępnianym przez to rozszerzenie znajdziesz w sekcji Cloud Data Loss Prevention (DLP) API.
Przykłady
Poniższe przykłady pokazują, jak skonfigurować obsługę działań rozszerzenia Cloud DLP za pomocą zapisu ExtensionCalloutPolicy.
Aby ułatwić testowanie tego przykładowego kodu, w tych przykładach użyto zapisu wiadomości przypisanej do ustawiania wartości zmiennych przepływu i pobierania wartości odpowiedzi rozszerzenia do wyświetlania w narzędziu do śledzenia.
Maska z gwiazdami
W tym przykładzie działanie deidentifyWithMask
służy do maskowania określonych typów tekstu za pomocą znaku określonego w zasadach – w tym przykładzie jest to znak *
.
W ramach tej zasady „Przypisz wiadomość” zmienna request.content
jest ustawiana na potrzeby przykładu. Zazwyczaj pobierasz zawartość żą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>
Poniższa zasada ExtensionCallout pobiera wartość zmiennej request.content i przekazuje ją rozszerzeniu Cloud DLP (tutaj o nazwie example-dlp
). Rozszerzenie zostało skonfigurowane tak, aby maskować 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>
Podana niżej zasada przypisuje wiadomość, która pobiera dane wyjściowe rozszerzenia do wyświetlenia w narzędzie 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ład danych wyjściowych z tego kodu.
{"text":"Visit my site at ******************* Or contact me at *****************."}
Maska z nazwą
W tym przykładzie działanie deidentifyWithType
służy do zamaskowania określonych typów tekstu nazwą typu informacji. Na przykład zastąpi adres e-mail gladys@example.com
wartością EMAIL_ADDRESS
.
W ramach tej zasady „Przypisz wiadomość” zmienna request.content
jest ustawiana na potrzeby przykładu. Zazwyczaj pobierasz zawartość żą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>
Poniższa zasada ExtensionCallout pobiera wartość zmiennej request.content
i przekazuje ją do rozszerzenia Cloud DLP (tutaj o nazwie example-dlp
). Rozszerzenie zostało skonfigurowane tak, aby maskować wartości na podstawie atrybutów URL
i EMAIL_ADDRESS
infoTypes.
<?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>
Podana niżej zasada przypisuje wiadomość, która pobiera dane wyjściowe rozszerzenia do wyświetlenia w narzędzie 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ład danych wyjściowych z tego kodu.
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
Działania
deidentifyWithMask
Deidentyfikuj dane wrażliwe z poziomu text
i zamaskuj je za pomocą znaku mask
. To działanie maskuje te części text
, które są określone przez właściwość infoTypes
w konfiguracji rozszerzenia.
Zamaskowanie danych wrażliwych polega na zastąpieniu znaków symbolem, np. gwiazdką (*) lub znakiem #. Typy danych wrażliwych można skonfigurować w konfiguracji rozszerzenia.
Składnia
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
Przykład
W tym przykładzie dane wejściowe do zamaskowania to adres e-mail przechowywany w zmiennej przepływu input.email.address
. Aby ten przykład działał, rozszerzenie musi być skonfigurowane tak, aby obsługiwać typ informacji EMAIL_ADDRESS. Listę obiektów infoType znajdziesz w dokumentacji wzorca do wykrywania treści typu InfoType.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
Dane wyjściowe w tym przykładzie będą wyglądać tak:
{"text":"*****************"}
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
tekst | Tekst do anonimizacji. | Ciąg znaków | Brak. | Tak. |
maska | Znak do zamaskowania danych wrażliwych. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Tekst wejściowy z wartościami obiektów infoType zastąpionymi określonym znakiem. Na przykład
{"text":"*********"}
deidentifyWithTemplate
Deidentyfikuj dane wrażliwe w treści tekstowej, korzystając z szablonu, który konfiguruje, jaki tekst ma zostać zdeidentyfikowany i jak go przetworzyć.
Szablony są przydatne do rozdzielenia konfiguracji, np. tego, co sprawdzasz i jak deidentyfikujesz, od implementacji wywołań interfejsu API. Szablony umożliwiają ponowne używanie konfiguracji i zapewniają spójność wśród użytkowników i zbiorów danych.
W szablonie musisz określić infoTypes reprezentujące treści, które mają zostać zdeidentyfikowane. Listę obiektów infoType znajdziesz w sekcji Informacje o wzorcach do wykrywania typu InfoType. Funkcja deidentyfikowania maskuje te części tekstu, które są określone przez właściwość infoTypes
w szablonie.
Składnia
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName" : "path-to-template"
}]]></Input>
Przykład
W tym przykładzie dane wejściowe do anonimizacji to treść żądania przekazywana przez request.content
zmienną przepływu.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
W tym przykładzie dane wyjściowe to zdezidentyfikowana treść prośby.
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
tekst | Tekst, który ma zostać zdeidentyfikowany. Na tym polega proces deidentyfikacji. | Obiekt | Brak. | Tak. |
templateName | Szablon, którego chcesz użyć. Będzie to ścieżka do szablonu w tym formacie: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID . Gdy tworzysz szablon za pomocą interfejsu Google API, jako templateName użyj wartości właściwości name z odpowiedzi. |
Ciąg znaków | Brak. | Tak. |
Odpowiedź
Tekst wejściowy z wartościami określonych obiektów infoType zastąpionych nazwami tych obiektów.
deidentifyWithType
Deidentyfikuj dane wrażliwe w treści tekstowej, zastępując każdą dopasowaną wartość nazwą obiektu infoType. Listę obiektów infoType znajdziesz w sekcji Informacje o wzorcach do wykrywania typu InfoType. To działanie maskuje te części text
, które są określone przez właściwość infoTypes
w konfiguracji rozszerzenia.
W tym przykładzie usługa rozpoznaje numer telefonu, a następnie zastępuje go nazwą obiektu infoType.
Wprowadzany tekst:
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 tym przykładzie dane wejściowe do zamaskowania to adres e-mail przechowywany w zmiennej przepływu input.email.address
. Aby ten przykład działał, rozszerzenie musi być skonfigurowane tak, aby obsługiwać typ informacji EMAIL_ADDRESS. Listę obiektów infoType znajdziesz w dokumentacji wzorca do wykrywania treści typu InfoType.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
Dane wyjściowe w tym przykładzie będą wyglądać tak:
{"text":"EMAIL_ADDRESS"}
Parametry żądania
Parametr | Opis | Typ | Domyślny | Wymagane |
---|---|---|---|---|
tekst | Tekst, który ma zostać zdeidentyfikowany. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Tekst wejściowy z wartościami określonych obiektów infoType zastąpionych nazwami tych obiektów. Na przykład
{"text":"EMAIL_ADDRESS"}
redactImage
Zasłoń tekst, który należy do jednej z kategorii infoType. Treści usunięte są wykrywane i zaciemniane za pomocą nieprzezroczystego prostokąta. To działanie maskuje te części image_data
, które są określone przez właściwość infoTypes
w konfiguracji rozszerzenia.
Listę obiektów infoType znajdziesz w sekcji Informacje o wzorcach do wykrywania typu 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łe typu obrazu. Dostępne wartości to IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Obraz z usuniętym tekstem.
Informacje o konfiguracji
Podczas konfigurowania i wdrażania tego rozszerzenia do użycia w serwerach proxy API postępuj zgodnie z tymi instrukcjami. Instrukcje konfigurowania rozszerzenia za pomocą konsoli Apigee znajdziesz w artykule Dodawanie i konfigurowanie rozszerzenia.
Właściwości wspólne 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ń
Podaj wartości tych właściwości konfiguracji, które są specyficzne dla tego rozszerzenia.
Właściwość | Opis | Domyślny | Wymagane |
---|---|---|---|
Identyfikator projektu | Identyfikator projektu GCP, dla którego włączono interfejs Cloud Data Loss Prevention API. | Brak. | Tak. |
infoTypes | Typy informacji o danych wrażliwych. Jeśli nazwa zostanie pominięta, usługa wykryje wszystkie wbudowane typy. Listę typów informacji obsługiwanych przez usługę Google Cloud DLP znajdziesz w dokumentacji dotyczącej detektorów typów informacji. | Brak. | Nie. |
dane logowania | Gdy wpiszesz go w konsoli Apigee Edge, będzie to zawartość pliku klucza konta usługi. Gdy jest wysyłany za pomocą interfejsu API zarządzania, jest to wartość zakodowana w formacie base64 wygenerowana z pliku klucza konta usługi. | Brak. | Tak. |