Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Sicurezza e controlli degli accessi
L'harness offre le stesse primitive di sicurezza degli altri AgentCore, cablate in base alla configurazione.
-
Esecuzione isolata. Ogni sessione viene eseguita nella propria MicroVM Firecracker in Runtime. AgentCore Nessuno stato condiviso, nessun filesystem condiviso.
-
Ruolo di esecuzione IAM. L'harness assume un ruolo IAM di tua proprietà, configurabile per includere Bedrock, ECR e le primitive che CloudWatch tocca. AgentCore Vedi un esempio di politica sui ruoli di esecuzione qui sotto.
Nota
Se il gestore dei ruoli è abilitato nel tuo account, AgentCore assegna il ruolo per te e la fase di selezione del ruolo qui descritta viene sostituita da un'opzione Personalizza. Per utilizzare un ruolo diverso, scegli Personalizza. Per ulteriori informazioni, consulta Creazione di ruoli IAM nella Guida per l’utente IAM.
-
Modello di autorizzazioni IAM. Le API Harness richiedono autorizzazioni sia sulla risorsa harness che sulla risorsa Runtime sottostante. AgentCore Ad esempio, la chiamata
InvokeHarnessrichiede entrambe lebedrock-agentcore:InvokeAgentRuntimeautorizzazioni sull'bedrock-agentcore:InvokeHarnessARN di harness. Lo stesso schema si applica alle operazioni del piano di controllo:UpdateHarnessrichiedebedrock-agentcore:UpdateAgentRuntimebedrock-agentcore:DeleteAgentRuntime,DeleteHarnessrichiede e così via. Vedi la politica dei ruoli di esecuzione per l'elenco completo. -
Supporto OAuth in entrata. Le risorse Harness configurate con JWT richiedono ai chiamanti di presentare un JWT valido emesso da un provider di identità configurato prima di poter richiamare l'harness. AgentCore L'identità trasmette l'identità dell'utente finale tramite l'agente, quindi gli strumenti a valle possono chiamare le API con credenziali utente con ambito anziché un account di servizio condiviso.
-
VPC. Collega le sessioni di cablaggio al tuo VPC per l'accesso privato alle risorse interne.
-
Politiche su Gateway. Quando gli strumenti vengono forniti tramite AgentCore Gateway, Cedar-based le policy possono essere configurate per bloccare ogni chiamata: chi può chiamare quale strumento, in quali condizioni, con quali argomenti.
Nota
SIGv4 e identità per utente. Quando i chiamanti si autenticano con SIGv4 (AWS IAM), il cablaggio non propaga l'identità per utente nelle chiamate agli strumenti a valle. Ciò significa che le funzionalità di scoping delle credenziali per utente in AgentCore Identity Token Vault, come l'archiviazione dei token OAuth con ambito utente e lo scambio di token per conto dell'utente, sono disponibili solo quando i chiamanti si autenticano con un Bearer JWT tramite il percorso in entrata OAuth. Se il tuo caso d'uso richiede l'ambito delle credenziali per utente per gli strumenti a valle, configura l'OAuth in ingresso sull'harness. Il supporto SIGv4 per l'identità per utente è previsto per una versione futura.
Modello di responsabilità condivisa
Il cablaggio è basato su AgentCore Runtime e il limite di sicurezza è lo stesso: autenticazione IAM o JWT combinata con isolamento MicroVM. Qualsiasi principale che supera tale soglia raggiunge gli strumenti e le funzionalità configurati sull'harness, il che rende l'autorizzazione del chiamante e la convalida degli input una responsabilità del cliente.
AWS responsabilità:
-
Infrastruttura sicura e isolamento delle microVM a livello hardware
-
Patching del kernel del sistema operativo
-
Applicazione di patch in fase di esecuzione del linguaggio per distribuzioni dirette di codice
-
Managed Harness Runtime code, inclusa la convalida dell'accettazione della struttura delle richieste
InvokeHarness -
Sicurezza dell'infrastruttura di rete
-
Disponibilità e resilienza del servizio
Le tue responsabilità:
-
Sicurezza del codice dell'agente e gestione delle dipendenze
-
Controlli di accesso e politiche delle risorse IAM
-
Sicurezza dei comandi eseguiti nelle sessioni di runtime
-
Session-to-user applicazione della mappatura
-
Convalida degli input e prevenzione delle iniezioni tempestive, inclusa la convalida di tutti gli
InvokeHarnessinput (vedi) Limite di fiducia e convalida degli input -
Convalida della configurazione del modello, ad esempio
additionalParamsapiBase, emodelIdcampi (vedi) Parametri di configurazione del modello -
Fonti di competenze e istruzioni: garanzia che i bucket S3, i repository Git e gli URL utilizzati per le competenze contengano contenuti affidabili (vedi) Competenze e istruzioni
-
Aggiornamenti delle immagini dei container (per le implementazioni dei container): ricostruite regolarmente con l'immagine di base sicura più recente
-
Configurazione di rete (gruppi di sicurezza, endpoint VPC, tabelle di routing)
Per il modello completo AgentCore di responsabilità condivisa di Runtime, consulta le best practice di sicurezza per AgentCore Runtime.
Limite di fiducia e convalida degli input
Qualsiasi principale che supera il gate di autenticazione e autorizzazione IAM o JWT ha accesso all'intera sessione MicroVM, inclusi gli strumenti e le funzionalità configurati sull'harness. L'harness convalida la struttura della richiesta che accetta, ma non verifica il significato dei prompt, del contenuto dello schermo né impone vincoli comportamentali all'agente.
Se esponi l'harness a utenti finali di cui non ti fidi completamente (dipendenti, consumatori esterni o integrazioni di terze parti), convalida e disinfetta i messaggi nel livello dell'applicazione prima di trasmetterli. InvokeHarness Ciò include l'eliminazione dei tipi di blocchi di contenuto o dei campi di configurazione del modello che non desideri vengano inviati. Questo è lo stesso modello di qualsiasi servizio che accetta payload da chiamanti autorizzati, come Lambda, Amazon API Gateway e Amazon SQS.
Nota
L'harness rifiuta i toolUse blocchi nel messaggio finale sul lato server, come mostrato nell'esempio seguente. Per le distribuzioni AgentCore Runtime (non harness), Runtime non fornisce alcuna protezione sul lato server. AgentCore Il punto di ingresso dell'agente deve convalidare che il campo prompt sia una stringa e rifiutare o eliminare i blocchi di toolUse contenuto prima di passare l'input al framework dell'agente. Consulta le best practice di sicurezza per Runtime. AgentCore
Gli strumenti vengono eseguiti solo come risultato del ragionamento del modello. L'harness non accetta un blocco ToolUse nel messaggio finale di una InvokeHarness richiesta, quindi un chiamante non può nominare uno strumento e farlo inviare direttamente.
L'esempio seguente mostra una richiesta che l'harness è configurato per rifiutare. Il messaggio finale contiene un toolUse blocco che nomina lo strumento integrato: shell
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, messages=[{ "role": "assistant", "content": [ { "toolUse": { "toolUseId": TOOL_USE_ID, "name": "shell", "input": { "command": "pwd", } } } ] }], )
L'harness non valuta a quale strumento viene assegnato il nome del blocco, quindi questo vale per gli strumenti integrati sul lato server e per le funzioni in linea fornite durante la chiamata.
La restituzione del risultato di uno strumento è ancora supportata. L'harness accetta un blocco ToolResult nel messaggio finale e il modello riprende a ragionare su tale risultato. Ecco come funzionano gli strumenti funzionali in linea: il messaggio dell'assistente è seguito dal toolUse messaggio inserito toolResult nella stessa richiesta, quindi il toolUse blocco non è presente nel messaggio finale.
Parametri di configurazione del modello
Il model campo in InvokeHarness accetta additionalParams le configurazioni Bedrock, OpenAI e LiteLM. Questi parametri vengono trasmessi al fornitore del modello sottostante senza modifiche. L'harness non convalida, filtra o limita questi parametri.
I chiamanti che possono impostare possono: additionalParams
-
Reindirizza le richieste verso endpoint arbitrari: il
aws_bedrock_runtime_endpointparametro di LiteLM sovrascrive l'URL dell'endpoint Bedrock. Un chiamante può indirizzare la richiesta firmata, inclusa la firma SigV4 e le credenziali di sessione, a un endpoint specificato nella configurazione del modello di fiducia. -
Sostituisci le intestazioni HTTP: il
extra_headersparametro di OpenAI inserisce o sovrascrive le intestazioni HTTP sulla richiesta in uscita al fornitore del modello, inclusa l'intestazione.Authorization -
Tentativo di assunzione del ruolo IAM: il
aws_role_nameparametro LiteLM indica al runtime di assumere un ruolo IAM diverso prima di chiamare il fornitore del modello. Il tentativo ha esito positivo o negativo in base alle autorizzazioni del ruolo di esecuzione.sts:AssumeRole -
Modifica del modello o della regione di destinazione: i
apiBasecampimodelIde possono reindirizzare l'inferenza a un modello, una regione o un provider completamente diversi.
Se la tua applicazione presenta InvokeHarness funzionalità a chiamanti di cui non ti fidi completamente, valuta la possibilità di implementare la convalida degli input a livello di applicazione. Gli esempi includono:
-
Eliminare o inserire nell'elenco consentito il campo prima di inoltrare le richieste
model -
Convalida o rimozione e
additionalParamsapiBasemodelId -
Negazione
sts:AssumeRoledel ruolo di esecuzione se non è richiesto il cambio di ruolo -
Definizione dell'ambito dell'accesso alla rete Harness utilizzando i gruppi di sicurezza VPC
Competenze e istruzioni
Le competenze sono pacchetti di markdown e script che l'harness recupera da Amazon S3 o Git al momento della chiamata e li inserisce nel contesto dell'agente. L'harness considera tutti i contenuti relativi alle competenze come input attendibili. Non convalida, sanifica o ispeziona il contenuto o la fonte delle competenze prima di fornirle all'agente.
L'utente è responsabile di:
-
Garantire che le fonti di competenze (bucket S3, repository Git, URL) siano affidabili e controllate dagli accessi
-
Revisione del contenuto delle competenze, comprese le istruzioni di markdown e gli eventuali script incorporati, prima di configurarli sull'harness
-
Controllo dei principali che possono sovrascrivere il
skillscampo per chiamata, poiché i chiamanti possono puntare il cablaggio verso sorgenti S3 o Git arbitrarie
InvokeHarnessLe competenze possono essere sostituite per chiamata. Se l'applicazione inoltra l'input fornito dal chiamante aInvokeHarness, un chiamante può fornire le proprie fonti di competenze contenenti istruzioni o script arbitrari. Esempi di mitigazioni includono:
-
Eliminare o ignorare il
skillscampo dalle richieste fornite dal chiamante -
Consenti l'elenco dei prefissi S3 o dei repository Git consentiti
Osservabilità e correlazione delle tracce
L'harness propaga automaticamente gli identificatori di correlazione alle AgentCore primitive downstream (Gateway, Memory, Code Interpreter, Browser) per consentire visualizzazioni di traccia unificate in ingresso. CloudWatch Questi identificatori vengono utilizzati solo per l'osservabilità e non vengono mai utilizzati per decisioni di autorizzazione o accesso ai dati.
Configurazione della rete
Per impostazione predefinita, le sessioni di Harness vengono eseguite sulla rete pubblica. Per accedere alle risorse private (database, API interne, sottoreti private), implementa l'harness nel tuo VPC.
Esempio
Importante
In modalità VPC, l'harness estrae il contenitore di applicazioni gestite da un repository Amazon ECR privato nella regione harness all'inizio di ogni sessione. Il tuo VPC non ha bisogno di un gateway NAT o di un accesso a Internet per questo pull. Invece, crea endpoint VPC di interfaccia per com.amazonaws.<region>.ecr.dkr e e un endpoint VPC gateway percom.amazonaws.<region>.ecr.api, in modo che l'immagine e i com.amazonaws.<region>.s3 suoi livelli si risolvano all'interno del tuo VPC. Se il tuo agente chiama Amazon Bedrock per un'inferenza, crea anche un endpoint di interfaccia per. com.amazonaws.<region>.bedrock-runtime Senza gli endpoint richiesti, le sessioni non vengono avviate a causa dei timeout di estrazione delle immagini. Il ruolo di esecuzione deve consentire l'estrazione dal repository privato. Vedi la politica del ruolo di esecuzione.
Per ulteriori indicazioni sulla configurazione della rete, consulta Configure AgentCore Runtime e la configurazione VPC degli strumenti integrati. Per la connettività API in entrata tramite PrivateLink, consulta gli endpoint dell'interfaccia VPC.
OAuth in entrata
Richiedi ai chiamanti di presentare un JWT valido emesso da un provider di identità configurato prima di poter richiamare l'harness. AgentCore L'identità trasmette l'identità dell'utente finale tramite l'agente, in modo che gli strumenti a valle possano chiamare le API con credenziali utente con ambito anziché un account di servizio condiviso.
Esempio
Per saperne di più: AgentCore Identità · autorizzatore JWT in entrata · credenziali in uscita https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/identity-outbound-credential-provider.html
Politiche del gateway
Quando gli strumenti vengono forniti tramite AgentCore Gateway, Cedar-based le policy annullano ogni chiamata: chi può chiamare quale strumento, in quali condizioni, con quali argomenti.
Per saperne di più: AgentCore Politica · modelli comuni
Politica del ruolo di esecuzione
L'harness assume un ruolo di esecuzione IAM fornito dall'utente. La politica di fiducia del ruolo deve consentire al responsabile del AgentCore servizio di assumerlo:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "bedrock-agentcore.amazonaws.com"}, "Action": "sts:AssumeRole" }] }
Autorizzazioni IAM richieste per i chiamanti
Le API Harness richiedono autorizzazioni sia sulla risorsa Harness che sulle risorse di Runtime e di memoria opzionali sottostanti AgentCore . AgentCore La tabella seguente elenca le azioni richieste per ciascuna API:
| "Hello, World!" | Azioni IAM richieste |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
La maggior parte delle azioni utilizza Harness ARN come ambito delle risorse:. arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id> Le azioni sugli endpoint utilizzano anche l'ARN dell'endpoint harness:. arn:aws:bedrock-agentcore:<region>:<accountId>:harness/<id>/harness-endpoint/<endpointName>
Le DeleteHarnessEndpoint azioni GetHarnessEndpointUpdateHarnessEndpoint, e richiedono sia l'Harness ARN che l'Endpoint ARN. CreateHarnessEndpointrichiede solo l'arn del cablaggio. L'endpoint non esiste ancora, quindi non è necessario alcun ARN dell'endpoint. Quando si richiama un endpoint personalizzato InvokeHarness e si InvokeAgentRuntimeCommand richiedono sia l'Harness ARN che l'Endpoint ARN.
Esempio di politica relativa ai ruoli di esecuzione
L'esempio seguente riguarda un cablaggio sulla rete pubblica, che estrae l'immagine del contenitore gestito da Amazon ECR Public. Un harness in modalità VPC estrae l'immagine gestita da un repository Amazon ECR privato nella regione harness, quindi il suo ruolo di esecuzione richiede anche autorizzazioni di pull ECR private. Aggiungi le istruzioni in modalità VPC: estrazione dell'immagine gestita da un ECR privato al ruolo di esecuzione di un harness. VPC-mode
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockModelInvocation", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:*::foundation-model/*", "arn:aws:bedrock:<region>:<accountId>:*" ] }, { "Sid": "EcrPublicTokenAccess", "Effect": "Allow", "Action": [ "ecr-public:GetAuthorizationToken" ], "Resource": "*" }, { "Sid": "StsForEcrPublicPull", "Effect": "Allow", "Action": [ "sts:GetServiceBearerToken" ], "Resource": "*" }, { "Sid": "XRayTracingAccess", "Effect": "Allow", "Action": [ "xray:PutTraceSegments", "xray:PutTelemetryRecords", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*" }, { "Sid": "CloudWatchLogsGroup", "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*" }, { "Sid": "CloudWatchLogsDescribeGroups", "Effect": "Allow", "Action": [ "logs:DescribeLogGroups" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:*" }, { "Sid": "CloudWatchLogsStream", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:<region>:<accountId>:log-group:/aws/bedrock-agentcore/runtimes/*:log-stream:*" }, { "Sid": "CloudWatchLogsPutResourcePolicy", "Effect": "Allow", "Action": [ "logs:PutResourcePolicy" ], "Resource": "*" }, { "Sid": "CloudWatchMetricsPublish", "Effect": "Allow", "Resource": "*", "Action": "cloudwatch:PutMetricData", "Condition": { "StringEquals": { "cloudwatch:namespace": "bedrock-agentcore" } } }, { "Sid": "AgentCoreWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken", "bedrock-agentcore:GetWorkloadAccessTokenForJWT" ], "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreBrowserDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:browser/*" }, { "Sid": "AgentCoreCodeInterpreterDefault", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:aws:code-interpreter/*" }, { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/harness_<agentNameAbbrv>_*" } ] }
La AgentCore CLI crea automaticamente un ruolo con queste autorizzazioni quando si crea uno scaffold di un progetto Harness. La politica sopra riportata è valida per i casi in cui il ruolo è stato creato dall'utente.
Nota
L'BedrockModelInvocationesempio riportato sopra consente di richiamare tutti i modelli di base in tutte le regioni e tutte le risorse Bedrock presenti nel tuo account. Per ridefinire l'ambito, sostituisci gli ARN delle risorse con profili di inferenza specifici, che ti consentono di indirizzare le richieste tra modelli e regioni con un unico ARN. Ad esempio: arn:aws:bedrock:<destination_regions>:<accountId>:inference-profile/<profileId> abbinato a tutte le regioni consentite. arn:aws:bedrock:<region>:<accountId>:foundation-model/<modelId>
Per i carichi di lavoro di produzione, stabilisci Resource i valori in base agli ARN specifici di cui hai bisogno il cablaggio anziché utilizzarli. "*"
Autorizzazioni aggiuntive per funzionalità opzionali
Di seguito sono riportati alcuni esempi di policy che puoi aggiungere al tuo ruolo di esecuzione in base alle funzionalità utilizzate dal tuo harness. Segui il principio del privilegio minimo: concedi al tuo harness agent solo gli strumenti e le credenziali specifici necessari per l'inferenza. Vedi per le definizioni Riferimento segnaposto dei segnaposto.
Accesso ECR privato (immagini dei contenitori personalizzate)
Aggiungi questa politica quando il cablaggio utilizza un'immagine ECR privata per un contenitore personalizzato.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ECRImageAccess", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:<ecrRegion>:<ecrAccountId>:repository/<ecrRepoName>" }, { "Sid": "ECRTokenAccess", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Modalità VPC: estrazione dell'immagine gestita da un ECR privato
Aggiungi questa policy quando il cablaggio funziona in modalità VPC. In modalità VPC, l'harness estrae il contenitore di applicazioni gestite da un repository Amazon ECR privato nella regione dell'harness (denominata). harness-<region> Questo pull utilizza un ECR privato anziché Amazon ECR Public, quindi il ruolo di esecuzione richiede autorizzazioni di pull ECR private. Questa policy è separata dalle autorizzazioni personalizzate per le immagini del contenitore: si applica all'immagine AWS gestita anche quando non fornisci il tuo contenitore.
Il repository è di proprietà di un account di AWS servizio, pertanto l'account nell'ARN del repository è contrassegnato come wildcard. Le autorizzazioni pull sono limitate alla regione Harness.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EcrManagedImagePull", "Effect": "Allow", "Action": [ "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:<region>:*:repository/harness-*" }, { "Sid": "EcrManagedImageToken", "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Assicurati che nel tuo VPC siano presenti gli endpoint VPC richiesti (vedi Configurazione di rete): endpoint di interfaccia per com.amazonaws.<region>.ecr.dkr e e com.amazonaws.<region>.ecr.api un endpoint gateway per. com.amazonaws.<region>.s3
AgentCore Memoria
Aggiungi questa policy quando il tuo harness utilizza un'istanza di memoria di proprietà del cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreMemory", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateEvent", "bedrock-agentcore:DeleteEvent", "bedrock-agentcore:GetEvent", "bedrock-agentcore:ListEvents", "bedrock-agentcore:RetrieveMemoryRecords" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:memory/<memoryId>" } ] }
AgentCore Browser (personalizzato)
Aggiungi questa politica quando Harness utilizza una risorsa browser personalizzata di proprietà del cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreBrowserCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartBrowserSession", "bedrock-agentcore:StopBrowserSession", "bedrock-agentcore:GetBrowserSession", "bedrock-agentcore:ListBrowserSessions", "bedrock-agentcore:UpdateBrowserStream", "bedrock-agentcore:ConnectBrowserAutomationStream", "bedrock-agentcore:ConnectBrowserLiveViewStream" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:browser-custom/<browserCustomId>" } ] }
AgentCore Code Interpreter (personalizzato)
Aggiungi questa politica quando il tuo cablaggio utilizza un interprete di codice personalizzato di proprietà del cliente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreCodeInterpreterCustom", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartCodeInterpreterSession", "bedrock-agentcore:StopCodeInterpreterSession", "bedrock-agentcore:GetCodeInterpreterSession", "bedrock-agentcore:ListCodeInterpreterSessions", "bedrock-agentcore:InvokeCodeInterpreter" ], "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:code-interpreter-custom/<codeInterpreterCustomId>" } ] }
AgentCore Gateway
Aggiungi questa politica quando il cablaggio utilizza un gateway configurato con l'autenticazione in entrata SIGv4.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreGatewayAccess", "Effect": "Allow", "Action": "bedrock-agentcore:InvokeGateway", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:gateway/<gatewayId>" } ] }
Fonti di competenze in Amazon S3 e Git
Aggiungi questa policy quando il tuo harness recupera una skill da una fonte Amazon S3. Il ruolo di esecuzione elenca e scarica gli oggetti delle abilità con il prefisso bucket.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreSkillS3Access", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::<skillBucket>", "arn:aws:s3:::<skillBucket>/*" ] } ] }
Per recuperare una skill da un repository Git privato, l'harness legge un token di accesso personale da un fornitore di credenziali di chiave API. Concedi la politica del fornitore di credenziali della chiave API mostrata di seguito per il provider di credenziali che detiene il token.
Fornitore di credenziali con chiave API (riferimenti ARN all'intestazione OpenAI, Gemini, LiteLM o MCP)
Aggiungi questa policy quando il tuo harness utilizza un fornitore di credenziali con chiave API per fornitori di modelli come OpenAI, Gemini o LiteLLM.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreApiKeyTokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreApiKeyTokenVaultPerKey", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceApiKey", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/apikeycredentialprovider/<apiKeyName>" }, { "Sid": "AgentCoreApiKeySecret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/apikey/<apiKeyName>-*" } ] }
Provider di credenziali OAuth2 (Gateway) OAuth-protected
Aggiungi questa policy quando il tuo harness utilizza un provider di credenziali OAuth2 per gli strumenti di gateway. OAuth-protected
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AgentCoreOAuth2TokenVaultDefault", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": [ "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default", "arn:aws:bedrock-agentcore:<region>:<accountId>:workload-identity-directory/default/workload-identity/harness_<agentName>-*" ] }, { "Sid": "AgentCoreOAuth2TokenVaultPerProvider", "Effect": "Allow", "Action": "bedrock-agentcore:GetResourceOauth2Token", "Resource": "arn:aws:bedrock-agentcore:<region>:<accountId>:token-vault/default/oauth2credentialprovider/<oauthProviderName>" }, { "Sid": "AgentCoreOAuth2Secret", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "arn:aws:secretsmanager:<region>:<accountId>:secret:bedrock-agentcore-identity!default/oauth2/<oauthProviderName>-*" } ] }
Riferimento segnaposto
Sostituisci i seguenti segnaposti nelle politiche precedenti con valori specifici per il tuo ambiente:
| Placeholder | Description |
|---|---|
|
|
La AWS regione in cui è distribuita la risorsa. |
|
|
L'ID AWS del tuo account. |
|
|
Il nome del tuo addetto all'imbracatura. |
|
|
La forma abbreviata del nome del tuo harness agent utilizzato nei nomi predefiniti delle risorse di AgentCore memoria. |
|
|
L'ID della risorsa di AgentCore memoria. |
|
|
L'ID della risorsa del browser personalizzata. |
|
|
L'ID della tua risorsa di interprete di codice personalizzata. |
|
|
L'ID della tua risorsa AgentCore Gateway. |
|
|
Il nome del tuo fornitore di credenziali per la chiave API. |
|
|
Il nome del bucket S3 che contiene i tuoi file di abilità. |
|
|
Il nome del tuo provider di credenziali OAuth2. |
|
|
La regione in cui è ospitato il tuo repository ECR. |
|
|
L'ID AWS dell'account proprietario del repository ECR. |
|
|
Il nome del tuo archivio ECR. |
Nota
La parte finale delle risorse di -* Secrets Manager rappresenta il suffisso casuale che Secrets Manager aggiunge agli ARN segreti.
Argomenti correlati
-
Tools (Strumenti)- tipi di strumenti e modelli AllowedTools
-
Ambiente e file system- ambienti personalizzati e autorizzazioni ECR
-
Controlla i costi con limiti- limiti di esecuzione per il controllo dei costi