As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Modelo de segurança e permissões para instâncias de tempo de execução
Quando você hospeda agentes no tipo de computação Instâncias, seus agentes são executados em instâncias do Amazon EC2 em sua própria conta AWS . Isso muda o modelo de responsabilidade compartilhada em comparação com o tipo de computação microVM sem servidor: as instâncias são executadas em sua conta e VPC, seus agentes são executados com as permissões da função de execução de tempo de execução e os dados nelas permanecem na sua conta. Este tópico descreve o modelo de segurança das instâncias, as permissões envolvidas e as práticas que você deve seguir para implantações multilocatárias.
Este tópico complementa a Runtime-wide orientação nas melhores práticas de segurança para AgentCore Runtime. As práticas existentes — privilégio mínimo do IAM, autenticação, criptografia, segurança de rede e auditoria — também se aplicam às instâncias. Para saber como os volumes do EBS anexados às suas sessões são criptografados, consulte Criptografia em repouso para instâncias de tempo de execução.
Tópicos
Modelo de segurança
-
A instância está na sua conta — instâncias do EC2 lançadas por um provedor de capacidade executadas em sua conta e VPC como instâncias gerenciadas do Amazon EC2. Você pode inspecioná-los, aplicar seus próprios controles e auditar suas atividades por meio dos CloudTrail VPC Flow Logs em sua conta.
-
Os agentes em uma instância não estão isolados uns dos outros — vários agentes podem ser executados na mesma instância e compartilhar seu sistema de arquivos. Os agentes são executados na instância em contêineres ou, para agentes implantados diretamente, como processos diretamente na instância. Nenhum deles fornece um limite de segurança entre cargas de trabalho na mesma instância. Todos os agentes que compartilham uma instância devem ser mutuamente confiáveis.
-
A sessão é a unidade de isolamento — uma sessão, identificada pela combinação do provedor de capacidade e do ID da sessão, é mapeada para uma instância do EC2 (1:1). O mesmo ID de sessão em dois provedores de capacidade diferentes se refere a duas sessões diferentes em duas instâncias diferentes. Os agentes que você pretende manter isolados uns dos outros não devem compartilhar uma sessão.
-
Venda de credenciais — vende AgentCore as credenciais da função de execução aos agentes em execução na instância e as atualiza periodicamente. Qualquer código em execução na instância pode ler as credenciais disponíveis para ela. Defina o escopo da função de execução de cada tempo de execução com o menor privilégio que seu agente exige. Para obter mais informações, consulte Gerenciamento de credenciais.
-
Os controles de sua conta se aplicam — Como as instâncias são executadas em sua conta, as políticas de controle de serviços (SCPs) da sua AWS organização, os limites de permissão e os controles de VPC regem as ações tomadas em sua conta. AgentCore age por meio da função de infraestrutura que você fornece ou aprova; defina o escopo com as condições do IAM (por exemplo, para VPCs, sub-redes ou tipos de instância específicos). A exceção é a função AgentCore vinculada ao serviço usada para excluir e limpar recursos, que não é restrita pelos SCPs — consistente com a forma como AWS trata as funções vinculadas a serviços em geral.
-
Residência de dados — Os agentes são executados na VPC, nas sub-redes, na conta e na região que você especificar, e os dados da sessão e os volumes do EBS permanecem na sua conta.
Permissões obrigatórias
A hospedagem de agentes em instâncias envolve as seguintes funções, além da função de execução de tempo de execução do agente, que concede ao código do agente suas permissões de tempo de execução.
-
Perfil da instância — anexado à instância do EC2. AgentCore o usa para coletar registros do sistema da instância; ele não concede permissões ao código do seu agente (a função de execução de tempo de execução do agente faz isso).
-
Função de infraestrutura — AgentCore assume essa função de provisionar e gerenciar instâncias do EC2 em sua conta em seu nome — iniciando, marcando e configurando a rede para instâncias e suas interfaces de rede. Como essa função concede AgentCore permissão para gerenciar a computação em sua conta, defina-a com o menor privilégio que suas cargas de trabalho exigem e use as condições do IAM para restringi-la a VPCs, sub-redes ou tipos de instância específicos, quando apropriado.
Para as etapas de configuração da função, consulte Primeiros passos com instâncias.
Roteamento de sessões e isolamento de vários locatários
AgentCore O Runtime autoriza invocações contra o ARN do recurso de tempo de execução do agente, não contra sessões individuais.
Ao invocar um agente, você fornece um e AgentCore valida o formato desse ID de sessãoruntimeSessionId, mas não verifica se ele pertence à identidade de chamada. Isso tem uma consequência importante para implantações de vários locatários:
Importante
Em implantações em que um único principal do IAM invoca em nome de vários usuários finais, a plataforma não impõe que a sessionId pertença ao usuário chamador. Você é responsável por garantir que seu back-end passe da forma correta sessionId por usuário.
Se vários usuários finais compartilharem o mesmo principal do IAM (por exemplo, uma única função de execução de back-end que chama InvokeAgentRuntime todos os usuários) e seu back-end não vincular sessões aos usuários, um usuário autenticado poderá fornecer o ID de sessão de outro usuário e encaminhar uma solicitação para a sessão desse usuário. As práticas a seguir mitigam isso.
Imponha a vinculação de sessão a usuário em seu back-end
Implemente a associação de sessão para usuário em nível de aplicativo em seu back-end. Mantenha o mapeamento entre cada usuário final e seus IDs de sessão em seu aplicativo e garanta que uma solicitação para um usuário nunca possa ser emitida com a de outro usuárioruntimeSessionId. Trate o runtimeSessionId como um valor do lado do servidor derivado do usuário final autenticado — nunca o aceite diretamente de uma entrada não confiável do cliente. Para implantações de principal compartilhado e multilocatário, a vinculação em nível de aplicativo em seu back-end é o controle que impede que um usuário encaminhe uma solicitação para a sessão de outro usuário.
Use diretores de IAM distintos para implantações multilocatárias de alta segurança
Para implantações multilocatárias de alta segurança, use diretores de IAM distintos por usuário final (ou por grupo de locatários) para invocar agentes, em vez de um único principal compartilhado. Quando cada usuário ou inquilino invoca por meio de seu próprio principal, o próprio IAM impõe o escopo da sessão: um principal só pode invocar os tempos de execução permitidos por sua política, o que elimina a classe principal compartilhada de risco de roteamento de sessão. Esse é o controle mais forte e é recomendado sempre que a implantação pode oferecer suporte a diretores por usuário ou por locatário.
Auditoria e monitoramento
Use a auditoria para detectar o reconhecimento do roteamento da sessão e o acesso anômalo:
-
Correlacione o principal e o ID da sessão — AWS CloudTrail registra o principal autenticado e o alvo
sessionIdno mesmoInvokeAgentRuntimeevento. Use isso para detectar um roteamento principal para uma sessão que foi criada por um diretor diferente. -
Aplique as práticas Runtime-wide de auditoria — ative CloudTrail os registros de fluxo do VPC, correlacione os registros usando IDs de solicitação e configure filtros e alarmes métricos conforme descrito em Auditoria e monitoramento.
Práticas recomendadas
-
Cargas de trabalho separadas por nível de confiança — Use sessões diferentes para cargas de trabalho que não são mutuamente confiáveis. Não coloque agentes não confiáveis na mesma sessão.
-
Aplique o mínimo de privilégios a cada função — defina a função de execução de tempo de execução do agente e a função de infraestrutura apenas para as ações e os recursos de que cada um precisa.
-
Vincule sessões a usuários em seu back-end — Para qualquer implantação em que um principal atenda a vários usuários finais, imponha a vinculação de sessão a usuário em sua camada de aplicativo.
-
Prefira diretores por usuário ou por locatário — Sempre que possível, invoque por meio de diretores de IAM distintos para que o IAM imponha o escopo da sessão.
-
Monitore o roteamento entre principais — Use CloudTrail para detectar anomalias de roteamento, como um roteamento principal para uma sessão criada por um diretor diferente.
Para obter orientações Runtime-wide de segurança que também se aplicam às instâncias, consulte Práticas recomendadas de segurança para AgentCore tempo de execução.