c3.2 Use um papel de serviço de privilégio mínimo para a base de conhecimento
Dê à base de conhecimento do Bedrock um papel de serviço dedicado restrito apenas aos modelos, fontes S3, vector store e chaves de que precisa.
Guia de implementação
Como implementar na AWS
Crie um papel de serviço de KB personalizado com uma relação de confiança para o Amazon Bedrock, concedendo acesso apenas aos modelos, fontes de dados S3, banco de dados vetorial e chaves KMS necessários. Defina políticas de acesso a dados e de acesso de rede na coleção do OpenSearch Serverless.
Por que o knowledge base precisa de uma função restrita
Um knowledge base do Bedrock assume uma função de serviço do IAM para fazer seu trabalho: chamar o modelo de embeddings, ler documentos de origem do S3 e ler/gravar o vector store (por exemplo, OpenSearch Serverless). Essa função toca seus dados de origem e seu índice de recuperação, então deve ser dedicada a este único knowledge base e restrita exatamente ao modelo, aos buckets e à coleção que usa, não uma função ampla compartilhada entre vários knowledge bases.
Confie apenas no Bedrock, protegido contra o confused deputy
A política de confiança permite que o principal de serviço do Bedrock assuma a função, restrita à sua conta e (idealmente) ao ARN do knowledge base específico:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "bedrock.amazonaws.com" },
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": { "aws:SourceAccount": "111122223333" },
"ArnLike": {
"aws:SourceArn": "arn:aws:bedrock:us-east-1:111122223333:knowledge-base/*"
}
}
}
]
}
Conceda apenas as três coisas que o KB toca
Modelo de embeddings, fontes do S3 e o vector store, cada um restrito a recursos específicos:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "InvokeEmbeddingsModel",
"Effect": "Allow",
"Action": "bedrock:InvokeModel",
"Resource": "arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0"
},
{
"Sid": "ReadSourceDocuments",
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:ListBucket"],
"Resource": [
"arn:aws:s3:::my-kb-sources",
"arn:aws:s3:::my-kb-sources/*"
]
},
{
"Sid": "AccessVectorStore",
"Effect": "Allow",
"Action": "aoss:APIAccessAll",
"Resource": "arn:aws:aoss:us-east-1:111122223333:collection/<collection-id>"
}
]
}
Faça coincidir as políticas do próprio vector store
Para o OpenSearch Serverless, o IAM é apenas metade: a coleção também tem uma política de acesso a dados que deve conceder a esta mesma função leitura/gravação sobre o índice. Restrinja a instrução de embeddings ao único ARN do modelo de embeddings, e a de S3 apenas ao(s) bucket(s) de origem que este knowledge base ingere, para que a função não possa ler dados não relacionados.
Nota de nomenclatura: substitua o id da conta, a região, o bucket, o id da coleção e o ARN do modelo de embeddings. Use uma função por knowledge base em vez de uma função compartilhada.
Critérios de aceitação
A KB usa um papel dedicado de privilégio mínimo; as políticas de acesso a dados e de rede restringem a coleção; sem permissões amplas com curinga.
Implementação prática
Como este controle é implementado em cada arquitetura de referência:
Um papel de serviço de KB dedicado na conta de IA generativa é restrito apenas aos seus modelos, fontes S3, vector store e chaves, com políticas de acesso a dados e de rede do OpenSearch que restringem a coleção.
- Crie um papel de serviço de KB personalizado com relação de confiança para o Amazon Bedrock, concedendo acesso apenas aos modelos, fontes de dados S3, banco de dados vetorial, chaves KMS necessários e quaisquer credenciais de fonte de dados guardadas no AWS Secrets Manager.
- Defina políticas de acesso a dados e de acesso de rede na coleção do OpenSearch Serverless para que apenas o papel da KB possa consultá-la/escrevê-la.
- Adicione um permissions boundary para que o papel da KB não possa escalar além das suas fontes e chaves.
Como validar: A KB usa um papel dedicado; as políticas de dados/rede do OpenSearch restringem a coleção; o IAM Access Analyzer não mostra permissões com curinga.
Evite: Dar ao papel da KB acesso amplo ao S3 ou Bedrock 'por segurança'. Restrinja-o às fontes, coleção e chaves exatas que usa.
Um papel de KB dedicado na conta é restrito às suas fontes, coleção e chaves, com políticas de acesso do OpenSearch que restringem a coleção.
- Crie um papel de serviço de base de conhecimento personalizado restrito apenas aos modelos, fontes S3, vector store, chaves KMS necessários e às credenciais de fonte de dados no AWS Secrets Manager.
- Aplique políticas de acesso a dados e de acesso de rede na coleção do OpenSearch Serverless restringindo-a ao papel da KB.
- Anexe um permissions boundary para limitar o alcance do papel.
Como validar: O papel da KB é dedicado e de privilégio mínimo; o acesso à coleção é restrito; sem permissões com curinga.
Evite: Reutilizar o papel de execução da aplicação para a base de conhecimento. Dê à KB seu próprio papel restrito, separado dos papéis de app e administração.
Ameaças atendidas
- Um papel de KB com permissões excessivas alcançando dados além das suas fontes.
- Alterações não autorizadas na configuração da base de conhecimento.
Serviços AWS
Preços
A função e as políticas são gratuitas. Você paga pela geração de embeddings (por token), pelo vector store (OCUs do OpenSearch Serverless ou o armazenamento que escolher), pelo armazenamento do S3 para as fontes e pela recuperação/geração no momento da consulta; restringir a função não adiciona custo. Consulte Create a service role for Amazon Bedrock Knowledge Bases.
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 3, Gestão de identidade e acesso
AI Security Maturity Model