c2.3 Proteja a integridade dos dados de treinamento com S3 Object Lock e versionamento
Mantenha os datasets de treinamento à prova de adulteração e recuperáveis para que dados envenenados ou alterados possam ser detectados e revertidos.
Guia de implementação
Como implementar na AWS
Armazene os dados de treinamento e validação no S3 com versionamento e, onde apropriado, Object Lock, para que as modificações sejam rastreadas e existam registros de auditoria imutáveis. Restrinja o acesso de escrita com políticas baseadas em recursos e registre todo acesso.
Torne os dados de treinamento à prova de adulteração e recuperáveis
Se um atacante (ou um erro) alterar seu conjunto de treinamento, um modelo ajustado sobre ele herda o dano — o envenenamento de dados é difícil de detectar depois do fato. Dois recursos do S3 tornam o conjunto de dados defensável:
- O versionamento mantém cada versão de um objeto, de modo que uma sobrescrita ou exclusão nunca destrói o original — você pode reverter para uma versão boa conhecida.
- O Object Lock impõe escrever-uma-vez-ler-muitas (WORM): uma versão de objeto bloqueada não pode ser sobrescrita nem excluída até que seu período de retenção expire.
O Object Lock só funciona em um bucket versionado, e o versionamento é habilitado automaticamente ao habilitar o Object Lock.
Habilite o versionamento e depois uma retenção padrão
Ative o versionamento e defina uma retenção padrão do Object Lock para que novos objetos de treinamento fiquem protegidos automaticamente:
# Primeiro o versionamento (o Object Lock o requer)
aws s3api put-bucket-versioning \
--bucket my-bedrock-training-data \
--versioning-configuration Status=Enabled
# Retenção WORM padrão: 30 dias no modo GOVERNANCE
aws s3api put-object-lock-configuration \
--bucket my-bedrock-training-data \
--object-lock-configuration '{
"ObjectLockEnabled": "Enabled",
"Rule": { "DefaultRetention": { "Mode": "GOVERNANCE", "Days": 30 } }
}'
Escolha o modo de retenção correto
- GOVERNANCE — os objetos ficam protegidos, mas usuários com a permissão
s3:BypassGovernanceRetentionainda podem remover o bloqueio. Bom padrão para evidência de adulteração sem se trancar para fora. - COMPLIANCE — ninguém, nem mesmo a conta root, pode encurtar a retenção ou excluir a versão até que ela expire. Use apenas quando tiver certeza do período de retenção, pois não pode ser desfeito.
DefaultRetention aceita Days ou Years — não ambos.
Combine com verificações de integridade
O WORM protege contra adulteração após o upload; registre também uma soma de verificação (por exemplo, um checksum do S3 ou um hash de manifesto) ao ingerir um conjunto de dados, para poder comprovar os bytes exatos com os quais uma dada versão do modelo foi treinada. Combine com o controle de CMK de personalização para que os dados protegidos também estejam criptografados sob sua chave.
Nota de nomenclatura: substitua o nome do bucket e ajuste a janela de retenção à sua política de governança de dados. Teste com GOVERNANCE antes de considerar COMPLIANCE.
Critérios de aceitação
Os buckets de treinamento têm versionamento (e Object Lock onde exigido); o acesso é restrito e registrado; versões anteriores do dataset são recuperáveis.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
Os dados de treinamento vivem em buckets S3 versionados com Object Lock na conta de IA generativa, com escritas restritas e cada acesso registrado no Log archive.
- Habilite o versionamento e, para datasets que devam ser imutáveis, o Object Lock nos buckets S3 de treinamento/validação da conta de IA generativa.
- Restrinja o acesso de escrita com uma política de bucket baseada em recursos apenas ao papel de curadoria de dados, e negue as exclusões ao papel do job de personalização.
- Envie os logs de eventos de dados de acesso ao S3 ao Log archive central para que toda modificação seja registrada e atribuível.
Como validar: Os buckets de treinamento têm versionamento (e Object Lock onde exigido); apenas o papel de curadoria pode escrever; uma versão anterior do dataset é recuperável; o acesso é registrado de forma central.
Evite: Sobrescrever datasets no lugar sem versionamento. Você então não pode detectar envenenamento nem provar quais dados treinaram um modelo; versione-o e bloqueie-o.
O versionamento e o Object Lock nos buckets de treinamento da conta mantêm os datasets à prova de adulteração e recuperáveis, com escritas limitadas ao papel de curadoria.
- Ative o versionamento e o Object Lock (onde exigido) nos buckets de treinamento/validação.
- Limite as escritas a um papel de curadoria de dados via política de bucket; negue as exclusões ao papel do job.
- Registre todo acesso no bucket de logs com Object Lock da conta para que as modificações sejam atribuíveis.
Como validar: Os buckets têm versionamento (e Object Lock onde exigido); as escritas são restritas; uma versão anterior é recuperável; o acesso é registrado.
Evite: Deixar o papel do job de treinamento apagar ou sobrescrever os dados de origem. Separe a curadoria do consumo e conserve versões imutáveis.
Ameaças atendidas
- Modificação silenciosa ou envenenamento dos dados de treinamento.
- Sem registro imutável de quais dados treinaram um modelo.
Serviços AWS
Preços
O versionamento e o Object Lock não adicionam cobrança por recurso, mas você paga o armazenamento do S3 por cada versão retida — um conjunto de dados envenenado-e-depois-corrigido mantém as duas cópias. Use regras de ciclo de vida para expirar as versões não atuais após sua janela de retenção e controlar o custo. Consulte Locking objects with S3 Object Lock.
Mapeamentos de frameworks
OWASP GenAI/LLM Top 10 (2026)
- LLM05 Data and Model Poisoning
NIST AI Risk Management Framework (AI 100-1)
- MANAGE.4 Risk treatments, monitoring and response are documented and applied
AWS Well-Architected Generative AI Lens (Security)
- GENSEC06-BP01 Implement data purification filters for model training workflows
Recursos de aprendizado
- Uso do S3 Object Lock (doc)
Referências
- AWS SRA para IA — Capacidade 2, Amazon S3
AI Security Maturity Model