A entrega de dados e insights quase em tempo real permite que as empresas respondam rapidamente às necessidades de seus clientes. Os dados em tempo real podem vir de várias fontes, incluindo mídias sociais, dispositivos IoT, monitoramento de infraestrutura, monitoramento de call center e muito mais. Devido à amplitude e profundidade dos dados ingeridos de várias fontes, as empresas procuram soluções para proteger a privacidade de seus clientes e impedir que dados confidenciais sejam acessados de sistemas finais. Anteriormente, você precisava confiar em mecanismos de regras de informações de identificação pessoal (PII) que poderiam sinalizar falsos positivos ou dados ausentes, ou precisava criar e manter modelos personalizados de aprendizado de máquina (ML) para identificar PII em seus dados de streaming. Você também precisava implementar e manter a infraestrutura necessária para dar suporte a esses mecanismos ou modelos.
Para ajudar a agilizar esse processo e reduzir custos, você pode usar Amazon Comprehend, um serviço de processamento de linguagem natural (NLP) que usa ML para encontrar insights e relacionamentos como pessoas, lugares, sentimentos e tópicos em texto não estruturado. Agora você pode usar os recursos do Amazon Comprehend ML para detectar e redigir PII em e-mails de clientes, tíquetes de suporte, análises de produtos, mídias sociais e muito mais. Não é necessária experiência em ML. Por exemplo, você pode analisar tíquetes de suporte e artigos de conhecimento para detectar entidades PII e redigir o texto antes de indexar os documentos. Depois disso, os documentos ficam livres de entidades PII e os usuários podem consumir os dados. A redação de entidades PII ajuda você a proteger a privacidade de seu cliente e a cumprir as leis e regulamentos locais.
Nesta postagem, você aprenderá a implementar o Amazon Comprehend em suas arquiteturas de streaming para redigir entidades PII quase em tempo real usando Mangueira de incêndio de dados do Amazon Kinesis de AWS Lambda.
Esta postagem se concentra na redação de dados de campos selecionados que são ingeridos em uma arquitetura de streaming usando o Kinesis Data Firehose, onde você deseja criar, armazenar e manter cópias derivadas adicionais dos dados para consumo por usuários finais ou aplicativos downstream. Se você estiver usando Fluxos de dados do Amazon Kinesis ou tiver casos de uso adicionais fora da redação de PII, consulte Traduza, redija e analise dados de streaming usando funções SQL com Amazon Kinesis Data Analytics, Amazon Translate e Amazon Comprehend, onde mostramos como você pode usar Estúdio de análise de dados do Amazon Kinesis alimentado por Apache Zepelim e Apache Flink para analisar, traduzir e redigir interativamente campos de texto em dados de streaming.
Visão geral da solução
A figura a seguir mostra um exemplo de arquitetura para executar a redação de PII de dados de streaming em tempo real, usando Serviço de armazenamento simples da Amazon (Amazon S3), Transformação de dados do Kinesis Data Firehose, Amazon Comprehend e AWS Lambda. Além disso, utilizamos o SDK da AWS para Python (Boto3) para as funções do Lambda. Conforme indicado no diagrama, o bucket bruto do S3 contém dados não editados e o bucket editado do S3 contém dados editados após usar o Amazon Comprehend DetectPiiEntities
API dentro de uma função Lambda.
Custos envolvidos
Além dos custos do Kinesis Data Firehose, Amazon S3 e Lambda, essa solução incorrerá em custos de uso do Amazon Comprehend. O valor pago é um fator do número total de registros que contêm PII e os caracteres processados pela função do Lambda. Para obter mais informações, consulte Preços do Amazon Kinesis Data Firehose, Preços do Amazon Comprehend e Preços AWS Lambda.
Como exemplo, vamos supor que você tenha 10,000 registros de logs e o valor da chave do qual você deseja redigir PII seja de 500 caracteres. Dos 10,000 registros de log, 50 são identificados como contendo PII. Os detalhes dos custos são os seguintes:
Contém Custo de PII:
- Tamanho de cada valor de chave = 500 caracteres (1 unidade = 100 caracteres)
- Número de unidades (100 caracteres) por registro (mínimo de 3 unidades) = 5
- Total de unidades = 10,000 (registros) x 5 (unidades por registro) x 1 (solicitações do Amazon Comprehend por registro) = 50,000
- Preço por unidade = $ 0.000002
- Custo total para identificar registros de log com PII usando a API ContainsPiiEntities = US$ 0.1 [50,000 unidades x US$ 0.000002]
Custo de redação de PII:
- Total de unidades contendo PII = 50 (registros) x 5 (unidades por registro) x 1 (solicitações do Amazon Comprehend por registro) = 250
- Preço por unidade = $ 0.0001
- Custo total para identificar a localização de PII usando a API DetectPiiEntities = [número de unidades] x [custo por unidade] = 250 x $ 0.0001 = $ 0.025
Custo total para identificação e redação:
- Custo total: US$ 0.1 (validação se o campo contiver PII) + US$ 0.025 (editar campos que contenham PII) = US$ 0.125
Implante a solução com o AWS CloudFormation
Para este post, oferecemos uma Formação da Nuvem AWS redação de dados de streaming modelo, que fornece todos os detalhes da implementação para permitir implantações repetíveis. Após a implantação, esse modelo cria dois buckets do S3: um para armazenar os dados brutos de amostra ingeridos do Amazon Kinesis Data Generator (KDG) e outro para armazenar os dados editados. Além disso, ele cria um fluxo de entrega do Kinesis Data Firehose com DirectPUT
como entrada e uma função Lambda que chama o Amazon Comprehend ContémPiiEntities e Detectar PiiEntities API para identificar e redigir dados PII. A função do Lambda depende da entrada do usuário nas variáveis de ambiente para determinar quais valores de chave precisam ser inspecionados para PII.
A função Lambda nesta solução limitou os tamanhos de carga útil a 100 KB. Se uma carga útil for fornecida em que o texto for maior que 100 KB, a função do Lambda a ignorará.
Para implantar a solução, conclua as seguintes etapas:
- Inicie a pilha do CloudFormation no Leste dos EUA (Norte da Virgínia)
us-east-1
: - Insira um nome de pilha e deixe outros parâmetros em seu padrão
- Selecionar Eu reconheço que o AWS CloudFormation pode criar recursos IAM com nomes personalizados.
- Escolha Criar pilha.
Implantar recursos manualmente
Se você preferir construir a arquitetura manualmente em vez de usar o AWS CloudFormation, conclua as etapas nesta seção.
Crie os depósitos S3
Crie seus buckets do S3 com as seguintes etapas:
- No console do Amazon S3, escolha Baldes no painel de navegação.
- Escolha Criar balde.
- Crie um bucket para seus dados brutos e outro para seus dados editados.
- Anote os nomes dos buckets que você acabou de criar.
Criar a função Lambda
Para criar e implantar a função do Lambda, conclua as etapas a seguir:
- No console do Lambda, escolha Criar função.
- Escolha Autor do zero.
- Escolha Nome da Função, entrar
AmazonComprehendPII-Redact
. - Escolha Runtime, escolha Python 3.9.
- Escolha Arquitetura, selecione x86_64.
- Escolha Função de execução, selecione Criar uma nova função com permissões do Lambda.
- Depois de criar a função, digite o seguinte código:
- Escolha Implantação.
- No painel de navegação, escolha Configuração.
- Navegar para Variáveis ambientais.
- Escolha Editar.
- Escolha Chave, entrar
keys
. - Escolha Valor, insira os valores de chave dos quais deseja redigir PII, separados por vírgula e espaço. Por exemplo, digite
Tweet1
,Tweet2
se você estiver usando os dados de teste de amostra fornecidos na próxima seção desta postagem. - Escolha Salvar.
- Navegar para Configuração geral.
- Escolha Editar.
- Altere o valor de Timeout a 1 minuto.
- Escolha Salvar.
- Navegar para Permissões.
- Escolha o nome da função em Função de execução.
Você é redirecionado para o Gerenciamento de acesso e identidade da AWS (IAM). - Escolha Adicionar permissões, escolha Anexar políticas.
- Entrar
Comprehend
na barra de pesquisa e escolha a políticaComprehendFullAccess
. - Escolha Anexar políticas.
Crie o fluxo de entrega do Firehose
Para criar seu fluxo de entrega do Firehose, conclua as etapas a seguir:
- No console Kinesis Data Firehose, escolha Criar fluxo de entrega.
- Escolha fonte, selecione PUT direto.
- Escolha Destino, selecione Amazon S3.
- Escolha Nome do fluxo de entrega, entrar
ComprehendRealTimeBlog
. - Debaixo Transforme registros de origem com AWS Lambda, selecione ativado.
- Escolha Função AWS Lambda, insira o ARN da função que você criou ou navegue até a função
AmazonComprehendPII-Redact
. - Escolha Tamanho do buffer, defina o valor para 1 MB.
- Escolha Intervalo de buffer, deixe como 60 segundos.
- Debaixo Configurações de destino, selecione o bucket do S3 que você criou para os dados editados.
- Debaixo Configurações de backup, selecione o bucket do S3 que você criou para os registros brutos.
- Debaixo Permissão, crie ou atualize uma função do IAM ou escolha uma função existente com as permissões adequadas.
- Escolha Criar fluxo de entrega.
Implante a solução de dados de streaming com o Kinesis Data Generator
Você pode usar o Kinesis Data Generator (KDG) para ingerir dados de amostra para o Kinesis Data Firehose e testar a solução. Para simplificar esse processo, fornecemos uma função Lambda e um modelo CloudFormation para criar um Amazon Cognito usuário e atribuir as permissões apropriadas para usar o KDG.
- No Página do Amazon Kinesis Data Generator, escolha Criar um usuário do Cognito com o CloudFormation.Você é redirecionado para o console do AWS CloudFormation para criar sua pilha.
- Forneça um nome de usuário e uma senha para o usuário com o qual você faz login no KDG.
- Deixe as outras configurações em seus padrões e crie sua pilha.
- No Saídas guia, escolha o link KDG UI.
- Digite seu nome de usuário e senha para fazer login.
Envie registros de teste e valide a redação no Amazon S3
Para testar a solução, conclua as seguintes etapas:
- Faça login na URL do KDG que você criou na etapa anterior.
- Escolha a região em que a pilha do AWS CloudFormation foi implantada.
- Escolha Transmissão/transmissão de transmissão, escolha o fluxo de entrega que você criou (se você usou o modelo, ele tem o formato
accountnumber-awscomprehend-blog
). - Deixe as outras configurações em seus padrões.
- Para o modelo de registro, você pode criar seus próprios testes ou usar o modelo a seguir.Se estiver usando os dados de amostra fornecidos abaixo para teste, você deve ter atualizado as variáveis de ambiente no
AmazonComprehendPII-Redact
Função lambda paraTweet1
,Tweet2
. Se implantado via CloudFormation, atualize as variáveis de ambiente paraTweet1
,Tweet2
dentro da função Lambda criada. Os dados de teste de amostra estão abaixo: - Escolha Enviar dadose aguarde alguns segundos para que os registros sejam enviados ao seu stream.
- Após alguns segundos, pare o gerador KDG e verifique seus buckets do S3 para os arquivos entregues.
Veja a seguir um exemplo dos dados brutos no bucket bruto do S3:
Veja a seguir um exemplo dos dados editados no bucket do S3 editado:
As informações confidenciais foram removidas das mensagens editadas, proporcionando confiança de que você pode compartilhar esses dados com os sistemas finais.
Limpar
Quando terminar de experimentar esta solução, limpe seus recursos usando o console do AWS CloudFormation para excluir todos os recursos implantados neste exemplo. Se você seguiu as etapas manuais, precisará excluir manualmente os dois buckets, o AmazonComprehendPII-Redact
função, o ComprehendRealTimeBlog
stream, o grupo de logs para o ComprehendRealTimeBlog
stream e quaisquer funções do IAM que foram criadas.
Conclusão
Esta postagem mostrou como integrar a redação de PII em sua arquitetura de streaming quase em tempo real e reduzir o tempo de processamento de dados executando a redação em voo. Nesse cenário, você fornece os dados editados aos usuários finais e um administrador do data lake protege o bucket bruto para uso posterior. Você também pode criar processamento adicional com o Amazon Comprehend para identificar tom ou sentimento, identificar entidades nos dados e classificar cada mensagem.
Fornecemos etapas individuais para cada serviço como parte desta postagem e também incluímos um modelo do CloudFormation que permite provisionar os recursos necessários em sua conta. Este modelo deve ser usado apenas para prova de conceito ou cenários de teste. Consulte os guias do desenvolvedor para Amazon Comprehend, Lambda e Mangueira de dados Kinesis para quaisquer limites de serviço.
Para começar com a identificação e redação de PII, consulte Informações de identificação pessoal (PII). Com a arquitetura de exemplo desta postagem, você pode integrar qualquer uma das APIs do Amazon Comprehend com dados quase em tempo real usando a transformação de dados do Kinesis Data Firehose. Para saber mais sobre o que você pode criar com seus dados quase em tempo real com o Kinesis Data Firehose, consulte o Guia do desenvolvedor do Amazon Kinesis Data Firehose. Essa solução está disponível em todas as regiões da AWS onde o Amazon Comprehend e o Kinesis Data Firehose estão disponíveis.
Sobre os autores
Joe Morotti é Arquiteto de Soluções da Amazon Web Services (AWS), ajudando clientes corporativos no Centro-Oeste dos EUA. Ele ocupou uma ampla gama de funções técnicas e gosta de mostrar a arte do possível para o cliente. Em seu tempo livre, ele gosta de passar um tempo de qualidade com sua família explorando novos lugares e analisando o desempenho de sua equipe esportiva
Sriharsh Adari é Arquiteto de Soluções Sênior na Amazon Web Services (AWS), onde ajuda os clientes a trabalhar de trás para frente a partir dos resultados de negócios para desenvolver soluções inovadoras na AWS. Ao longo dos anos, ele ajudou vários clientes em transformações de plataformas de dados em verticais do setor. Sua principal área de especialização inclui Estratégia de Tecnologia, Análise de Dados e Ciência de Dados. Em seu tempo livre, ele gosta de jogar tênis, assistir a programas de TV e jogar Tabla.
- AI
- arte ai
- gerador de arte ai
- ai robô
- Amazon Kinesis
- analítica
- inteligência artificial
- certificação de inteligência artificial
- inteligência artificial em bancos
- robô de inteligência artificial
- robôs de inteligência artificial
- software de inteligência artificial
- Aprendizado de máquina da AWS
- blockchain
- conferência blockchain ai
- Coingenius
- inteligência artificial conversacional
- conferência de criptografia ai
- dall's
- deep learning
- google ai
- Intermediário (200)
- Mangueira de dados Kinesis
- aprendizado de máquina
- platão
- platão ai
- Inteligência de Dados Platão
- Jogo de Platão
- PlatãoData
- jogo de platô
- escala ai
- sintaxe
- zefirnet