AI Security Maturity Model·AWS v1.0.0

Arraste para explorar · faça pinça para ampliar

Aprimorada Proteção de dadosCamada de defesa em profundidade: Identidade e dados Capacidade 6 · Aplicações de IACaso de uso: IA que responde 👤 ClienteModelo de Responsabilidade Compartilhada da AWS: quem implementa e opera este controle. Cliente = é seu; AWS = a AWS opera e você o herda; Compartilhada = ambos têm obrigações.

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.

Fundacional
Aprimorada
Avançada
Esforço: Baixo Impacto: Médio Scopes de IA generativaDa AWS Generative AI Security Scoping Matrix.: 3 · Modelos pré-treinados

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.

  1. Guarde as credenciais e API keys da aplicação no AWS Secrets Manager criptografadas com uma chave KMS gerenciada pelo cliente.
    Conta de aplicação Secrets Manager AWS KMS
  2. Habilite a rotação automática onde houver suporte.
    Conta de aplicação Secrets Manager
  3. Use políticas de IAM granulares para controlar quais usuários e aplicações podem recuperar segredos específicos.
    Conta de aplicação IAM

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.

OU de IA generativa (multi-conta) →

O Secrets Manager (criptografado com CMK, rotacionado) guarda as credenciais da app na conta, com IAM granular controlando a recuperação.

  1. Guarde as credenciais e API keys no Secrets Manager criptografadas com a chave gerenciada pelo cliente.
    Camada de aplicação (papel IAM) Secrets Manager AWS KMS
  2. Habilite a rotação automática onde houver suporte.
    Camada de aplicação (papel IAM) Secrets Manager
  3. Restrinja a recuperação com políticas de IAM granulares.
    Camada de aplicação (papel IAM) IAM

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.

Conta única (ponto de entrada) →

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

AWS Secrets Manager AWS KMS

Preços

Teste gratuito · 30 dias

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