Usa gli endpoint VPC dell'interfaccia (AWS PrivateLink) per creare una connessione privata tra il tuo VPC e le tue risorse Amazon Bedrock AgentCore
Puoi utilizzarlo AWS PrivateLink per creare una connessione privata tra il tuo VPC e Amazon Bedrock. AgentCore Puoi accedere AgentCore come se fosse nel tuo VPC, senza l'uso di un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione Direct Connect. Le istanze del tuo VPC non necessitano di indirizzi IP pubblici per accedervi. AgentCore
Questa connessione privata viene stabilita creando un endpoint di interfaccia, alimentato da. AWS PrivateLink In ciascuna sottorete viene creata un'interfaccia di rete endpoint da abilitare per l'endpoint di interfaccia. Queste sono interfacce di rete gestite dal richiedente che fungono da punto di ingresso per il traffico destinato a AgentCore.
Per ulteriori informazioni, consulta Accedere ai AWS servizi AWS PrivateLink nella AWS PrivateLink Guida.
Considerazioni per AgentCore
Prima di configurare un endpoint di interfaccia per AgentCore, consulta le considerazioni nella Guida. AWS PrivateLink
AgentCore fornisce tre endpoint: AWS PrivateLink
-
Endpoint del piano dati - com.amazonaws.region.bedrock-agentcore
-
Endpoint del piano di controllo - com.amazonaws.region.bedrock-agentcore-control
-
Endpoint del gateway - com.amazonaws.region.bedrock-agentcore.gateway
La tabella seguente mostra lo stato del AWS PrivateLink supporto per ogni AgentCore primitiva:
| Primitiva |
Piano dati |
Piano di controllo |
|
Runtime
|
Supportata
|
Supportata
|
|
Memoria
|
Supportata
|
Supportata
|
|
Built-in Strumenti (interprete di codice, strumento browser)
|
Supportata
|
Supportata
|
|
Identità
|
Supportata
|
Supportata
|
|
Gateway
|
Supportata
|
Supportata
|
|
Valutazioni e ottimizzazioni
|
Supportata
|
Supportata
|
|
Policy
|
Supportata
|
Supportata
|
Per un elenco delle AWS regioni in cui sono disponibili gli endpoint di AgentCore interfaccia, consulta Regioni supportate AWS.
Le API del piano dati supportano sia le intestazioni AWS Signature Version 4 (SigV4) per l'autenticazione che l'autenticazione Bearer Token (OAuth). Le policy degli endpoint VPC possono limitare solo i chiamanti in base ai principi IAM e non agli utenti OAuth. Affinché OAuth-based le richieste abbiano esito positivo tramite l'endpoint VPC, il principale deve essere impostato su * nella policy dell'endpoint. Altrimenti, solo i chiamanti SigV4 nella lista consentita possono effettuare chiamate con successo sull'endpoint VPC.
AWS Le chiavi di contesto della condizione globale IAM sono supportate. Per impostazione predefinita, l'accesso completo a AgentCore è consentito tramite l'endpoint dell'interfaccia. È possibile controllare l'accesso allegando una policy dell'endpoint all'endpoint dell'interfaccia o associando un gruppo di sicurezza alle interfacce di rete dell'endpoint.
Crea un endpoint di interfaccia per AgentCore
Puoi creare un endpoint di interfaccia per AgentCore utilizzare la console Amazon VPC o l'interfaccia a riga di comando ( AWS AWS CLI). Per ulteriori informazioni, consulta Creare un endpoint di interfaccia nella Guida. AWS PrivateLink
Crea un endpoint di interfaccia per AgentCore utilizzare il seguente formato di nome di servizio:
-
Tutte le primitive del piano dati (Runtime, Built-in Tools, Memory, Identity): com.amazonaws.region.bedrock-agentcore
-
Per AgentCore Gateway: com.amazonaws.region.bedrock-agentcore.gateway
-
Per le operazioni sul piano di controllo (gestione del runtime e della memoria): com.amazonaws.region.bedrock-agentcore-control
Se abiliti il DNS privato per l'endpoint dell'interfaccia, puoi effettuare richieste API AgentCore utilizzando il nome DNS regionale predefinito. Ad esempio, bedrock-agentcore.us-east-1.amazonaws.com.
Creazione di una policy dell' endpoint per l'endpoint dell'interfaccia
Una policy dell’endpoint è una risorsa IAM che è possibile allegare all’endpoint dell’interfaccia. La policy predefinita per gli endpoint consente l'accesso completo AgentCore tramite l'endpoint dell'interfaccia. Per controllare l'accesso consentito AgentCore dal tuo VPC, collega una policy endpoint personalizzata all'endpoint di interfaccia.
Una policy di endpoint specifica le informazioni riportate di seguito:
-
I principali che possono eseguire azioni (AWS account, utenti IAM e ruoli IAM).
-
Per AgentCore Gateway, se l'ingresso del gateway non è basato su AWS Signature Version 4 (SigV4) (ad esempio, se utilizzi invece OAuth), devi specificare il Principal campo come jolly *. L'autenticazione basata su SigV4 consente di definirla come un'identità specifica. Principal AWS Questo vale anche per Runtime. AgentCore
-
Le azioni che possono essere eseguite.
-
Le risorse in cui è possibile eseguire le operazioni.
Per ulteriori informazioni, consulta Controllare l'accesso ai servizi utilizzando le policy degli endpoint nella AWS PrivateLink Guida.
Politiche degli endpoint per varie primitive
Gli esempi seguenti mostrano le policy degli endpoint per diversi componenti: AgentCore
Esempio
- Runtime
-
-
La seguente policy sugli endpoint consente a principi IAM specifici di richiamare le risorse di runtime degli agenti.
{
"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"
}
]
}
Autenticazione mista IAM e OAuth
L'InvokeAgentRuntimeAPI supporta due modalità di autorizzazione degli endpoint VPC. La seguente policy di esempio consente sia ai principali IAM che ai chiamanti OAuth di accedere a diverse risorse di runtime degli agenti.
{
"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"
}
]
}
La politica di cui sopra consente solo al principale IAM di effettuare chiamate verso. InvokeAgentRuntime customAgent1 Consente inoltre sia ai principali IAM che ai chiamanti OAuth di effettuare chiamate verso. InvokeAgentRuntime customAgent2
Politiche degli endpoint Protected Resource Metadata (PRM)
L'GetRuntimeProtectedResourceMetadataAPI implementa OAuth 2.0 Protected Resource Metadata (RFC 9728). I client chiamano questo endpoint prima di disporre delle credenziali, per scoprire quale server di autorizzazione protegge il runtime di un determinato agente. Questo endpoint non è autenticato per progettazione, quindi Principal deve essere impostato su * nella policy dell'endpoint.
Le policy degli endpoint VPC vengono applicate alle richieste PRM. Se la policy dell'endpoint non lo consente esplicitamentebedrock-agentcore:GetRuntimeProtectedResourceMetadata, le richieste PRM tramite quell'endpoint vengono negate con HTTP 403. Qualsiasi runtime di OAuth-configured agente a cui si accede tramite un endpoint VPC richiede l'accesso PRM per l'individuazione del server di autorizzazione.
Se si dispone di una politica di negazione totale degli endpoint per l'applicazione del perimetro dei dati e non si utilizza l'autenticazione OAuth o JWT, le richieste PRM vengono rifiutate automaticamente. Non è necessaria alcuna configurazione aggiuntiva.
La seguente policy sugli endpoint consente a qualsiasi chiamante di scoprire il server di autorizzazione (PRM) limitando al contempo le chiamate di runtime a un principale IAM specifico:
{
"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"
}
]
}
Per bloccare le ricerche PRM tra account tramite l'endpoint VPC (applicazione del perimetro dei dati), estendi l'istruzione di autorizzazione PRM solo ai runtime del tuo account:
{
"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
-
-
La seguente policy sugli endpoint consente a principi IAM specifici di richiamare risorse 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
-
-
====== Tutte le operazioni sul piano dati
La seguente policy sugli endpoint consente a principi IAM specifici di accedere alle operazioni del piano dati us-east-1 per una memoria specifica. 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"
}
]
}
Accesso a tutte le memorie
La seguente policy sugli endpoint consente ai principali IAM specifici di accedere a tutte le memorie.
{
"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/*"
}
]
}
Restrizione dell'accesso tramite API
La seguente policy sugli endpoint concede l'autorizzazione a uno specifico principale IAM per creare eventi in una specifica risorsa di memoria. AgentCore
{
"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
-
-
La seguente policy sugli endpoint consente a specifici presidi IAM di connettersi alle risorse del 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
-
-
Di seguito è riportato l'esempio di una policy dell'endpoint personalizzata. Quando colleghi questa policy all'endpoint dell'interfaccia, consente a tutti i principali di richiamare il gateway specificato nel campo. Resource
{
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"bedrock:InvokeGateway"
],
"Resource": "arn:aws::bedrock-agentcore:us-east-1::gateway/my-gateway"
}
]
}
- Identity
-
-
La seguente policy sugli endpoint consente l'accesso alle risorse Identity.
{
"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
-
-
La seguente policy sugli endpoint consente a specifici presidi IAM di accedere alle operazioni di valutazione e ottimizzazione.
{
"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/*"
}
]
}