View a markdown version of this page

Use os endpoints VPC da interface (AWS PrivateLink) para criar uma conexão privada entre sua VPC e seus recursos do Amazon Bedrock AgentCore - Base da Amazônia AgentCore

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á.

Use os endpoints VPC da interface (AWS PrivateLink) para criar uma conexão privada entre sua VPC e seus recursos do Amazon Bedrock AgentCore

Você pode usar AWS PrivateLink para criar uma conexão privada entre sua VPC e o Amazon Bedrock AgentCore. Você pode acessar AgentCore como se estivesse em sua VPC, sem o uso de um gateway de internet, dispositivo NAT, conexão VPN ou conexão Direct Connect. As instâncias em sua VPC não precisam de endereços IP públicos para serem AgentCore acessadas.

Você estabelece essa conexão privada criando um endpoint de interface, desenvolvido por AWS PrivateLink. Criaremos um endpoint de interface de rede em cada sub-rede que você habilitar para o endpoint de interface. Estas são interfaces de rede gerenciadas pelo solicitante que servem como ponto de entrada para o tráfego destinado ao AgentCore.

Para obter mais informações, consulte Acesse AWS os serviços por meio AWS PrivateLink do AWS PrivateLink Guia.

Considerações para AgentCore

Antes de configurar um endpoint de interface para AgentCore, consulte Considerações no AWS PrivateLink Guia.

AgentCore fornece três AWS PrivateLink endpoints:

  • Ponto final do plano de dados - com.amazonaws.region.bedrock-agentcore

  • Ponto final do plano de controle - com.amazonaws.region.bedrock-agentcore-control

  • Ponto final do gateway - com.amazonaws.region.bedrock-agentcore.gateway

A tabela a seguir mostra o status do AWS PrivateLink suporte para cada AgentCore primitivo:

Primitivo Plano de dados Ambiente de gerenciamento

Runtime

Compatível

Compatível

Memória

Compatível

Compatível

Built-in Ferramentas (intérprete de código, ferramenta de navegador)

Compatível

Compatível

Identidade

Compatível

Compatível

Gateway

Compatível

Compatível

Avaliações e otimizações

Compatível

Compatível

Política

Compatível

Compatível

Para obter uma lista de AWS regiões nas quais os endpoints de AgentCore interface estão disponíveis, consulte AWS Regiões Compatível AWS Regiões suportadas.

Importante

As APIs do plano de dados oferecem suporte aos cabeçalhos AWS Signature Version 4 (SigV4) para autenticação e à autenticação por Bearer Token (OAuth). As políticas de endpoint da VPC só podem restringir os chamadores com base nos principais do IAM e não nos usuários do OAuth. Para que as OAuth-based solicitações sejam bem-sucedidas por meio do VPC endpoint, o principal deve ser definido como * na política de endpoint. Caso contrário, somente os chamadores permitidos do SigV4 podem fazer chamadas bem-sucedidas pelo endpoint VPC.

AWS As chaves de contexto de condição global do IAM são suportadas. Por padrão, o acesso total ao AgentCore é permitido por meio do endpoint da interface. Você pode controlar o acesso anexando uma política de endpoint ao endpoint da interface ou associando um grupo de segurança às interfaces de rede do endpoint.

Crie um endpoint de interface para AgentCore

Você pode criar um endpoint de interface para AgentCore usar o console Amazon VPC ou a interface de linha de AWS comando (AWS CLI). Para obter mais informações, consulte Criar um endpoint de interface no AWS PrivateLink Guia.

Crie um endpoint de interface para AgentCore usar o seguinte formato de nome de serviço:

  • Todas as primitivas do plano de dados (tempo de execução, Built-in ferramentas, memória, identidade): com.amazonaws.region.bedrock-agentcore

  • Para AgentCore Gateway: com.amazonaws.region.bedrock-agentcore.gateway

  • Para operações de plano de controle (gerenciamento de tempo de execução e memória): com.amazonaws.region.bedrock-agentcore-control

Se você habilitar o DNS privado para o endpoint da interface, poderá fazer solicitações de API AgentCore usando seu nome DNS regional padrão. Por exemplo, .bedrock-agentcore.us-east-1.amazonaws.com Especificamente para o Gateway, será parecido com:*.gateway.bedrock-agentcore.us-east-1.amazonaws.com.

Criar uma política de endpoint para o endpoint de interface

