Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Versione: 1.3.0
Utilizza questa estensione per oscurare i dati sensibili nei contenuti e nelle immagini. Ad esempio, potresti oscurare numeri di carte di credito, nomi e codici fiscali.
Prerequisiti
Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione. Prima di utilizzare l'estensione da un proxy API utilizzando le norme ExtensionCallout, devi:
Abilita l'API Google Cloud DLP per il tuo progetto.
Concedi l'autorizzazione per il livello di accesso che vuoi assegnare all'estensione.
Utilizza la console di Google Cloud per generare una chiave per l'account di servizio.
Utilizza i contenuti del file JSON chiave risultante quando aggiungi e configuri l'estensione mediante 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 esposta da questa estensione, vedi API Cloud Data Loss Prevention (DLP).
Esempi
I seguenti esempi illustrano come configurare il supporto per le azioni delle estensioni Cloud DLP utilizzando il criterio ExtensionCallout.
Per semplificare l'esecuzione di questo codice campione, questi esempi utilizzano un criterioAssignMessage per impostare i valori delle variabili di flusso e recuperare i valori delle risposte delle estensioni da visualizzare nello strumento Trace.
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 criterioAssignMessage 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>
I seguenti criteri estensioneCallout recuperano il valore della variabile request.content e lo passa a un'estensione Cloud DLP (qui denominata example-dlp
). Questa estensione è stata configurata per mascherare i valori in base agli 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 criterioAssignMessage recupera l'output dell'estensione per la visualizzazione 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 dell'infotype stesso. Ad esempio, verrebbe sostituito l'indirizzo email gladys@example.com
con EMAIL_ADDRESS
.
Il seguente criterioAssignMessage 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>
Le seguenti norme sulle estensioni callout recuperano il valore della variabile request.content
e lo passa a un'estensione Cloud DLP (qui denominata example-dlp
). Questa estensione è stata configurata per mascherare i valori in base agli 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 criterioAssignMessage recupera l'output dell'estensione per la visualizzazione 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 da 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 delle estensioni.
Sintassi
<Action>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify",
"mask" : "masking-character"
}]]></Input>
Esempio
Nell'esempio seguente, l'input per la maschera è un indirizzo email memorizzato 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 documentazione di riferimento sui 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 di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
testo | Testo da anonimizzare. | Stringa | Nessuno. | Sì. |
maschera | Carattere da utilizzare per mascherare i dati sensibili. | Stringa | Nessuno. | Sì. |
Risposta
Il testo di input con i valori degli infoType specificati sostituiti con il carattere specificato. Ad esempio,
{"text":"*********"}
deidentifyWithTemplate
Anonimizza i dati sensibili nei contenuti testuali utilizzando un modello che configura il testo da anonimizzare e come gestirlo.
I modelli sono utili per disaccoppiare la configurazione, ad esempio gli elementi da ispezionare e il modo in cui la anonimizza dall'implementazione delle chiamate API. I modelli consentono di riutilizzare la configurazione e garantire la coerenza tra utenti e set di dati.
Nel modello, specificherai gli infoTypes che rappresentano i contenuti da anonimizzare. Per un elenco di infoType, consulta Riferimento per i rilevatori di infoType. L'anonimizzazione maschera le parti di testo specificate dalla proprietà infoTypes
nel modello.
Sintassi
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "text-to-deidentify"
"templateName" : "path-to-template"
}]]></Input>
Esempio
Nell'esempio seguente, l'input per anonimizzare è il corpo della richiesta portato dalla variabile di flusso request.content
.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
L'output per questo esempio sarebbe il contenuto della richiesta anonimizzato.
Parametri di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
testo | Il testo da anonimizzare. È su questo che opera il processo di anonimizzazione. | Oggetto | Nessuno. | Sì. |
templateName | Il modello da utilizzare. Si tratta di un percorso del modello nel seguente formato: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID . Quando crei il modello con l'API di Google, utilizza il valore della proprietà name della risposta come templateName . |
Stringa | Nessuno. | Sì. |
Risposta
Il testo di input con i valori degli infoType specificati sostituiti con i nomi infoType.
deidentifyWithType
Anonimizza i dati sensibili nei contenuti testuali, sostituendo ogni valore corrispondente con il nome dell'infoType. Per un elenco di infoType, consulta 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 per la maschera è un indirizzo email memorizzato 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 documentazione di riferimento sui 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 di richiesta
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
testo | Il testo da anonimizzare. | Stringa | Nessuno. | 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 di infoType. I contenuti oscurati vengono rilevati e oscurati con 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 Riferimento per i rilevatori di infoType.
Parametri di richiesta
<Action>redactImage</Action>
<Input><![CDATA[{
"image_data" : "base64-encoded-image-to-analyze",
"image_type" : "type-of-image"
}]]></Input>
Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
---|---|---|---|---|
image_data | I dati immagine codificati in base64. | Stringa | Nessuno. | Sì. |
image_type | Costante del tipo di immagine. I valori disponibili sono IMAGE_JPEG, IMAGE_BMP, IMAGE_PNG, IMAGE_SVG. | Stringa | Nessuno. | Sì. |
Risposta
L'immagine con testo oscurato.
Riferimento alla configurazione
Quando configuri questa estensione e ne esegui il deployment da usare nei proxy API, usa quanto segue. Per la procedura di configurazione di un'estensione utilizzando la console Apigee, vedi Aggiungere e configurare un'estensione.
Proprietà comuni delle estensioni
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 per questa estensione.
Proprietà | Descrizione | Predefinito | Obbligatorio |
---|---|---|---|
ID progetto | L'ID progetto Google Cloud per cui è abilitata l'API Cloud Data Loss Prevention. | Nessuno. | Sì. |
infoType | Tipi di informazioni dei dati sensibili. Se omesso, il servizio rileverà tutti i tipi integrati. Per un elenco di infoType supportati dal servizio Google Cloud DLP, consulta la documentazione su InfoType Detector. | Nessuno. | No. |
credenziali | Se inserito nella console Apigee Edge, si tratta del contenuto del file delle chiavi del tuo account di servizio. Se inviato tramite l'API di gestione, si tratta di un valore codificato in base64 generato dal file delle chiavi dell'account di servizio. | Nessuno. | Sì. |