Levering af data og indsigt næsten i realtid gør det muligt for virksomheder at reagere hurtigt på deres kunders behov. Realtidsdata kan komme fra en række forskellige kilder, herunder sociale medier, IoT-enheder, infrastrukturovervågning, callcenterovervågning og mere. På grund af bredden og dybden af data, der indtages fra flere kilder, leder virksomheder efter løsninger til at beskytte deres kunders privatliv og forhindre, at følsomme data bliver tilgået fra slutsystemer. Du var tidligere nødt til at stole på reglermotorer for personligt identificerbare oplysninger (PII), der kunne markere falske positiver eller gå glip af data, eller du var nødt til at bygge og vedligeholde tilpassede maskinlæringsmodeller (ML) for at identificere PII i dine streamingdata. Du skulle også implementere og vedligeholde den nødvendige infrastruktur til at understøtte disse motorer eller modeller.
For at hjælpe med at strømline denne proces og reducere omkostningerne, kan du bruge Amazon Comprehend, en NLP-tjeneste (natural language processing), der bruger ML til at finde indsigt og relationer som mennesker, steder, følelser og emner i ustruktureret tekst. Du kan nu bruge Amazon Comprehend ML-funktioner til at opdage og redigere PII i kunde-e-mails, supportbilletter, produktanmeldelser, sociale medier og mere. Ingen ML erfaring er påkrævet. For eksempel kan du analysere supportbilletter og vidensartikler for at opdage PII-enheder og redigere teksten, før du indekserer dokumenterne. Derefter er dokumenter fri for PII-enheder, og brugere kan forbruge dataene. Redigering af PII-enheder hjælper dig med at beskytte din kundes privatliv og overholde lokale love og regler.
I dette indlæg lærer du, hvordan du implementerer Amazon Comprehend i dine streamingarkitekturer for at redigere PII-enheder i næsten realtid ved hjælp af Amazon Kinesis Data Firehose med AWS Lambda.
Dette indlæg er fokuseret på at redigere data fra udvalgte felter, der indsættes i en streamingarkitektur ved hjælp af Kinesis Data Firehose, hvor du vil oprette, gemme og vedligeholde yderligere afledte kopier af dataene til forbrug af slutbrugere eller downstream-applikationer. Hvis du bruger Amazon Kinesis datastrømme eller har yderligere use cases uden for PII-redaktion, se Oversæt, redaktér og analyser streamingdata ved hjælp af SQL-funktioner med Amazon Kinesis Data Analytics, Amazon Translate og Amazon Comprehend, hvor vi viser, hvordan du kan bruge Amazon Kinesis Data Analytics Studio drives af Apache Zeppelin , Apache Flash til interaktivt at analysere, oversætte og redigere tekstfelter i streamingdata.
Løsningsoversigt
Følgende figur viser et eksempel på arkitektur til at udføre PII-redaktion af streamingdata i realtid ved hjælp af Amazon Simple Storage Service (Amazon S3), Kinesis Data Firehose datatransformation, Amazon Comprehendog AWS Lambda. Derudover bruger vi AWS SDK til Python (Boto3) til Lambda-funktionerne. Som angivet i diagrammet indeholder S3-råbøtten ikke-redigerede data, og den S3-redakterede bøtte indeholder redigerede data efter brug af Amazon Comprehend DetectPiiEntities
API i en Lambda-funktion.
Omkostninger involveret
Ud over omkostningerne til Kinesis Data Firehose, Amazon S3 og Lambda, vil denne løsning medføre brugsomkostninger fra Amazon Comprehend. Det beløb, du betaler, er en faktor af det samlede antal poster, der indeholder PII, og de tegn, der behandles af Lambda-funktionen. For mere information, se Amazon Kinesis Data Firehose-priser, Amazon forstå priserog AWS Lambda-priser.
Lad os som et eksempel antage, at du har 10,000 logposter, og den nøgleværdi, du vil redigere PII fra, er 500 tegn. Ud af de 10,000 logposter er 50 identificeret som indeholdende PII. Prisoplysningerne er som følger:
Indeholder PII-omkostninger:
- Størrelse af hver nøgleværdi = 500 tegn (1 enhed = 100 tegn)
- Antal enheder (100 tegn) pr. post (minimum er 3 enheder) = 5
- Samlede enheder = 10,000 (poster) x 5 (enheder pr. post) x 1 (Amazon Comprehend-anmodninger pr. post) = 50,000
- Pris pr. enhed = $0.000002
- Samlede omkostninger for at identificere logposter med PII ved hjælp af ContainsPiiEntities API = $0.1 [50,000 enheder x $0.000002]
Redakt PII-omkostninger:
- Samlede enheder indeholdende PII = 50 (poster) x 5 (enheder pr. post) x 1 (Amazon Comprehend-anmodninger pr. post) = 250
- Pris pr. enhed = $0.0001
- Samlede omkostninger for at identificere placeringen af PII ved hjælp af DetectPiiEntities API = [antal enheder] x [pris pr. enhed] = 250 x $0.0001 = $0.025
Samlede omkostninger til identifikation og redaktion:
- Samlede omkostninger: $0.1 (validering, hvis feltet indeholder PII) + $0.025 (rediger felter, der indeholder PII) = $0.125
Implementer løsningen med AWS CloudFormation
Til dette indlæg giver vi en AWS CloudFormation redaktion af streaming af data skabelon, som giver de fulde detaljer om implementeringen for at muliggøre gentagelige implementeringer. Ved implementering opretter denne skabelon to S3-buckets: en til at gemme de rå prøvedata indtaget fra Amazon Kinesis Data Generator (KDG), og en til at gemme de redigerede data. Derudover opretter det en Kinesis Data Firehose leveringsstrøm med DirectPUT
som input, og en Lambda-funktion, der kalder Amazon Comprehend IndeholderPiiEntities , DetectPiiEntities API til at identificere og redigere PII-data. Lambdafunktionen er afhængig af brugerinput i miljøvariablerne for at bestemme, hvilke nøgleværdier der skal inspiceres for PII.
Lambdafunktionen i denne løsning har begrænset nyttelaststørrelser til 100 KB. Hvis der leveres en nyttelast, hvor teksten er større end 100 KB, springer Lambda-funktionen over den.
Udfør følgende trin for at implementere løsningen:
- Start CloudFormation-stakken i US East (N. Virginia)
us-east-1
: - Indtast et staknavn, og lad andre parametre stå som standard
- Type Jeg anerkender, at AWS CloudFormation kan skabe IAM-ressourcer med brugerdefinerede navne.
- Vælg Opret stak.
Implementer ressourcer manuelt
Hvis du foretrækker at bygge arkitekturen manuelt i stedet for at bruge AWS CloudFormation, skal du fuldføre trinene i dette afsnit.
Opret S3-bøtterne
Opret dine S3-spande med følgende trin:
- På Amazon S3-konsollen skal du vælge spande i navigationsruden.
- Vælg Opret spand.
- Opret én bøtte til dine rådata og én til dine redigerede data.
- Bemærk navnene på de spande, du lige har oprettet.
Opret Lambda-funktionen
For at oprette og implementere Lambda-funktionen skal du udføre følgende trin:
- Vælg på Lambda-konsollen Opret funktion.
- Vælg Forfatter fra bunden.
- Til Funktionsnavn, gå ind
AmazonComprehendPII-Redact
. - Til Runtime, vælg Python 3.9.
- Til arkitektur, Vælg x86_64.
- Til Udførelsesrolle, Vælg Opret en ny rolle med Lambda-tilladelser.
- Når du har oprettet funktionen, skal du indtaste følgende kode:
- Vælg Implementer.
- Vælg i navigationsruden Konfiguration.
- Naviger til Miljøvariabler.
- Vælg Redigere.
- Til Nøgle, gå ind
keys
. - Til Værdi, indtast de nøgleværdier, du vil redigere PII fra, adskilt af et komma og mellemrum. Indtast f.eks
Tweet1
,Tweet2
hvis du bruger prøvedataene i det næste afsnit af dette indlæg. - Vælg Gem.
- Naviger til Generel konfiguration.
- Vælg Redigere.
- Skift værdien af Timeout til 1 minut.
- Vælg Gem.
- Naviger til Tilladelser.
- Vælg rollenavnet under Udførelsesrolle.
Du bliver omdirigeret til AWS identitets- og adgangsstyring (IAM) konsol. - Til Tilføj tilladelser, vælg Vedhæft politikker.
- Indtast
Comprehend
i søgefeltet og vælg politikkenComprehendFullAccess
. - Vælg Vedhæft politikker.
Opret Firehose-leveringsstrømmen
Udfør følgende trin for at oprette din Firehose-leveringsstream:
- På Kinesis Data Firehose-konsollen skal du vælge Opret leveringsstrøm.
- Til Kilde, Vælg Direkte PUT.
- Til Bestemmelsessted, Vælg Amazon S3.
- Til Navn på leveringsstrøm, gå ind
ComprehendRealTimeBlog
. - Under Transform kildeposter med AWS Lambda, Vælg Aktiveret.
- Til AWS Lambda funktion, indtast ARN for den funktion, du oprettede, eller browse til funktionen
AmazonComprehendPII-Redact
. - Til Buffer Size, indstil værdien til 1 MB.
- Til Bufferinterval, lad det være 60 sekunder.
- Under Destinationsindstillinger, skal du vælge den S3-bøtte, du oprettede til de redigerede data.
- Under Sikkerhedskopieringsindstillinger, skal du vælge den S3-bøtte, du har oprettet til råregistreringerne.
- Under Tilladelse, enten oprette eller opdatere en IAM-rolle, eller vælg en eksisterende rolle med de korrekte tilladelser.
- Vælg Opret leveringsstrøm.
Implementer streamingdataløsningen med Kinesis Data Generator
Du kan bruge Kinesis Data Generator (KDG) til at indlæse prøvedata til Kinesis Data Firehose og teste løsningen. For at forenkle denne proces tilbyder vi en Lambda-funktion og CloudFormation-skabelon til at oprette en Amazon Cognito bruger og tildel passende tilladelser til at bruge KDG.
- På Amazon Kinesis Data Generator-side, vælg Opret en Cognito-bruger med CloudFormation.Du bliver omdirigeret til AWS CloudFormation-konsollen for at oprette din stak.
- Angiv et brugernavn og en adgangskode til den bruger, som du logger ind på KDG med.
- Lad de andre indstillinger være standard, og opret din stak.
- På Udgange fanen, skal du vælge KDG UI-linket.
- Indtast dit brugernavn og din adgangskode for at logge ind.
Send testposter og valider redaktion i Amazon S3
For at teste løsningen skal du udføre følgende trin:
- Log ind på den KDG URL, du oprettede i det forrige trin.
- Vælg den region, hvor AWS CloudFormation-stakken blev installeret.
- Til Stream/leveringsstream, vælg den leveringsstrøm, du har oprettet (hvis du brugte skabelonen, har den formatet
accountnumber-awscomprehend-blog
). - Lad de andre indstillinger stå på deres standardindstillinger.
- Til registreringsskabelonen kan du oprette dine egne tests eller bruge følgende skabelon. Hvis du bruger de angivne eksempeldata nedenfor til test, bør du have opdaterede miljøvariabler i
AmazonComprehendPII-Redact
Lambda funktion tilTweet1
,Tweet2
. Hvis det implementeres via CloudFormation, skal du opdatere miljøvariabler tilTweet1
,Tweet2
inden for den oprettede Lambda-funktion. Eksempler på testdata er nedenfor: - Vælg Send data, og giv et par sekunder til at sende poster til din stream.
- Efter et par sekunder skal du stoppe KDG-generatoren og tjekke dine S3-bøtter for de leverede filer.
Følgende er et eksempel på de rå data i den rå S3-bøtte:
Følgende er et eksempel på de redigerede data i den redigerede S3-bøtte:
De følsomme oplysninger er blevet fjernet fra de redigerede meddelelser, hvilket giver tillid til, at du kan dele disse data med slutsystemer.
Ryd op
Når du er færdig med at eksperimentere med denne løsning, skal du rydde op i dine ressourcer ved at bruge AWS CloudFormation-konsollen til at slette alle de ressourcer, der er implementeret i dette eksempel. Hvis du fulgte de manuelle trin, skal du manuelt slette de to spande, den AmazonComprehendPII-Redact
funktion, den ComprehendRealTimeBlog
stream, loggruppen for ComprehendRealTimeBlog
stream og eventuelle IAM-roller, der blev oprettet.
Konklusion
Dette indlæg viste dig, hvordan du integrerer PII-redaktion i din streamingarkitektur i næsten realtid og reducerer databehandlingstiden ved at udføre redaktion under flyvning. I dette scenarie leverer du de redigerede data til dine slutbrugere, og en datasø-administrator sikrer den rå bucket til senere brug. Du kan også bygge yderligere behandling med Amazon Comprehend for at identificere tone eller stemning, identificere enheder i dataene og klassificere hver besked.
Vi leverede individuelle trin for hver tjeneste som en del af dette indlæg og inkluderede også en CloudFormation-skabelon, der giver dig mulighed for at levere de nødvendige ressourcer på din konto. Denne skabelon bør kun bruges til proof of concept eller testscenarier. Se udviklervejledningerne for Amazon Comprehend, Lambdaog Kinesis Data Brandslange for eventuelle servicegrænser.
For at komme i gang med PII-identifikation og redaktion, se Personligt identificerbare oplysninger (PII). Med eksempelarkitekturen i dette indlæg kan du integrere enhver af Amazon Comprehend API'erne med næsten-realtidsdata ved hjælp af Kinesis Data Firehose-datatransformation. For at lære mere om, hvad du kan bygge med dine næsten-realtidsdata med Kinesis Data Firehose, se Amazon Kinesis Data Firehose Developer Guide. Denne løsning er tilgængelig i alle AWS-regioner, hvor Amazon Comprehend og Kinesis Data Firehose er tilgængelige.
Om forfatterne
Joe Morotti er Solutions Architect hos Amazon Web Services (AWS), der hjælper Enterprise-kunder i hele Midtvesten i USA. Han har haft en bred vifte af tekniske roller og nyder at vise kundens kunst af det mulige. I sin fritid nyder han at bruge kvalitetstid sammen med sin familie på at udforske nye steder og overanalysere sit sportsholds præstationer
Sriharsh Adari er Senior Solutions Architect hos Amazon Web Services (AWS), hvor han hjælper kunder med at arbejde baglæns fra forretningsresultater for at udvikle innovative løsninger på AWS. I årenes løb har han hjulpet adskillige kunder med transformationer af dataplatforme på tværs af brancher. Hans kerneområde omfatter teknologistrategi, dataanalyse og datavidenskab. I sin fritid kan han lide at spille tennis, se tv-serier og spille Tabla.
- AI
- ai kunst
- ai kunst generator
- en robot
- Amazon Kinesis
- analytics
- kunstig intelligens
- certificering af kunstig intelligens
- kunstig intelligens i banksektoren
- kunstig intelligens robot
- kunstig intelligens robotter
- software til kunstig intelligens
- AWS maskinindlæring
- blockchain
- blockchain konference ai
- coingenius
- samtale kunstig intelligens
- kryptokonference ai
- dalls
- dyb læring
- du har google
- Mellem (200)
- Kinesis Data Brandslange
- machine learning
- plato
- platon ai
- Platon Data Intelligence
- Platon spil
- PlatoData
- platogaming
- skala ai
- syntaks
- zephyrnet