Uma política de endpoint é um recurso do IAM que pode ser anexado ao endpoint de interface. A política de endpoint padrão permite acesso total ao endpoint AgentCore por meio da interface. Para controlar o acesso permitido a AgentCore partir da sua VPC, anexe uma política de endpoint personalizada ao endpoint da interface.

Uma política de endpoint especifica as seguintes informações:

  • Os diretores que podem realizar ações (AWS contas, usuários do IAM e funções do IAM).

    • Para o AgentCore Gateway, se a entrada do gateway não for baseada na AWS Signature Version 4 (SigV4) (por exemplo, se você usar OAuth em vez disso), você deverá especificar o Principal campo como curinga *. A autenticação baseada em SigV4 permite que você defina o Principal como uma identidade específica AWS . Isso também se aplica ao AgentCore Runtime.

  • As ações que podem ser realizadas.

  • Os recursos nos quais as ações podem ser executadas.

Para obter mais informações, consulte Controle o acesso aos serviços usando políticas de endpoint no AWS PrivateLink Guia.

Políticas de endpoint para várias primitivas

Os exemplos a seguir mostram políticas de endpoint para diferentes AgentCore componentes:

exemplo
Runtime
  1. A política de endpoint a seguir permite que diretores de IAM específicos invoquem recursos de tempo de execução do agente.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:user/USERNAME" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/RUNTIME_ID" } ] }

    Autenticação mista de IAM e OAuth

    A InvokeAgentRuntime API oferece suporte a dois modos de autorização de endpoint de VPC. O exemplo de política a seguir permite que os diretores do IAM e os chamadores do OAuth acessem diferentes recursos de tempo de execução do agente.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/customAgent1" }, { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:runtime/customAgent2" } ] }

    A política acima permite que somente o diretor do IAM faça InvokeAgentRuntime chamadas para customAgent1 o. Ele também permite que os diretores do IAM e os chamadores do OAuth façam chamadas para o. InvokeAgentRuntime customAgent2

    Políticas de endpoint de metadados de recursos protegidos (PRM)

    A GetRuntimeProtectedResourceMetadata API implementa metadados de recursos protegidos do OAuth 2.0 (RFC 9728). Os clientes chamam esse endpoint antes de terem as credenciais, para descobrir qual servidor de autorização protege o tempo de execução de um determinado agente. Esse endpoint não é autenticado por design, portanto, ele Principal deve ser definido como * na política de endpoint.

    As políticas de endpoint da VPC são aplicadas às solicitações de PRM. Se sua política de endpoint não permitir explicitamentebedrock-agentcore:GetRuntimeProtectedResourceMetadata, as solicitações de PRM por meio desse endpoint serão negadas com HTTP 403. Qualquer tempo de execução do OAuth-configured agente acessado por meio de um endpoint VPC exige acesso ao PRM para a descoberta do servidor de autorização.

    nota

    Se você tiver uma política de negação de todos os endpoints para impor o perímetro de dados e não usar a autenticação OAuth ou JWT, as solicitações de PRM serão negadas automaticamente. Nenhuma configuração adicional é necessária.

    A política de endpoint a seguir permite que qualquer chamador descubra o servidor de autorização (PRM) enquanto restringe as invocações de tempo de execução a um principal do IAM específico:

    { "Statement": [ { "Sid": "AllowPRMDiscovery", "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "AllowInvoke", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/RUNTIME_ID" } ] }

    Para bloquear pesquisas de PRM entre contas por meio de seu endpoint de VPC (imposição do perímetro de dados), defina o escopo da declaração de permissão de PRM apenas para os tempos de execução da sua conta:

    { "Statement": [ { "Sid": "AllowPRMOwnAccountOnly", "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "DenyCrossAccountPRM", "Effect": "Deny", "Principal": "*", "Action": [ "bedrock-agentcore:GetRuntimeProtectedResourceMetadata" ], "NotResource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" }, { "Sid": "AllowInvoke", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeAgentRuntime" ], "Resource": "arn:aws:bedrock-agentcore:REGION:ACCOUNT_ID:runtime/*" } ] }
Code Interpreter Tool
  1. A política de endpoint a seguir permite que diretores específicos do IAM invoquem recursos do Code Interpreter.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:code-interpreter/CODE_INTERPRETER_ID" } ] }
