c1.1 Restrinja o acesso ao modelo com IAM de privilégio mínimo
Conceda a quem invoca apenas as ações do Amazon Bedrock e os ARNs de modelo necessários, para que uma identidade comprometida não possa invocar modelos arbitrários nem alcançar dados que não lhe cabem.
Guia de implementação
Como implementar na AWS
Escreva políticas de IAM que permitam apenas as ações necessárias do Bedrock (por exemplo, bedrock:InvokeModel) sobre ARNs de modelo específicos, restritas com condition keys quando possível. Separe quem invoca modelos de quem os administra e prefira credenciais temporárias a chaves de longa duração.
Por que o privilégio mínimo importa para o acesso ao modelo
O Amazon Bedrock expõe modelos de fundação poderosos por trás de um pequeno conjunto de ações do IAM. Se uma função de aplicação receber bedrock: sobre Resource: , uma única credencial vazada pode invocar qualquer modelo da conta, reconfigurar guardrails ou iniciar dispendiosos trabalhos de personalização. Restringir o acesso às ações e aos ARNs de modelo exatos de que uma carga de trabalho precisa transforma um comprometimento amplo em um contido.
Separe invocar um modelo de administrá-lo
Trate-os como duas funções distintas com duas funções (roles) distintas:
- Invocar — a aplicação em execução só precisa de
bedrock:InvokeModel(ebedrock:InvokeModelWithResponseStreampara streaming) sobre os ARNs de modelo específicos que está aprovada a usar. - Administrar — criar ou atualizar guardrails, modelos personalizados e o acesso a modelos cabe a uma função de plataforma/operador que a aplicação em execução nunca assume.
Mantê-los separados significa que uma identidade de aplicação comprometida pode chamar seus modelos aprovados, mas não pode alterar como os modelos são governados.
Restrinja a ARNs de modelo explícitos
Os modelos de fundação são endereçáveis por ARN no formato arn:aws:bedrock:<region>::foundation-model/<model-id>. Liste os ARNs de modelo exatos no bloco Resource da política em vez de *, para que a função não alcance modelos que nunca foram aprovados. O exemplo abaixo concede acesso apenas de invocação a dois modelos específicos e nada mais:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeApprovedModelsOnly",
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel",
"bedrock:InvokeModelWithResponseStream"
],
"Resource": [
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20240620-v1:0",
"arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0"
]
}
]
}
Vincule a invocação ao caminho de rede aprovado
Adicione chaves de condição à política de invocação para que a credencial só seja utilizável de onde a carga de trabalho realmente é executada; por exemplo, exija que as chamadas cheguem pelo seu endpoint de VPC do Bedrock com aws:SourceVpce. Assim, uma credencial exfiltrada é inútil a partir da internet pública:
{
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-3-5-sonnet-20240620-v1:0",
"Condition": {
"StringEquals": { "aws:SourceVpce": "vpce-0abc123456789def0" }
}
}
Prefira credenciais temporárias
Faça a aplicação assumir uma função (função de tarefa, perfil de instância ou função entre contas) em vez de embutir chaves de acesso de longa duração. As credenciais temporárias rotacionam automaticamente e são muito mais fáceis de revogar se uma carga de trabalho for comprometida.
Nota de nomenclatura: substitua os IDs de modelo de exemplo e o ID do endpoint de VPC pelos valores da sua região e conta. Os IDs de modelo diferem por região e mudam à medida que novas versões são lançadas.
Critérios de aceitação
As políticas de IAM listam ARNs e ações explícitas; não há bedrock:* sobre *; as revisões de acesso mostram quem invoca limitado aos seus modelos aprovados.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
A conta de aplicação assume um papel restrito na conta de IA generativa; esse papel só pode invocar os ARNs de modelo aprovados, nada mais.
- Na conta de IA generativa, crie um papel IAM só-invocação que permita bedrock:InvokeModel e bedrock:InvokeModelWithResponseStream sobre os ARNs específicos dos modelos de fundação aprovados, e nada sobre bedrock:*.
- Deixe o papel da conta de aplicação assumir esse papel só-invocação por uma política de confiança restrita ao papel de execução do app, para que o app nunca tenha permissões de administração de modelos.
- Adicione condition keys (por exemplo, aws:SourceVpce, aws:PrincipalTag) para atar a invocação ao endpoint de VPC e à carga aprovados, e mantenha a administração de modelos em um papel separado nas mãos apenas da equipe de plataforma.
Como validar: O IAM Access Analyzer não mostra nenhum papel com bedrock:* sobre *; o papel do app só pode invocar os ARNs listados; uma tentativa de chamar um modelo não listado ou uma ação de administração é negada.
Evite: Conceder bedrock:* sobre Resource:* ao papel da aplicação por comodidade. Uma única credencial vazada alcança então todos os modelos e ações de administração; restrinja a ARNs explícitos e separe invocação de administração.
Dois papéis IAM distintos na única conta —um de aplicação e um de invocação de modelo— mantêm separadas as funções de invocar e administrar sem limites de conta.
- Crie um papel dedicado de invocação de modelo que permita apenas bedrock:InvokeModel sobre os ARNs aprovados, e faça o papel de aplicação assumi-lo (ou anexe-o como papel de tarefa/execução) em vez de embutir permissões amplas de Bedrock no app.
- Mantenha a administração de modelos (criar/atualizar guardrails, modelos personalizados) em um papel separado nas mãos apenas de operadores, nunca concedido ao papel de aplicação em execução.
- Use credenciais temporárias (assunção de papel / papéis de instância ou tarefa) em vez de chaves de acesso de longa duração para cada chamada ao Bedrock.
Como validar: A política efetiva do papel em execução lista ARNs de modelo explícitos e nenhum curinga bedrock:*; não existem chaves de longa duração para a identidade do app; as ações de administração são negadas ao papel em execução.
Evite: Usar um único papel compartilhado para o app e a administração de modelos. Separe o papel de invocação do de administração mesmo dentro de uma única conta para que uma identidade de app comprometida não possa reconfigurar modelos.
Ameaças atendidas
- Identidades com permissões excessivas invocando modelos ou ações fora do seu propósito.
- Exfiltração de dados por técnicas de prompt quando o acesso não é restrito.
Serviços AWS
Preços
As políticas e funções do IAM não têm custo. Você paga apenas pelas invocações de modelo do Bedrock, cobradas por token de entrada/saída (sob demanda) ou por throughput provisionado; restringir o acesso não adiciona custo.
Mapeamentos de frameworks
OWASP GenAI/LLM Top 10 (2026)
- LLM02 Sensitive Information Disclosure
- LLM03 Excessive Agency
NIST AI Risk Management Framework (AI 100-1)
- GOVERN.1 Policies, processes, procedures and accountability structures
- MANAGE.1 AI risks are prioritized, responded to and managed
AWS Well-Architected Generative AI Lens (Security)
- GENSEC01-BP01 Grant least privilege access to foundation model endpoints
Recursos de aprendizado
Referências
- AWS SRA para IA — Capacidade 1, Defesa em profundidade
AI Security Maturity Model