Bijna realtime levering van gegevens en inzichten stelt bedrijven in staat snel te reageren op de behoeften van hun klanten. Realtime gegevens kunnen afkomstig zijn van verschillende bronnen, waaronder sociale media, IoT-apparaten, infrastructuurbewaking, callcenterbewaking en meer. Vanwege de breedte en diepte van gegevens die uit meerdere bronnen worden opgenomen, zoeken bedrijven naar oplossingen om de privacy van hun klanten te beschermen en te voorkomen dat gevoelige gegevens toegankelijk zijn vanaf eindsystemen. Voorheen moest u vertrouwen op regels-engines voor persoonlijk identificeerbare informatie (PII) die valse positieven konden markeren of gegevens missen, of u moest aangepaste machine learning-modellen (ML) bouwen en onderhouden om PII in uw streaminggegevens te identificeren. U moest ook de infrastructuur implementeren en onderhouden die nodig is om deze motoren of modellen te ondersteunen.
Om dit proces te stroomlijnen en de kosten te verlagen, kunt u gebruik maken van: Amazon begrijpt het, een natuurlijke taalverwerkingsservice (NLP) die ML gebruikt om inzichten en relaties zoals mensen, plaatsen, gevoelens en onderwerpen in ongestructureerde tekst te vinden. Je kunt nu Amazon Comprehend ML-mogelijkheden gebruiken om PII te detecteren en te redigeren in e-mails van klanten, supporttickets, productrecensies, sociale media en meer. Er is geen ML-ervaring vereist. U kunt bijvoorbeeld ondersteuningstickets en kennisartikelen analyseren om PII-entiteiten te detecteren en de tekst te redigeren voordat u de documenten indexeert. Daarna zijn documenten vrij van PII-entiteiten en kunnen gebruikers de gegevens gebruiken. Door PII-entiteiten te redigeren, kunt u de privacy van uw klant beschermen en voldoen aan de lokale wet- en regelgeving.
In dit bericht leert u hoe u Amazon Comprehend in uw streaming-architecturen kunt implementeren om PII-entiteiten in bijna realtime te redigeren met behulp van Amazon Kinesis-gegevens Firehose Met AWS Lambda.
Dit bericht is gericht op het redigeren van gegevens uit geselecteerde velden die worden opgenomen in een streamingarchitectuur met behulp van Kinesis Data Firehose, waar u aanvullende afgeleide kopieën van de gegevens wilt maken, opslaan en onderhouden voor gebruik door eindgebruikers of downstream-toepassingen. Als je gebruikt Amazon Kinesis-gegevensstromen of aanvullende use-cases hebben buiten PII-redactie, zie: Vertalen, redigeren en analyseren van streaminggegevens met behulp van SQL-functies met Amazon Kinesis Data Analytics, Amazon Translate en Amazon Comprehend, waar we laten zien hoe u kunt gebruiken Amazon Kinesis Data Analytics Studio Mogelijk gemaakt door Apache Zeppelin en Apache Flink om tekstvelden in streaminggegevens interactief te analyseren, vertalen en redigeren.
Overzicht oplossingen
De volgende afbeelding toont een voorbeeldarchitectuur voor het uitvoeren van PII-redactie van streaminggegevens in realtime, met behulp van: Amazon eenvoudige opslagservice (Amazone S3), Kinesis Data Firehose-gegevenstransformatie, Amazon begrijpt het en AWS Lambda. Daarnaast gebruiken we de AWS SDK voor Python (Boto3) voor de Lambda-functies. Zoals aangegeven in het diagram, bevat de onbewerkte S3-bucket niet-geredigeerde gegevens en bevat de geredigeerde S3-bucket geredigeerde gegevens na gebruik van de Amazon Comprehend DetectPiiEntities
API binnen een Lambda-functie.
Betrokken kosten
Naast de kosten van Kinesis Data Firehose, Amazon S3 en Lambda, brengt deze oplossing gebruikskosten met zich mee van Amazon Comprehend. Het bedrag dat u betaalt, is een factor van het totale aantal records dat PII bevat en de tekens die door de Lambda-functie worden verwerkt. Voor meer informatie, zie: Amazon Kinesis Data Firehose-prijzen, Amazon begrijpt prijzen en AWS Lambda-prijzen.
Laten we als voorbeeld aannemen dat u 10,000 logboekrecords hebt en dat de sleutelwaarde waarvan u PII wilt redigeren 500 tekens is. Van de 10,000 logboekrecords zijn er 50 geïdentificeerd met PII. De kostendetails zijn als volgt:
Bevat PII-kosten:
- Grootte van elke sleutelwaarde = 500 tekens (1 eenheid = 100 tekens)
- Aantal eenheden (100 tekens) per record (minimaal 3 eenheden) = 5
- Totaal aantal eenheden = 10,000 (records) x 5 (eenheden per record) x 1 (Amazon Comprehend-verzoeken per record) = 50,000
- Prijs per stuk = $ 0.000002
- Totale kosten voor het identificeren van logboekrecords met PII met behulp van de BevatPiiEntities-API = $ 0.1 [50,000 eenheden x $ 0.000002]
PII-kosten bewerken:
- Totaal aantal eenheden met PII = 50 (records) x 5 (eenheden per record) x 1 (Amazon Comprehend-verzoeken per record) = 250
- Prijs per stuk = $ 0.0001
- Totale kosten voor het identificeren van de locatie van PII met behulp van de DetectPiiEntities API = [aantal eenheden] x [kosten per eenheid] = 250 x $ 0.0001 = $ 0.025
Totale kosten voor identificatie en redactie:
- Totale kosten: $ 0.1 (validatie als veld PII bevat) + $ 0.025 (bewerk velden die PII bevatten) = $ 0.125
Implementeer de oplossing met AWS CloudFormation
Voor dit bericht geven we een AWS CloudFormatie bewerking van streaminggegevens sjabloon, dat de volledige details van de implementatie biedt om herhaalbare implementaties mogelijk te maken. Na implementatie maakt deze sjabloon twee S3-buckets: één om de onbewerkte voorbeeldgegevens op te slaan die zijn opgenomen uit de Amazon Kinesis Data Generator (KDG), en één om de geredigeerde gegevens op te slaan. Bovendien creëert het een Kinesis Data Firehose-leveringsstroom met: DirectPUT
als invoer, en een Lambda-functie die de Amazon Comprehend . aanroept Bevat PiiEntities en DetectPiiEntiteiten API om PII-gegevens te identificeren en te redigeren. De Lambda-functie is afhankelijk van gebruikersinvoer in de omgevingsvariabelen om te bepalen welke sleutelwaarden moeten worden geïnspecteerd voor PII.
De Lambda-functie in deze oplossing heeft een beperkte laadcapaciteit tot 100 KB. Als er een payload wordt opgegeven waarvan de tekst groter is dan 100 KB, zal de Lambda-functie deze overslaan.
Voer de volgende stappen uit om de oplossing te implementeren:
- Start de CloudFormation-stack in US East (N. Virginia)
us-east-1
: - Voer een stapelnaam in en laat andere parameters op hun standaard
- kies Ik erken dat AWS CloudFormation IAM-bronnen met aangepaste namen kan maken.
- Kies Maak een stapel.
Resources handmatig implementeren
Als u de architectuur liever handmatig bouwt in plaats van AWS CloudFormation te gebruiken, voert u de stappen in deze sectie uit.
Maak de S3-buckets
Maak uw S3-buckets met de volgende stappen:
- Kies op de Amazon S3-console Emmers in het navigatievenster.
- Kies Maak een bucket.
- Maak één bucket voor uw onbewerkte gegevens en één voor uw geredigeerde gegevens.
- Noteer de namen van de buckets die u zojuist hebt gemaakt.
De Lambda-functie maken
Voer de volgende stappen uit om de Lambda-functie te maken en te implementeren:
- Kies op de Lambda-console Maak functie.
- Kies Auteur vanaf nul.
- Voor Functie Naam, ga naar binnen
AmazonComprehendPII-Redact
. - Voor Runtime, kiezen Python 3.9.
- Voor Architectuurselecteer x86_64.
- Voor Uitvoeringsrolselecteer Een nieuwe rol maken met Lambda-machtigingen.
- Nadat u de functie hebt gemaakt, voert u de volgende code in:
- Kies Implementeren.
- Kies in het navigatievenster Configuratie.
- Navigeer naar Omgevingsvariabelen.
- Kies Edit.
- Voor sleutel, ga naar binnen
keys
. - Voor Waarde, voer de sleutelwaarden in waarvan u PII wilt redigeren, gescheiden door een komma en spatie. Voer bijvoorbeeld in
Tweet1
,Tweet2
als u de voorbeeldtestgegevens gebruikt die in het volgende gedeelte van dit bericht worden verstrekt. - Kies Bespaar.
- Navigeer naar Algemene configuratie.
- Kies Edit.
- Wijzig de waarde van Timeout tot 1 minuut.
- Kies Bespaar.
- Navigeer naar machtigingen.
- Kies de rolnaam onder Uitvoeringsrol.
U wordt doorgestuurd naar de AWS Identiteits- en toegangsbeheer (IAM)-console. - Voor Machtigingen toevoegen, kiezen Voeg beleid toe.
- Enter
Comprehend
in de zoekbalk en kies het beleidComprehendFullAccess
. - Kies Voeg beleid toe.
Creëer de Firehose-bezorgstroom
Voer de volgende stappen uit om uw Firehose-leveringsstroom te maken:
- Kies op de Kinesis Data Firehose-console Maak een leveringsstroom.
- Voor bronselecteer Directe PUT.
- Voor Bestemmingselecteer Amazon S3.
- Voor Naam van bezorgstroom, ga naar binnen
ComprehendRealTimeBlog
. - Onder Transformeer bronrecords met AWS Lambdaselecteer ingeschakeld.
- Voor AWS Lambda-functie, voer de ARN in voor de functie die u hebt gemaakt, of blader naar de functie
AmazonComprehendPII-Redact
. - Voor Buffer grootte, stel de waarde in op 1 MB.
- Voor Bufferinterval, laat het op 60 seconden staan.
- Onder Bestemmingsinstellingen, selecteert u de S3-bucket die u hebt gemaakt voor de geredigeerde gegevens.
- Onder Back-upinstellingen, selecteert u de S3-bucket die u voor de onbewerkte records hebt gemaakt.
- Onder Toestemming, maak of update een IAM-rol of kies een bestaande rol met de juiste machtigingen.
- Kies Maak een leveringsstroom.
Implementeer de streaming data-oplossing met de Kinesis Data Generator
U kunt de Kinesis Data Generator (KDG) gebruiken om voorbeeldgegevens op te nemen in Kinesis Data Firehose en de oplossing te testen. Om dit proces te vereenvoudigen, bieden we een Lambda-functie en CloudFormation-sjabloon om een Amazon Cognito gebruiker en wijs de juiste machtigingen toe om de KDG te gebruiken.
- Op de Amazon Kinesis Data Generator-pagina, kiezen Maak een Cognito-gebruiker met CloudFormation.U wordt doorgestuurd naar de AWS CloudFormation-console om uw stapel te maken.
- Geef een gebruikersnaam en wachtwoord op voor de gebruiker waarmee u inlogt op de KDG.
- Laat de andere instellingen op hun standaardwaarden staan en maak je stapel aan.
- Op de Uitgangen tabblad, kies de KDG UI-link.
- Voer uw gebruikersnaam en wachtwoord in om in te loggen.
Stuur testrecords en valideer redactie in Amazon S3
Voer de volgende stappen uit om de oplossing te testen:
- Log in op de KDG-URL die u in de vorige stap hebt gemaakt.
- Kies de regio waar de AWS CloudFormation-stack is geïmplementeerd.
- Voor Stream/bezorgstream, kies de bezorgstroom die je hebt gemaakt (als je de sjabloon hebt gebruikt, heeft deze de indeling
accountnumber-awscomprehend-blog
). - Laat de andere instellingen op hun standaardwaarden staan.
- Voor de recordsjabloon kunt u uw eigen tests maken of de volgende sjabloon gebruiken. Als u de onderstaande voorbeeldgegevens gebruikt voor het testen, moet u bijgewerkte omgevingsvariabelen hebben in de
AmazonComprehendPII-Redact
Lambda-functie omTweet1
,Tweet2
. Indien geïmplementeerd via CloudFormation, update omgevingsvariabelen naarTweet1
,Tweet2
binnen de gecreëerde Lambda-functie. De voorbeeldtestgegevens staan hieronder: - Kies Verstuur dataen wacht een paar seconden totdat de records naar uw stream worden verzonden.
- Stop na enkele seconden de KDG-generator en controleer uw S3-buckets op de geleverde bestanden.
Het volgende is een voorbeeld van de onbewerkte gegevens in de onbewerkte S3-bucket:
Het volgende is een voorbeeld van de geredigeerde gegevens in de geredigeerde S3-bucket:
De gevoelige informatie is verwijderd uit de geredigeerde berichten, zodat u erop kunt vertrouwen dat u deze gegevens kunt delen met eindsystemen.
Opruimen
Wanneer u klaar bent met experimenteren met deze oplossing, ruimt u uw resources op door de AWS CloudFormation-console te gebruiken om alle resources te verwijderen die in dit voorbeeld zijn geïmplementeerd. Als u de handmatige stappen hebt gevolgd, moet u de twee buckets handmatig verwijderen, de AmazonComprehendPII-Redact
functie, de ComprehendRealTimeBlog
stream, de loggroep voor de ComprehendRealTimeBlog
stream en alle IAM-rollen die zijn gemaakt.
Conclusie
Dit bericht liet u zien hoe u PII-redactie kunt integreren in uw bijna realtime streaming-architectuur en de verwerkingstijd van gegevens kunt verkorten door redactie tijdens de vlucht uit te voeren. In dit scenario levert u de geredigeerde gegevens aan uw eindgebruikers en een data lake-beheerder beveiligt de onbewerkte bucket voor later gebruik. Je zou ook extra verwerking kunnen bouwen met Amazon Comprehend om toon of sentiment te identificeren, entiteiten in de gegevens te identificeren en elk bericht te classificeren.
We hebben voor elke service afzonderlijke stappen gegeven als onderdeel van dit bericht en hebben ook een CloudFormation-sjabloon opgenomen waarmee u de vereiste bronnen in uw account kunt voorzien. Deze sjabloon mag alleen worden gebruikt voor proof of concept of testscenario's. Raadpleeg de handleidingen voor ontwikkelaars voor: Amazon begrijpt het, Lambda en Kinesis Data-brandslang voor eventuele servicelimieten.
Om aan de slag te gaan met PII-identificatie en redactie, zie Persoonlijk identificeerbare informatie (PII). Met de voorbeeldarchitectuur in dit bericht zou je elk van de Amazon Comprehend-API's kunnen integreren met bijna realtime gegevens met behulp van Kinesis Data Firehose-gegevenstransformatie. Voor meer informatie over wat u kunt bouwen met uw bijna realtime gegevens met Kinesis Data Firehose, raadpleegt u de: Amazon Kinesis Data Firehose-ontwikkelaarsgids. Deze oplossing is beschikbaar in alle AWS-regio's waar Amazon Comprehend en Kinesis Data Firehose beschikbaar zijn.
Over de auteurs
Joe Morotti is Solutions Architect bij Amazon Web Services (AWS) en helpt Enterprise-klanten in het middenwesten van de VS. Hij heeft een breed scala aan technische rollen vervuld en geniet ervan om de kunst van de klant van het mogelijke te laten zien. In zijn vrije tijd brengt hij graag quality time door met zijn gezin om nieuwe plaatsen te verkennen en de prestaties van zijn sportteam te overanalyseren
Sriharsh Adari is Senior Solutions Architect bij Amazon Web Services (AWS), waar hij klanten helpt terug te werken vanuit bedrijfsresultaten om innovatieve oplossingen op AWS te ontwikkelen. In de loop der jaren heeft hij meerdere klanten geholpen bij transformaties van dataplatforms in verschillende branches. Zijn kernexpertise omvat technologiestrategie, data-analyse en datawetenschap. In zijn vrije tijd speelt hij graag tennis, bingewatcht hij tv-shows en speelt hij graag Tabla.
- AI
- ai kunst
- ai kunst generator
- je hebt een robot
- Amazon Kinesis
- analytics
- kunstmatige intelligentie
- certificering van kunstmatige intelligentie
- kunstmatige intelligentie in het bankwezen
- kunstmatige intelligentie robot
- kunstmatige intelligentie robots
- kunstmatige intelligentiesoftware
- AWS-machine learning
- blockchain
- blockchain conferentie ai
- vindingrijk
- conversatie kunstmatige intelligentie
- crypto conferentie ai
- van dall
- diepgaand leren
- google ai
- Intermediair (200)
- Kinesis Data-brandslang
- machine learning
- Plato
- plato ai
- Plato gegevensintelligentie
- Plato-spel
- PlatoData
- platogamen
- schaal ai
- syntaxis
- zephyrnet