Memory
  1. ====== Todas as operações do plano de dados

    A política de endpoint a seguir permite que diretores de IAM específicos acessem operações de plano de dados us-east-1 para uma memória específica. AgentCore

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:DeleteMemoryRecord", "bedrock-agentcore:GetMemoryRecord", "bedrock-agentcore:ListMemoryRecords", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:ListActors", "bedrock-agentcore:ListSessions", "bedrock-agentcore:BatchCreateMemoryRecords", "bedrock-agentcore:BatchDeleteMemoryRecords", "bedrock-agentcore:BatchUpdateMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/MEMORY_ID" } ] }

    Acesso a todas as memórias

    A política de endpoint a seguir permite que diretores de IAM específicos acessem todas as memórias.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:DeleteMemoryRecord", "bedrock-agentcore:GetMemoryRecord", "bedrock-agentcore:ListMemoryRecords", "bedrock-agentcore:RetrieveMemoryRecords", "bedrock-agentcore:ListActors", "bedrock-agentcore:ListSessions", "bedrock-agentcore:BatchCreateMemoryRecords", "bedrock-agentcore:BatchDeleteMemoryRecords", "bedrock-agentcore:BatchUpdateMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/*" } ] }

    Restrição de acesso por APIs

    A política de endpoint a seguir concede permissão para que um diretor de IAM específico crie eventos em um recurso de AgentCore memória específico.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvent" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:memory/MEMORY_ID" } ] }
Browser Tool
  1. A política de endpoint a seguir permite que diretores de IAM específicos se conectem aos recursos da Browser Tool.

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:ConnectBrowserAutomationStream" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:browser/BROWSER_ID" } ] }
Gateway
  1. Veja a seguir um exemplo de uma política de endpoint personalizado. Quando você anexa essa política ao endpoint da interface, ela permite que todos os principais invoquem o gateway especificado no campo. Resource

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "bedrock-agentcore:InvokeGateway" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:gateway/my-gateway" } ] }
Identity
  1. A política de endpoint a seguir permite acesso aos recursos de identidade.

    { "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": [ "*" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:workload-identity-directory/default/workload-identity/WORKLOAD_IDENTITY_ID" } ] }
Evaluations and Optimizations
  1. A política de endpoint a seguir permite que diretores específicos do IAM acessem as operações de avaliações e otimizações.

    { "Statement": [ { "Sid": "AllowBatchEvaluations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:StartBatchEvaluation", "bedrock-agentcore:GetBatchEvaluation", "bedrock-agentcore:ListBatchEvaluations", "bedrock-agentcore:StopBatchEvaluation", "bedrock-agentcore:DeleteBatchEvaluation" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:batch-evaluate/*" }, { "Sid": "AllowRecommendations", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:StartRecommendation", "bedrock-agentcore:GetRecommendation", "bedrock-agentcore:ListRecommendations", "bedrock-agentcore:DeleteRecommendation" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:recommendation/*" }, { "Sid": "AllowEvaluators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateEvaluator", "bedrock-agentcore:GetEvaluator", "bedrock-agentcore:ListEvaluators", "bedrock-agentcore:UpdateEvaluator", "bedrock-agentcore:DeleteEvaluator" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:evaluator/*" }, { "Sid": "AllowOnlineEvaluationConfigs", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateOnlineEvaluationConfig", "bedrock-agentcore:GetOnlineEvaluationConfig", "bedrock-agentcore:ListOnlineEvaluationConfigs", "bedrock-agentcore:UpdateOnlineEvaluationConfig", "bedrock-agentcore:DeleteOnlineEvaluationConfig" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:online-evaluation-config/*" }, { "Sid": "AllowABTests", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateABTest", "bedrock-agentcore:GetABTest", "bedrock-agentcore:ListABTests", "bedrock-agentcore:UpdateABTest", "bedrock-agentcore:DeleteABTest" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:ab-test/*" }, { "Sid": "AllowConfigurationBundles", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_ID:root" }, "Action": [ "bedrock-agentcore:CreateConfigurationBundle", "bedrock-agentcore:GetConfigurationBundle", "bedrock-agentcore:GetConfigurationBundleVersion", "bedrock-agentcore:ListConfigurationBundles", "bedrock-agentcore:ListConfigurationBundleVersions", "bedrock-agentcore:UpdateConfigurationBundle", "bedrock-agentcore:DeleteConfigurationBundle" ], "Resource": "arn:aws:bedrock-agentcore:us-east-1:ACCOUNT_ID:configuration-bundle/*" } ] }