Começando com a Política em AgentCore
Neste tutorial, você aprenderá como configurar a política AgentCore e integrá-la a um Amazon Bedrock AgentCore Gateway usando a AgentCore CLI. Você criará uma ferramenta de processamento de reembolso com as políticas da Cedar que aplicam regras comerciais para valores de reembolso.
Tópicos
Pré-requisitos
Antes de começar, verifique se você tem o seguinte:
-
AWS Conta com credenciais configuradas. Para configurar as credenciais, você pode instalar e usar a interface de linha de AWS comando seguindo as etapas em Introdução à AWS CLI.
-
Node.js 18+ instalados
-
Permissões do IAM para criar funções, funções Lambda, mecanismos de políticas e usar o Amazon Bedrock AgentCore
-
Uma função Lambda que processa solicitações de reembolso. Você pode usar uma função existente ou criar uma para este tutorial. Observe a função ARN para uso na Etapa 2.
Etapa 1: configurar e instalar
Instale a AgentCore CLI:
npm install -g @aws/agentcore
Crie um novo AgentCore projeto:
exemplo
Etapa 2: Adicionar um gateway com um mecanismo de políticas
Use a AgentCore CLI para adicionar um gateway, um destino de função Lambda e um mecanismo de políticas ao seu projeto.
Adicionar um gateway
Crie um gateway sem autorização de entrada (para simplificar este tutorial) e conecte seu agente a ele:
exemplo
Adicione um alvo de função Lambda com uma ferramenta de reembolso
Registre sua função Lambda como um destino de gateway com um esquema de ferramentas que define uma ferramenta de processamento de reembolso:
exemplo
Adicionar um mecanismo de política
Crie um mecanismo de política e conecte-o ao gateway no modo ENFORCE:
exemplo
Crie uma política de cedro
Forneça um arquivo de política do Cedar diretamente:
agentcore add policy --name RefundLimit \ --engine RefundPolicyEngine \ --source refund_policy.cedar
nota
As políticas do Cedar que fazem referência a ARNs de gateway específicos no resource campo (conforme mostrado no exemplo abaixo) exigem uma implantação em duas fases: primeiro implante sem a política para criar o gateway, depois recupere o ARN do gateway do status agentcore, atualize o arquivo Cedar e adicione a política antes da reimplantação. O Cedar não permite recursos curingas nas declarações de política.
Como alternativa, depois de implantar seus recursos na Etapa 3, você pode gerar uma política do Cedar a partir de uma descrição em linguagem natural:
agentcore add policy --name RefundLimit \ --engine RefundPolicyEngine \ --generate "Only allow refunds under 1000 dollars" \ --gateway PolicyGateway
O --generate sinalizador exige que o gateway seja implantado primeiro, porque chama uma AWS API que precisa do ARN do gateway para converter a linguagem natural em Cedar. Essa abordagem resolve automaticamente os ARNs do gateway, tornando-a o caminho mais simples para criar políticas.
Entendendo a configuração
Os comandos da CLI acima configuram vários recursos em seu AgentCore projeto. Aqui está uma explicação detalhada de cada componente.
Tópicos
Crie um gateway
O comando agentcore add gateway cria um gateway que atua como o endpoint do servidor MCP. A configuração --authorizer-type NONE desativa a autorização de entrada para simplificar este tutorial. Na produção, use a autorização do IAM ou do JWT para proteger seu gateway.
Adicionar alvo Lambda
O comando agentcore add gateway-target registra uma função Lambda como alvo no gateway. O arquivo do esquema da ferramenta define as entradas que os agentes podem passar para a função, como o valor do reembolso.
Crie um mecanismo de política
O comando agentcore add policy-engine cria um mecanismo de políticas — uma coleção de políticas do Cedar que avalia e autoriza chamadas de ferramentas do agente. O mecanismo de políticas intercepta todas as solicitações no limite do gateway e determina se deve permitir ou negar cada ação com base nas políticas definidas. Isso fornece autorização determinística fora do código do agente, garantindo uma fiscalização de segurança consistente, independentemente de como o agente é implementado.
Crie uma política de cedro
Cedar é uma linguagem de políticas de código aberto desenvolvida por AWS para escrever políticas de autorização. O comando agentcore add policy cria uma política Cedar que controla as chamadas de ferramentas por meio do gateway. Você pode gerar uma política a partir de uma descrição em linguagem natural usando --generate ou fornecer um arquivo de política do Cedar diretamente usando. --source
A seguir está um exemplo de política da Cedar que permite reembolsos abaixo de $1000:
permit(principal, action == AgentCore::Action::"RefundTarget___process_refund", resource == AgentCore::Gateway::"<gateway-arn>") when { context.input.amount < 1000 };
A política usa:
-
permit— Permite a ação (o Cedar também suportaforbidnegar ações) -
principal— A entidade que faz a solicitação -
action— A ferramenta específica que está sendo chamada (RefundTarget___process_refund) -
resource— A instância do gateway em que a política se aplica -
whencondição — Requisitos adicionais (o valor deve ser < $1000)
Anexar política ao gateway
As --attach-mode ENFORCE bandeiras --attach-to-gateways e no comando agentcore add policy-engine conectam o mecanismo de política ao gateway no modo ENFORCE. Neste modo:
-
Cada chamada de ferramenta é interceptada e avaliada em relação a todas as políticas
-
Por padrão, todas as ações são negadas, a menos que sejam explicitamente permitidas
-
Se alguma
forbidpolítica corresponder, o acesso será negado (semântica de proibi-vence) -
As decisões políticas são registradas CloudWatch para monitoramento e conformidade
Isso garante que todas as operações do agente por meio do gateway sejam regidas por suas políticas de segurança.
Etapa 3: Implantar
Implante todos os recursos para AWS:
agentcore deploy
A AgentCore CLI cria o gateway, registra o destino do Lambda, provisiona o mecanismo de políticas e anexa a política do Cedar. Esse processo leva aproximadamente de 2 a 3 minutos.
Após a conclusão da implantação, você poderá verificar o status dos seus recursos:
agentcore status
Etapa 4: testar a política
Teste a política enviando solicitações para o gateway. Como o gateway usa--authorizer-type NONE, você pode enviar solicitações diretamente com curl.
Teste 1: Reembolso de $500 (deve ser permitido)
O valor do reembolso de $500 está abaixo do limite de $1000, então o mecanismo de política permite a solicitação:
curl -X POST ++<GATEWAY_URL>++ \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"RefundTarget___process_refund","arguments":{"amount":500}}}'
Teste 2: Reembolso de $2000 (deve ser negado)
O valor do reembolso de $2.000 excede o limite de $1.000, então o mecanismo de política nega a solicitação:
curl -X POST ++<GATEWAY_URL>++ \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"RefundTarget___process_refund","arguments":{"amount":2000}}}'
nota
<GATEWAY_URL>Substitua pela URL do gateway mostrada na saída do status do agentcore.
O que você construiu
Por meio desse tutorial, você criou:
-
MCP Server (Gateway) — Um endpoint gerenciado para ferramentas
-
Lambda target — Uma ferramenta de processamento de reembolso registrada no gateway
-
Motor de Cedar-based políticas — sistema de avaliação de políticas
-
Política de cedro — regra de governança que permite reembolsos abaixo de $1000
Solução de problemas
Se você encontrar problemas durante a configuração ou o teste, consulte os seguintes problemas e soluções comuns:
| Problema | Solução |
|---|---|
|
"AccessDeniedException" |
Verifique as permissões do IAM para bedrock-agentcore: * |
|
O gateway não está respondendo |
Aguarde 30 a 60 segundos após a implantação para propagação do DNS |
|
Falha na implantação |
Execute o status do agentcore para verificar os estados dos recursos e revisar as mensagens de erro |
|
Política não aplicada |
Verifique se o mecanismo de política está conectado no modo ENFORCE executando o status agentcore |
|
Erro de validação do Cedar durante a implantação |
As políticas do Cedar devem usar ARNs de recursos específicos — recursos curinga (por exemplo, |
|
Chamada de ferramenta negada inesperadamente |
O mecanismo de política está em vigor e a política do Cedar negou a solicitação. Verifique se a política |
|
Falha na implantação com erro de validação da política |
O modo de validação padrão |
Fazer a limpeza.
Para remover os recursos criados neste tutorial, remova o gateway e o mecanismo de políticas e reimplante:
agentcore remove gateway --name PolicyGateway agentcore remove policy-engine --name RefundPolicyEngine agentcore deploy
A remoção de um gateway não remove automaticamente o mecanismo de políticas anexado. Você deve remover o mecanismo de políticas separadamente usandoagentcore remove policy-engine.