O Desafio da Proteção de Dados Pessoais em Larga Escala
Organizações recebem constantemente volumes significativos de informações sensíveis dos clientes através de diferentes canais de comunicação. Proteger dados pessoalmente identificáveis (DPI) — como números de seguro social, habilitação e telefone — tornou-se essencial para cumprir regulamentações de privacidade e manter a confiança dos usuários.
O problema é que revisar e remover manualmente esses dados é demorado, propenso a erros e não se adapta bem quando os volumes crescem. Além disso, informações sensíveis aparecem em formatos variados: textos de emails, documentos em anexos, imagens digitalizadas. Soluções tradicionais exigem ferramentas separadas para cada tipo de conteúdo, criando inconsistências na redação e deixando brechas na segurança. Essa fragmentação aumenta a complexidade operacional e o risco de exposição acidental de dados.
Uma Solução Integrada para Redação Automatizada
A AWS apresentou uma abordagem que centraliza a detecção e remoção de dados pessoais em texto e imagens através de Amazon Bedrock Data Automation e Amazon Bedrock Guardrails. A solução foi demonstrada em um cenário prático: o processamento automatizado de emails e anexos em altos volumes.
Capacidades Principais da Solução
O sistema oferece três capacidades fundamentais:
- Detecção e redação automatizadas: Processa simultaneamente o conteúdo de emails e arquivos anexados, garantindo que dados sensíveis sejam protegidos de forma consistente independentemente do formato.
- Fluxos de trabalho mais seguros: As comunicações processadas são criptografadas, armazenadas com controles de acesso apropriados e acompanhadas por um registro de auditoria completo.
- Interface para usuários autorizados: Uma aplicação baseada na web permite que o pessoal autorizado gerencie e revise as comunicações de forma mais segura, com recursos como categorização automática de emails e gerenciamento customizável de pastas.
Essa unificação ajuda as organizações a atender requisitos de conformidade com privacidade enquanto simplifica seus fluxos de trabalho de comunicação.
Como a Solução Funciona
Arquitetura Geral
A solução articula-se em torno de dois componentes principais: um fluxo de processamento de backend e uma interface de usuário frontend. AWS Lambda e Amazon EventBridge orquestram todo o processo.
Fluxo de Processamento Passo a Passo
O workflow segue esta sequência:
- Um email é enviado para um servidor de email hospedado em Amazon Simple Email Service (SES). Como alternativa, os usuários podem fazer upload direto de emails e anexos para um bucket de armazenamento inicial no Amazon S3.
- Uma notificação de evento do S3 dispara a função Lambda inicial de processamento, que gera um ID único de caso e cria um registro de rastreamento no Amazon DynamoDB.
- Lambda extrai o corpo do email e os anexos, armazenando-os em um bucket de email bruto e invocando então o Bedrock Data Automation para extrair texto dos documentos e o Bedrock Guardrails para detectar e remover dados pessoais. O conteúdo reduzido é armazenado em outro bucket do S3.
- Tabelas DynamoDB são atualizadas com metadados de mensagens, emails e regras de filtragem.
- Um agendador do EventBridge executa uma função Lambda de “Motor de Regras” em intervalos periódicos, categorizando emails não processados em pastas conforme critérios de regras ativas.
- Usuários acessam a interface web opcional através do Amazon API Gateway, que gerencia requisições e fornece a interface via hospedagem estática no S3.
- Opcionalmente, Amazon CloudWatch e AWS CloudTrail fornecem visibilidade, enquanto o Amazon Simple Notification Service entrega alertas em tempo real sobre falhas.
Implementação e Configuração
Pré-requisitos
Antes de começar, certifique-se de possuir:
- Conta AWS
- Git
- Python 3.7 ou superior
- Node v18 ou superior
- NPM v9.8 ou superior
- AWS CDK v2.166 ou superior
- Terminal/CLI (macOS Terminal, PowerShell, Windows Terminal, ou linha de comando Linux). AWS CloudShell também pode ser usado quando todo o código está dentro da conta.
Requisitos de Infraestrutura
Verifique que existe uma nuvem privada virtual (VPC) com três subnets privadas sem acesso à internet. Todos os stacks do AWS CloudFormation devem ser implantados na mesma conta AWS.
Stacks do CloudFormation
A solução contém três stacks (dois obrigatórios, um opcional):
- S3Stack: Provisiona buckets do S3 para armazenamento bruto e reduzido com políticas de ciclo de vida automático, uma tabela DynamoDB para rastreamento de metadados com TTL e índices secundários globais, grupos de segurança VPC, e funções de Gerenciamento de Identidade e Acesso (IAM) com permissões abrangentes.
- ConsumerStack: Provisiona projetos Bedrock Data Automation para extração de texto, Bedrock Guardrails para anonimizar dados pessoais, funções Lambda para processamento, tópicos Amazon Simple Notification Service (SNS) para notificações, e regras de recebimento Amazon SES.
- PortalStack (opcional): Oferece interface web com API Gateway regional, tabelas DynamoDB, e buckets S3 para ativos estáticos.
Configuração do Amazon SES (Opcional)
Se usando Amazon SES, é necessário:
- Solicitar acesso em produção ao SES e configurar recebimento de emails verificando domínio e identidades de email.
- Adicionar registros MX no provedor DNS.
- Criar credenciais SMTP e salvá-las no AWS Secrets Manager com nome
SmtpCredentials.
Processo de Implantação
Execute os seguintes comandos:
git clone https://github.com/aws-samples/sample-bda-redaction.git
cd sample-bda-redaction/infra/
python3 -m venv .venv
. .venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
cp context.json.example context.json
Atualize o arquivo context.json com as opções corretas, incluindo ID da VPC, nomes de buckets e prefixo de recursos. Então, execute:
cdk bootstrap
JSII_DEPRECATED=quiet JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION=quiet cdk synth --no-notices
JSII_DEPRECATED=quiet JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION=quiet cdk deploy <>-S3Stack <>-ConsumerStack --no-notices
A implantação inicial leva aproximadamente 10 minutos.
Testes e Validação
Teste com Amazon SES
Após a implantação, ative o conjunto de regras de recebimento do SES e envie um email para o endereço verificado. O progresso pode ser monitorado na tabela DynamoDB. Cada email recebe um ID de caso único. Após conclusão, o email reduzido estará em s3://<.
Teste sem Amazon SES
Alternativamente, faça upload direto de um arquivo de email para o bucket bruto usando a CLI do AWS. Um email de exemplo está disponível no repositório.
Interface Web (Opcional)
O portal é uma interface React que permite visualizar emails processados e seus anexos reduzidos. Requer TypeScript, Node v18, e NPM v9.8 ou superior.
Para implantar o portal, navegue até a raiz do diretório de infraestrutura e execute:
JSII_DEPRECATED=quiet JSII_SILENCE_WARNING_UNTESTED_NODE_VERSION=quiet cdk deploy <>-PortalStack --no-notices
Crie um arquivo .env com as variáveis de ambiente necessárias (URL do API Gateway, caminhos base e de API), execute npm install e npm run build, e sincronize os arquivos gerados para o bucket S3 designado.
Limpeza de Recursos
Para evitar cobranças futuras, delete o conteúdo dos buckets S3, desative as regras do SES, remova os stacks CloudFormation na ordem inversa e limpe grupos de logs do CloudWatch. Se usar versionamento do S3, remova também versões antigas usando comandos CLI específicos.
Considerações Técnicas Importantes
Ao usar esta solução, observe que o Bedrock Data Automation possui restrições de processamento: suporta PDF, JPEG e PNG com tamanho máximo de 200 MB via console (500 MB via API) e documentos individuais não podem exceder 20 páginas sem divisão de documento habilitada.
Para produção, implemente controles de acesso apropriados ao portal via API Gateway.
Benefícios da Solução
A automatização centralizada oferece eficiência operacional reduzindo revisão manual, escalabilidade para lidar com volumes crescentes, conformidade regulatória aprimorada e segurança consistente. A modularidade da solução permite futura integração com serviços AWS adicionais, refinamento de regras de detecção e suporte a formatos e idiomas diferentes.
Próximos Passos
A CloudTroop recomenda explorar o repositório GitHub fornecido para compreender a implementação completa e adaptá-la às necessidades organizacionais. O código está disponível para que equipes construam uma solução robusta de proteção de dados alinhada com requisitos comerciais e regulatórios em evolução.
Fonte
Detect and redact personally identifiable information using Amazon Bedrock Data Automation and Guardrails (https://aws.amazon.com/blogs/machine-learning/detect-and-redact-personally-identifiable-information-using-amazon-bedrock-data-automation-and-guardrails/)
Leave a Reply