c6.6 Guarde as credenciais da aplicação no Secrets Manager
Mantenha as credenciais e as API keys da aplicação em um cofre de segredos gerenciado com criptografia e rotação, para que nunca sejam embutidas no código ou na configuração.
Guia de implementação
Como implementar na AWS
Guarde as credenciais e API keys da aplicação no AWS Secrets Manager criptografadas com uma chave KMS gerenciada pelo cliente, habilite a rotação automática onde houver suporte e use políticas de IAM granulares para controlar quais usuários e aplicações podem recuperar segredos específicos.
Nunca embuta os segredos da app
As aplicações de IA acumulam credenciais: chaves de API de modelos de terceiros, senhas de bancos de dados, segredos de cliente OAuth, chaves de assinatura de webhooks. No momento em que qualquer uma delas é colada no código, em uma variável de ambiente de um script de build ou em uma camada de imagem de contêiner, ela se torna algo que você não pode rotacionar de forma limpa, auditar com precisão nem revogar sem um redeploy — e pode vazar pela saída do seu próprio modelo ou pelos logs. O AWS Secrets Manager as armazena criptografadas com o KMS, as rotaciona em um cronograma, audita cada leitura no CloudTrail e entrega o valor à sua carga de trabalho em runtime por meio de uma chamada de API autenticada por IAM.
Armazene o segredo, criptografado com sua chave
Crie o segredo criptografado com uma chave gerenciada pelo cliente para controlar tanto o acesso à chave quanto ao segredo:
aws secretsmanager create-secret \
--name "prod/ai-app/model-provider-api-key" \
--description "Third-party model API key for the AI app" \
--secret-string '{"apiKey":"REPLACE_ME"}' \
--kms-key-id "arn:aws:kms:us-east-1:111122223333:key/<key-id>"
Recupere-o em runtime, nunca em tempo de build
A aplicação obtém o segredo quando é executada, usando sua função do IAM — o valor nunca fica embutido na imagem nem na configuração:
aws secretsmanager get-secret-value \
--secret-id "prod/ai-app/model-provider-api-key" \
--query SecretString --output text
Restrinja a permissão secretsmanager:GetSecretValue da função da app a este ARN de segredo específico, e adicione uma política de recurso no segredo para que apenas essa função possa lê-lo.
Ative a rotação
Um segredo que nunca muda é um risco permanente. Habilite a rotação automática para que um valor vazado tenha vida limitada:
aws secretsmanager rotate-secret \
--secret-id "prod/ai-app/model-provider-api-key" \
--rotation-rules '{"AutomaticallyAfterDays": 30}' \
--rotation-lambda-arn "arn:aws:lambda:us-east-1:111122223333:function:RotateModelApiKey"
Para credenciais nativas da AWS (como RDS), o Secrets Manager oferece rotação gerenciada; para chaves de API de terceiros, você fornece uma pequena Lambda de rotação que chama a API de rotação de chaves do provedor.
Nota de nomenclatura: use um nome de segredo claro em estilo de caminho (env/app/proposito), uma chave do KMS gerenciada pelo cliente, e restrinja tanto a política do IAM quanto a política de recurso do segredo à única função da app. Substitua os ARNs da chave e da Lambda.Critérios de aceitação
As credenciais da app ficam no Secrets Manager (criptografadas com CMK) com rotação; a recuperação é restrita por IAM granular; não há segredos no código/configuração.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
As credenciais e API keys da aplicação ficam no Secrets Manager (criptografadas com CMK, rotacionadas) na conta de aplicação, recuperáveis apenas pelos papéis que precisam delas — nunca no código ou na configuração.
- Guarde as credenciais e API keys da aplicação no AWS Secrets Manager criptografadas com uma chave KMS gerenciada pelo cliente.
- Habilite a rotação automática onde houver suporte.
- Use políticas de IAM granulares para controlar quais usuários e aplicações podem recuperar segredos específicos.
Como validar: As credenciais da app ficam no Secrets Manager (criptografadas com CMK) com rotação; a recuperação é restrita por IAM granular; não aparecem segredos no código/configuração.
Evite: API keys em variáveis de ambiente ou em um arquivo de configuração no repo. Guarde-as no Secrets Manager e recupere em tempo de execução.
O Secrets Manager (criptografado com CMK, rotacionado) guarda as credenciais da app na conta, com IAM granular controlando a recuperação.
- Guarde as credenciais e API keys no Secrets Manager criptografadas com a chave gerenciada pelo cliente.
- Habilite a rotação automática onde houver suporte.
- Restrinja a recuperação com políticas de IAM granulares.
Como validar: As credenciais ficam no Secrets Manager (criptografadas com CMK) com rotação; a recuperação é restrita por IAM; não há segredos no código/configuração.
Evite: Hardcodar segredos 'só por enquanto'. Coloque-os no Secrets Manager desde o início e rotacione-os.
Ameaças atendidas
- Credenciais ou API keys expostas no código ou em variáveis de ambiente.
- Credenciais obsoletas de longa duração que não podem ser rotacionadas.
Serviços AWS
Preços
O AWS Secrets Manager cobra por segredo por mês mais por 10.000 chamadas de API, com um teste gratuito de 30 dias. Armazene o segredo em cache na aplicação (com um TTL curto) em vez de chamar GetSecretValue a cada requisição para manter o custo e a latência baixos. Consulte Manage API keys for security-sensitive workloads.
Mapeamentos de frameworks
OWASP GenAI/LLM Top 10 (2026)
- LLM02 Sensitive Information Disclosure
NIST AI Risk Management Framework (AI 100-1)
- MANAGE.1 AI risks are prioritized, responded to and managed
AWS Well-Architected Generative AI Lens (Security)
- GENSEC01-BP03 Implement least privilege access to data stores
Recursos de aprendizado
Referências
- AWS SRA para IA — Capacidade 6, Proteção de dados
AI Security Maturity Model