Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Versione: 1.5.1
Utilizza questa estensione per oscurare i dati sensibili da contenuti e immagini. Ad esempio, puoi oscurare numeri di carte di credito, nomi e numeri di codice fiscale.
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 il criterio ExtensionCallout, devi:
Abilitare l'API DLP di Google Cloud per il tuo progetto.
Concedere l'autorizzazione per il livello di accesso che vuoi per l'estensione.
Utilizzare la console Google Cloud per generare una chiave per l'account di servizio.
Utilizzare i contenuti del file JSON della chiave risultante quando aggiungi e configuri l'estensione utilizzando il riferimento di configurazione.
Informazioni su Cloud Data Loss Prevention (DLP)
Cloud Data Loss Prevention (DLP) è un'API per l'ispezione di testo, immagini e altri dati per identificare e gestire i dati sensibili.
Per saperne di più, consulta la panoramica di DLP. Per un riferimento all'API esposta da questa estensione, consulta l'API Cloud Data Loss Prevention (DLP).
Esempi
Gli esempi seguenti illustrano come configurare il supporto per le azioni dell'estensione Cloud DLP utilizzando il criterio ExtensionCallout.
Per semplificare la prova di questo codice campione, questi esempi utilizzano un criterio AssignMessage per impostare i valori delle variabili di flusso e recuperare i valori di risposta dell'estensione per la visualizzazione nello strumento Trace.
Mascherare con asterischi
Questo esempio utilizza l'azione deidentifyWithMask per mascherare i tipi di testo specificati con un carattere specificato nel criterio, in questo caso il carattere *.
Il seguente criterio AssignMessage imposta la request.content variabile a scopo illustrativo. In genere, recuperi 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 ExtensionCallout recupera il valore della variabile request.content e lo passa a un'estensione Cloud DLP (in questo caso, chiamata example-dlp). Questa estensione è stata configurata per mascherare i valori in base agli infoType URL e 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>deidentifyWithMask</Action>
<Input><![CDATA[{
"text" : "{request.content}",
"mask" : "*"
}]]></Input>
<Output>masked.output</Output>
</ConnectorCallout>
Il seguente criterio AssignMessage 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 di questo codice.
{"text":"Visit my site at ******************* Or contact me at *****************."}
Mascherare con il nome
Questo esempio utilizza l'azione deidentifyWithType per mascherare i tipi di testo specificati con il nome dell'infoType stesso. Ad esempio, sostituirebbe l'indirizzo email gladys@example.com con EMAIL_ADDRESS.
Il seguente criterio AssignMessage imposta la request.content variabile a scopo illustrativo. In genere, recuperi 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 ExtensionCallout recupera il valore della variabile request.content e lo passa a un'estensione Cloud DLP (in questo caso, chiamata example-dlp). Questa estensione è stata configurata per mascherare i valori in base agli infoType URL e 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>
Il seguente criterio AssignMessage 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 di questo codice.
{"text":"Visit my site at [URL] Or contact me at [EMAIL_ADDRESS]."}
Azioni
deidentifyWithMask
De-identifica i dati sensibili da text e maschera i dati con il carattere mask. Questa azione maschera le parti di text specificate dalla proprietà infoTypes nella configurazione dell'estensione.
La mascheratura 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 memorizzato in una variabile di flusso input.email.address. Per supportare questo esempio specifico, questa estensione deve essere stata configurata per supportare l'infoType EMAIL_ADDRESS. Per un elenco di infoType, consulta la Guida di 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 sarà il seguente:
{"text":"*****************"}
Parametri di richiesta
| Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
|---|---|---|---|---|
| text | Testo da de-identificare. | Stringa | Nessuno. | Sì. |
| mask | 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
De-identifica i dati sensibili nei contenuti di testo utilizzando un modello che configura il testo da de-identificare e come gestirlo.
I modelli sono utili per separare la configurazione, ad esempio ciò che cerchi e come de-identifichi, dall'implementazione delle chiamate API. I modelli forniscono un modo per riutilizzare la configurazione e garantire la coerenza tra utenti e set di dati.
Nel modello, specificherai gli infoTypes che rappresentano i contenuti da de-identificare. Per un elenco di infoType, consulta la Guida di riferimento per i rilevatori di infoType. La de-identificazione 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 da de-identificare è il corpo della richiesta trasportato dalla request.content variabile di flusso.
<Action>deidentifyWithTemplate</Action>
<Input><![CDATA[{
"text" : "{request.content}"
"templateName" : "projects/[PROJECT_ID]/deidentifyTemplates/1231258663242"
}]]></Input>
L'output per questo esempio sarà il contenuto della richiesta de-identificato.
Parametri di richiesta
| Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
|---|---|---|---|---|
| text | Il testo da de-identificare. È su questo che opera il processo di de-identificazione. | Oggetto | Nessuno. | Sì. |
| templateName | Il modello da utilizzare. Si tratta di un percorso al modello nel seguente formato: projects or organizations/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID. Quando crei il modello con l'API 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 degli infoType.
deidentifyWithType
De-identifica i dati sensibili nei contenuti di testo, sostituendo ogni valore corrispondente con il nome dell'infoType. Per un elenco di infoType, consulta la Guida di 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 memorizzato in una variabile di flusso input.email.address. Per supportare questo esempio specifico, questa estensione deve essere stata configurata per supportare l'infoType EMAIL_ADDRESS. Per un elenco di infoType, consulta la Guida di riferimento per i rilevatori di infoType.
<Action>deidentifyWithType</Action>
<Input><![CDATA[{
"text" : "{input.email.address}"
}]]></Input>
L'output per questo esempio sarà il seguente:
{"text":"EMAIL_ADDRESS"}
Parametri di richiesta
| Parametro | Descrizione | Tipo | Predefinito | Obbligatorio |
|---|---|---|---|---|
| text | Il testo da de-identificare. | Stringa | Nessuno. | Sì. |
Risposta
Il testo di input con i valori degli infoType specificati sostituiti con i nomi degli 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 la Guida di 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 il testo oscurato.
Riferimento per la configurazione
Utilizza le seguenti informazioni quando configuri ed esegui il deployment di questa estensione per l'utilizzo nei proxy API. Per i passaggi per configurare 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 |
|---|---|---|---|
| projectId | L'ID progetto Google Cloud per cui è abilitata l'API Cloud Data Loss Prevention. | Nessuno. | Sì. |
| infoTypes | Tipi di informazioni dei dati sensibili. Se omesso, il servizio rileverà tutti i tipi integrati. Per un elenco degli infoType supportati dal servizio Google Cloud DLP, consulta la Guida di riferimento per i rilevatori di infoType. | Nessuno. | No. |
| credentials | Se inserito nella console Apigee Edge, si tratta dei contenuti del file della chiave dell'account di servizio. Se inviato tramite l'API di gestione, è un valore con codifica base64 generato dal file della chiave del service account. | Nessuno. | Sì. |