Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Versione: 1.2.0
Utilizza questa estensione per oscurare dati sensibili da contenuti e immagini. Ad esempio, potresti oscurare numeri di carte di credito, nomi e codici fiscali.
Questi contenuti forniscono riferimento per la configurazione e l'utilizzo di questa estensione. Per informazioni sulla configurazione di questa estensione, vedi Configurazione di riferimento.
Prerequisiti
Questi contenuti forniscono riferimento per la configurazione e l'utilizzo di questa estensione. Prima di utilizzare l'estensione da un proxy API con le norme relative ai callout estensione, devi:
Abilita l'API Google Cloud DLP per il tuo progetto.
Concedi l'autorizzazione per il livello di accesso che vuoi per l'estensione.
Utilizza la console di Google Cloud per generare una chiave per l'account di servizio.
Utilizza i contenuti del file JSON della chiave risultante durante l'aggiunta e la configurazione dell'estensione utilizzando il riferimento di configurazione.
Informazioni su Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) è un'API che consente di ispezionare testo, immagini e altri dati al fine di identificare e gestire i dati sensibili.
Per ulteriori informazioni, consulta la Panoramica di DLP. Per riferimento all'API resa disponibile da questa estensione, vedi API Cloud Data Loss Prevention (DLP).
Samples
Gli esempi riportati di seguito mostrano come configurare il supporto per le azioni delle estensioni DLP utilizzando i criteri di ExtensionsCallout.
Per semplificare la prova di questo codice di esempio, questi esempi utilizzano un criterioAssignMessage per impostare i valori delle variabili di flusso e per recuperare i valori di risposta delle estensioni da visualizzare nello strumento Traccia.
Maschera con stelle
In questo esempio viene utilizzata l'azione deidentifyWithMask
per mascherare i tipi di testo specificati con un carattere specificato nel criterio, in questo caso il carattere *
.
Il seguente criterio di AssegnaMessage imposta la variabile request.content
a scopo illustrativo. In genere, recupera i contenuti della richiesta dalla richiesta del client.
<?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>
Il seguente criterio ExtensionsCallout recupera il valore della variabile request.content e lo passa a un'estensione Cloud DLP (qui, chiamata example-dlp
). Questa estensione è stata configurata per mascherare i valori in base ai infoTypes URL
e 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>
Il seguente criterio AttributionMessage consente di recuperare l'output dell'estensione da visualizzare nello strumento 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>
Di seguito è riportato un esempio di output da questo codice.
{"text":"Visit my site at ******************* Or contact me at *****************."}
Maschera con nome
In questo esempio viene utilizzata l'azione deidentifyWithType
per mascherare i tipi di testo specificati con il nome infoType stesso. Ad esempio, l'indirizzo email gladys@example.com
verrà sostituito con EMAIL_ADDRESS
.
Il seguente criterio di AssegnaMessage imposta la variabile request.content
a scopo illustrativo. In genere, recupera i contenuti della richiesta dalla richiesta del client.
<?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>
Il seguente criterio ExtensionsCallout recupera il valore della variabile request.content
e lo passa a un'estensione Cloud DLP (qui, chiamata example-dlp
). Questa estensione è stata configurata per mascherare i valori in base ai infoTypes URL
e 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>
Il seguente criterio AttributionMessage consente di recuperare l'output dell'estensione da visualizzare nello strumento 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>
Di seguito è riportato un esempio di output da questo codice.
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
Azioni
deidentifyWithMask
Anonimizza i dati sensibili di text
e mascherali con il carattere mask
. Questa azione maschera le parti di text
specificate dalla proprietà infoTypes
nella configurazione dell'estensione.
Il mascheramento dei dati sensibili sostituisce i caratteri con un simbolo, ad esempio un asterisco (*) o un cancelletto (#). I tipi di dati sensibili possono essere configurati nella configurazione dell'estensione.
Sintassi
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
Esempio
Nell'esempio seguente, l'input da mascherare è un indirizzo email archiviato in una variabile di flusso input.email.address
. Per supportare questo esempio specifico, l'estensione deve essere stata configurata in modo da supportare l'infoType EMAIL_ADDRESS. Per un elenco di infoType, consulta la sezione Riferimento per i rilevatori di InfoType.
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{input.email.address}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
L'output per questo esempio sarebbe il seguente:
{"text":"*****************"}
Parametri richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorie |
---|---|---|---|---|
testo | Testo da anonimizzare. | Stringa | Nessuna. | Sì. |
mascherina | Carattere da utilizzare per mascherare i dati sensibili. | Stringa | Nessuna. | Sì. |
Risposta
Il testo di input con i valori degli infoType specificati sostituiti con il carattere specificato. Ad esempio:
{"text":"*********"}
deidentifyWithType
Anonimizza i dati sensibili nei contenuti di testo, sostituendo ogni valore corrispondente con il nome dell'infoType. Per un elenco di infoType, consulta la sezione Riferimento per i rilevatori di InfoType. Questa azione maschera le parti di text
specificate dalla proprietà infoTypes
nella configurazione dell'estensione.
Nell'esempio seguente, il numero di telefono viene riconosciuto dal servizio, quindi sostituito con il nome dell'infoType stesso.
Testo di input:
John Smith, 123 Main St, Seattle, WA 98122, 206-555-0123.
Testo del risultato:
John Smith, 123 Main St, Seattle, WA 98122, PHONE_NUMBER.
Sintassi
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
}]]></Input>
Esempio
Nell'esempio seguente, l'input da mascherare è un indirizzo email archiviato in una variabile di flusso input.email.address
. Per supportare questo esempio specifico, l'estensione deve essere stata configurata in modo da supportare l'infoType EMAIL_ADDRESS. Per un elenco di infoType, consulta la sezione Riferimento per i rilevatori di InfoType.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
L'output per questo esempio sarebbe il seguente:
{"text":"EMAIL_ADDRESS"}
Parametri richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorie |
---|---|---|---|---|
testo | Il testo da anonimizzare. | Stringa | Nessuna. | Sì. |
Risposta
Il testo di input con i valori degli infoType specificati sostituiti con i nomi infoType. Ad esempio:
{"text":"EMAIL_ADDRESS"}
redactImage
Oscura il testo che rientra in una delle categorie infoType. I contenuti oscurati vengono rilevati e oscurati da un rettangolo opaco. Questa azione maschera le parti di image_data
specificate dalla proprietà infoTypes
nella configurazione dell'estensione.
Per un elenco di infoType, consulta la sezione Riferimento per i rilevatori di InfoType.
Parametri richiesta
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
Parametro | Descrizione | Tipo | Predefinito | Obbligatorie |
---|---|---|---|---|
image_data | Dati immagine codificati in formato base64. | Stringa | Nessuna. | Sì. |
image_type | Costante del tipo di immagine. I valori disponibili sono IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. | Stringa | Nessuna. | Sì. |
Risposta
L'immagine con il testo oscurato.
Riferimento per la configurazione
Utilizza quanto segue durante la configurazione e il deployment di questa estensione per l'utilizzo nei proxy API. Per i passaggi per configurare un'estensione utilizzando la console Apigee, consulta Aggiungere e configurare un'estensione.
Proprietà delle estensioni comuni
Per ogni estensione sono presenti le seguenti proprietà.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
name |
Il nome che assegni a questa configurazione dell'estensione. | Nessuno | Sì |
packageName |
Nome del pacchetto dell'estensione fornito da Apigee Edge. | Nessuno | Sì |
version |
Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. | Nessuno | Sì |
configuration |
Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni | Nessuno | Sì |
Proprietà per questo pacchetto di estensioni
Specifica i valori per le seguenti proprietà di configurazione specifiche di questa estensione.
Proprietà | Descrizione | Predefinito | Obbligatorie |
---|---|---|---|
projectId | L'ID progetto Google Cloud per il quale è abilitata l'API Cloud Data Loss Prevention. | Nessuna. | Sì. |
infoTypes | Informazioni sui dati sensibili. Se omesso, il servizio rileverà tutti i tipi integrati. Per un elenco degli infoType supportati dal servizio Google Cloud DLP, consulta la documentazione di riferimento per i rilevatori di infoType. | Nessuna. | N. |
credenziali | Una volta inseriti nella console Apigee Edge, questi saranno i contenuti del file della chiave dell'account di servizio. Quando viene inviato tramite l'API di gestione, si tratta di un valore con codifica Base64 generato dal file della chiave dell'account di servizio. | Nessuna. | Sì. |