La distribuzione quasi in tempo reale di dati e approfondimenti consente alle aziende di rispondere rapidamente alle esigenze dei propri clienti. I dati in tempo reale possono provenire da una varietà di fonti, inclusi social media, dispositivi IoT, monitoraggio dell'infrastruttura, monitoraggio del call center e altro ancora. A causa dell'ampiezza e della profondità dei dati acquisiti da più origini, le aziende cercano soluzioni per proteggere la privacy dei propri clienti e impedire l'accesso ai dati sensibili dai sistemi finali. In precedenza dovevi fare affidamento su motori di regole per le informazioni di identificazione personale (PII) che potevano segnalare falsi positivi o dati mancanti, oppure dovevi creare e mantenere modelli di machine learning (ML) personalizzati per identificare le PII nei tuoi dati di streaming. Dovevi anche implementare e mantenere l'infrastruttura necessaria per supportare questi motori o modelli.
Per semplificare questo processo e ridurre i costi, puoi utilizzare Amazon Comprehend, un servizio di elaborazione del linguaggio naturale (NLP) che utilizza il ML per trovare approfondimenti e relazioni come persone, luoghi, sentimenti e argomenti in testo non strutturato. Ora puoi utilizzare le funzionalità di Amazon Comprehend ML per rilevare e modificare le PII nelle e-mail dei clienti, nei ticket di supporto, nelle recensioni dei prodotti, nei social media e altro ancora. Non è richiesta alcuna esperienza di machine learning. Ad esempio, puoi analizzare ticket di supporto e articoli della conoscenza per rilevare entità PII e redigere il testo prima di indicizzare i documenti. Successivamente, i documenti sono privi di entità PII e gli utenti possono consumare i dati. La redazione di entità PII ti aiuta a proteggere la privacy dei tuoi clienti e a rispettare le leggi e i regolamenti locali.
In questo post imparerai come implementare Amazon Comprehend nelle tue architetture di streaming per redigere entità PII quasi in tempo reale utilizzando Firehose dati Amazon Kinesis con AWS Lambda.
Questo post è incentrato sulla redazione dei dati da campi selezionati che vengono inseriti in un'architettura di streaming utilizzando Kinesis Data Firehose, in cui si desidera creare, archiviare e mantenere copie derivate aggiuntive dei dati per il consumo da parte degli utenti finali o delle applicazioni downstream. Se stai usando Flussi di dati di Amazon Kinesis o avere casi d'uso aggiuntivi al di fuori della redazione delle PII, fare riferimento a Traduci, modifica e analizza i dati in streaming utilizzando le funzioni SQL con Amazon Kinesis Data Analytics, Amazon Translate e Amazon Comprehend, dove mostriamo come puoi usare Studio di analisi dei dati di Amazon Kinesis offerto da Zeppelin Apache ed Apache Flink per analizzare, tradurre e redigere in modo interattivo i campi di testo nei dati in streaming.
Panoramica della soluzione
La figura seguente mostra un'architettura di esempio per eseguire la redazione PII di dati in streaming in tempo reale, utilizzando Servizio di archiviazione semplice Amazon (Amazon S3), Trasformazione dei dati di Kinesis Data Firehose, Amazon Comprehende AWS Lambda. Inoltre, utilizziamo il SDK AWS per Python (Boto3) per le funzioni Lambda. Come indicato nel diagramma, il bucket non elaborato S3 contiene dati non modificati e il bucket S3 modificato contiene dati oscurati dopo aver utilizzato Amazon Comprehend DetectPiiEntities
API all'interno di una funzione Lambda.
Costi coinvolti
Oltre ai costi di Kinesis Data Firehose, Amazon S3 e Lambda, questa soluzione comporterà costi di utilizzo da parte di Amazon Comprehend. L'importo da pagare è un fattore del numero totale di record che contengono PII e i caratteri elaborati dalla funzione Lambda. Per ulteriori informazioni, fare riferimento a Prezzi di Amazon Kinesis Data Firehose, Prezzi comprensivi di Amazone Prezzi di AWS Lambda.
Ad esempio, supponiamo che tu abbia 10,000 record di log e che il valore chiave da cui vuoi redigere le PII sia 500 caratteri. Dei 10,000 record di registro, 50 sono identificati come contenenti PII. I dettagli dei costi sono i seguenti:
Contiene PII Costo:
- Dimensione di ogni valore chiave = 500 caratteri (1 unità = 100 caratteri)
- Numero di unità (100 caratteri) per record (il minimo è 3 unità) = 5
- Unità totali = 10,000 (record) x 5 (unità per record) x 1 (richieste Amazon Comprehend per record) = 50,000
- Prezzo per unità = $ 0.000002
- Costo totale per l'identificazione dei record di registro con PII utilizzando l'API ContainsPiiEntities = $ 0.1 [50,000 unità x $ 0.000002]
Redigere PII Costo:
- Unità totali contenenti PII = 50 (record) x 5 (unità per record) x 1 (richieste Amazon Comprehend per record) = 250
- Prezzo per unità = $ 0.0001
- Costo totale per l'identificazione della posizione delle PII utilizzando l'API DetectPiiEntities = [numero di unità] x [costo per unità] = 250 x 0.0001 USD = 0.025 USD
Costo totale per l'identificazione e la redazione:
- Costo totale: $ 0.1 (convalida se il campo contiene PII) + $ 0.025 (escludi i campi che contengono PII) = $ 0.125
Distribuisci la soluzione con AWS CloudFormation
Per questo post, forniamo un AWS CloudFormazione redazione dei dati in streaming modello, che fornisce tutti i dettagli dell'implementazione per consentire distribuzioni ripetibili. Al momento della distribuzione, questo modello crea due bucket S3: uno per archiviare i dati di esempio grezzi acquisiti da Amazon Kinesis Data Generator (KDG) e uno per archiviare i dati redatti. Inoltre, crea un flusso di consegna Kinesis Data Firehose con DirectPUT
come input e una funzione Lambda che chiama Amazon Comprehend ContienePiiEntità ed Rileva EntitàPii API per identificare e redigere i dati PII. La funzione Lambda si basa sull'input dell'utente nelle variabili di ambiente per determinare quali valori chiave devono essere controllati per le PII.
La funzione Lambda in questa soluzione ha dimensioni del carico utile limitate a 100 KB. Se viene fornito un payload in cui il testo è maggiore di 100 KB, la funzione Lambda lo salterà.
Per distribuire la soluzione, completare i seguenti passaggi:
- Avvia lo stack CloudFormation negli Stati Uniti orientali (Virginia settentrionale)
us-east-1
: - Immettere un nome di stack e lasciare gli altri parametri ai valori predefiniti
- Seleziona Riconosco che AWS CloudFormation potrebbe creare risorse IAM con nomi personalizzati.
- Scegli Crea stack.
Distribuisci risorse manualmente
Se preferisci creare l'architettura manualmente invece di utilizzare AWS CloudFormation, completa i passaggi in questa sezione.
Crea i bucket S3
Crea i tuoi bucket S3 con i seguenti passaggi:
- Sulla console Amazon S3, scegli Secchi nel pannello di navigazione.
- Scegli Crea un secchio.
- Crea un bucket per i tuoi dati grezzi e uno per i tuoi dati redatti.
- Prendi nota dei nomi dei bucket che hai appena creato.
Crea la funzione Lambda
Per creare e distribuire la funzione Lambda, completare i seguenti passaggi:
- Sulla console Lambda, selezionare Crea funzione.
- Scegli Autore da zero.
- Nel Nome della funzione, accedere
AmazonComprehendPII-Redact
. - Nel Runtimescegli Python 3.9.
- Nel Architettura, selezionare x86_64.
- Nel Ruolo di esecuzione, selezionare Crea un nuovo ruolo con autorizzazioni Lambda.
- Dopo aver creato la funzione, immettere il codice seguente:
- Scegli Schierare.
- Nel pannello di navigazione, scegli Configurazione.
- Spostarsi Variabili ambientali.
- Scegli Modifica.
- Nel Le, accedere
keys
. - Nel Valore, inserisci i valori chiave da cui vuoi redigere le PII, separati da una virgola e uno spazio. Ad esempio, inserisci
Tweet1
,Tweet2
se stai utilizzando i dati del test di esempio forniti nella sezione successiva di questo post. - Scegli Risparmi.
- Spostarsi Configurazione generale.
- Scegli Modifica.
- Cambia il valore di timeout a 1 minuto.
- Scegli Risparmi.
- Spostarsi Permessi.
- Scegli il nome del ruolo sotto Ruolo di esecuzione.
Sei reindirizzato al Gestione dell'identità e dell'accesso di AWS console (IAM). - Nel Aggiungi autorizzazioniscegli Allega criteri.
- entrare
Comprehend
nella barra di ricerca e scegli la politicaComprehendFullAccess
. - Scegli Allega criteri.
Crea il flusso di consegna Firehose
Per creare il tuo flusso di consegna Firehose, completa i seguenti passaggi:
- Nella console di Kinesis Data Firehose, selezionare Crea flusso di consegna.
- Nel Fonte, selezionare PUT diretto.
- Nel Nei Dintorni, selezionare Amazon S3.
- Nel Nome flusso di consegna, accedere
ComprehendRealTimeBlog
. - Sotto Trasforma i record di origine con AWS Lambda, selezionare abilitato.
- Nel Funzione AWS Lambda, inserisci l'ARN per la funzione che hai creato o cerca la funzione
AmazonComprehendPII-Redact
. - Nel Dimensione buffer, impostare il valore su 1 MB.
- Nel Intervallo tampone, lascialo come 60 secondi.
- Sotto Impostazioni di destinazione, seleziona il bucket S3 che hai creato per i dati redatti.
- Sotto impostazioni di backup, seleziona il bucket S3 che hai creato per i record non elaborati.
- Sotto permesso, crea o aggiorna un ruolo IAM oppure scegli un ruolo esistente con le autorizzazioni appropriate.
- Scegli Crea flusso di consegna.
Distribuisci la soluzione di dati in streaming con Kinesis Data Generator
È possibile utilizzare Kinesis Data Generator (KDG) per importare dati campione in Kinesis Data Firehose e testare la soluzione. Per semplificare questo processo, forniamo una funzione Lambda e un modello CloudFormation per creare un file Amazzonia Cognito utente e assegnare le autorizzazioni appropriate per utilizzare il KDG.
- Sulla Pagina Amazon Kinesis Data Generatorscegli Crea un utente Cognito con CloudFormation.Sei reindirizzato alla console AWS CloudFormation per creare il tuo stack.
- Fornisci un nome utente e una password per l'utente con cui accedi al KDG.
- Lascia le altre impostazioni ai valori predefiniti e crea il tuo stack.
- Sulla Uscite scheda, scegli il collegamento dell'interfaccia utente di KDG.
- Inserisci il tuo nome utente e password per accedere.
Invia record di test e convalida la redazione in Amazon S3
Per testare la soluzione, completare i seguenti passaggi:
- Accedi all'URL KDG che hai creato nel passaggio precedente.
- Scegli la regione in cui è stato distribuito lo stack AWS CloudFormation.
- Nel Stream/flusso di consegna, scegli il flusso di consegna che hai creato (se hai utilizzato il modello, ha il formato
accountnumber-awscomprehend-blog
). - Lascia le altre impostazioni ai valori predefiniti.
- Per il modello di record, puoi creare i tuoi test o utilizzare il modello seguente. Se stai utilizzando i dati di esempio forniti di seguito per i test, dovresti avere le variabili di ambiente aggiornate nel
AmazonComprehendPII-Redact
Funzione Lambda aTweet1
,Tweet2
. Se distribuito tramite CloudFormation, aggiorna le variabili di ambiente aTweet1
,Tweet2
all'interno della funzione Lambda creata. I dati del test di esempio sono di seguito: - Scegli Invia i datie attendi alcuni secondi per l'invio dei record al tuo stream.
- Dopo alcuni secondi, arresta il generatore KDG e controlla i tuoi bucket S3 per i file consegnati.
Quello che segue è un esempio dei dati grezzi nel bucket S3 non elaborato:
Quello che segue è un esempio dei dati redatti nel bucket S3 modificato:
Le informazioni sensibili sono state rimosse dai messaggi oscurati, garantendo la possibilità di condividere questi dati con i sistemi finali.
Pulire
Al termine della sperimentazione di questa soluzione, ripulisci le risorse utilizzando la console AWS CloudFormation per eliminare tutte le risorse distribuite in questo esempio. Se hai seguito i passaggi manuali, dovrai eliminare manualmente i due bucket, il AmazonComprehendPII-Redact
funzione, il ComprehendRealTimeBlog
stream, il gruppo di log per il ComprehendRealTimeBlog
stream e tutti i ruoli IAM creati.
Conclusione
Questo post ti ha mostrato come integrare la redazione delle PII nella tua architettura di streaming quasi in tempo reale e ridurre i tempi di elaborazione dei dati eseguendo la redazione in volo. In questo scenario, fornisci i dati redatti ai tuoi utenti finali e un amministratore di data lake protegge il bucket non elaborato per un uso successivo. Puoi anche creare un'elaborazione aggiuntiva con Amazon Comprehend per identificare il tono o il sentiment, identificare le entità all'interno dei dati e classificare ogni messaggio.
Abbiamo fornito singoli passaggi per ciascun servizio come parte di questo post e incluso un modello CloudFormation che ti consente di fornire le risorse richieste nel tuo account. Questo modello deve essere utilizzato solo per prove di concetto o scenari di test. Fare riferimento alle guide per gli sviluppatori per Amazon Comprehend, Lambdae Kinesis Data Firehose per eventuali limiti di servizio.
Per iniziare con l'identificazione e la redazione delle PII, vedere Informazioni di identificazione personale (PII). Con l'architettura di esempio in questo post, puoi integrare qualsiasi API di Amazon Comprehend con dati quasi in tempo reale utilizzando la trasformazione dei dati di Kinesis Data Firehose. Per ulteriori informazioni su cosa puoi creare con i tuoi dati quasi in tempo reale con Kinesis Data Firehose, fai riferimento a Guida per gli sviluppatori di Amazon Kinesis Data Firehose. Questa soluzione è disponibile in tutte le regioni AWS in cui sono disponibili Amazon Comprehend e Kinesis Data Firehose.
Circa gli autori
Joe Morotti è un Solutions Architect presso Amazon Web Services (AWS), che aiuta i clienti Enterprise nel Midwest degli Stati Uniti. Ha ricoperto una vasta gamma di ruoli tecnici e si diverte a mostrare l'arte del possibile da parte dei clienti. Nel tempo libero, gli piace passare del tempo di qualità con la sua famiglia, esplorando nuovi posti e analizzando eccessivamente le prestazioni della sua squadra sportiva
Sriharsh Adari è Senior Solutions Architect presso Amazon Web Services (AWS), dove aiuta i clienti a lavorare a ritroso dai risultati aziendali per sviluppare soluzioni innovative su AWS. Nel corso degli anni, ha aiutato più clienti nelle trasformazioni della piattaforma dati in tutti i settori verticali. Le sue principali aree di competenza includono la strategia tecnologica, l'analisi dei dati e la scienza dei dati. Nel tempo libero, gli piace giocare a tennis, guardare programmi TV e giocare a Tabla.
- AI
- oh arte
- generatore d'arte
- un robot
- Cinesi amazzonica
- analitica
- intelligenza artificiale
- certificazione di intelligenza artificiale
- intelligenza artificiale nel settore bancario
- robot di intelligenza artificiale
- robot di intelligenza artificiale
- software di intelligenza artificiale
- Apprendimento automatico di AWS
- blockchain
- conferenza blockchain ai
- geniale
- intelligenza artificiale conversazionale
- criptoconferenza ai
- dall's
- apprendimento profondo
- google ai
- Intermedio (200)
- Kinesis Data Firehose
- machine learning
- Platone
- platone ai
- Platone Data Intelligence
- Gioco di Platone
- PlatoneDati
- gioco di plato
- scala ai
- sintassi
- zefiro