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à.
AgentCore Gateway e policy nelle autorizzazioni AgentCore IAM
Questa guida fornisce le autorizzazioni IAM necessarie per l'utilizzo di Amazon Bedrock AgentCore Gateway con Policy in AgentCore per un controllo granulare delle autorizzazioni utilizzando le politiche Cedar.
Panoramica di
Quando si integra Amazon Bedrock AgentCore Gateway con Policy in AgentCore, sono necessari due ruoli IAM distinti:
-
Ruolo di esecuzione del gateway: il ruolo IAM che Amazon Bedrock AgentCore Gateway assume in fase di esecuzione per richiamare gli obiettivi e valutare le politiche Cedar
-
Ruolo di gestione delle risorse: il ruolo IAM utilizzato dagli amministratori per creare e gestire Amazon AgentCore Bedrock Gateway e Policy nelle risorse AgentCore
Entrambi i ruoli hanno scopi diversi e richiedono autorizzazioni specifiche. Il ruolo di esecuzione del gateway richiede le autorizzazioni per eseguire le operazioni di Amazon Bedrock AgentCore Gateway, mentre il ruolo di gestione delle risorse richiede le autorizzazioni per configurare e gestire Amazon Bedrock AgentCore Gateway e la policy nelle risorse. AgentCore
Ruolo di esecuzione del gateway
Il ruolo di esecuzione del gateway viene assunto dal servizio Amazon Bedrock AgentCore Gateway durante l'elaborazione delle richieste. Questo ruolo richiede le autorizzazioni per:
-
Valuta le politiche Cedar tramite Policy in AgentCore
-
Richiama obiettivi come le funzioni Lambda e gli endpoint API Gateway
-
Scrivi log e tracce su e CloudWatch X-Ray
-
Segreti di accesso per le configurazioni di autenticazione
Importante
Il ruolo di esecuzione deve includere queste tre autorizzazioni per utilizzare Amazon Bedrock AgentCore Gateway with Policy in:. AgentCore bedrock-agentcore:AuthorizeAction - Valuta le politiche Cedar per le decisioni di autorizzazione. bedrock-agentcore:PartiallyAuthorizeActions - Elenca gli strumenti che il chiamante è autorizzato a richiamare. bedrock-agentcore:GetPolicyEngine - Recupera la configurazione del policy engine Senza queste autorizzazioni, il Gateway non può eseguire l'autorizzazione delle policy. Ciò si manifesta in due modi: collegando un Policy Engine a un Gateway esistente si otterrà un e tutte le InternalServerException chiamate agli strumenti verranno negate per impostazione predefinita anche se sono configurate le politiche di autorizzazione.
Policy di attendibilità
Il Gateway Execution Role deve considerare attendibile il responsabile del servizio. bedrock-agentcore.amazonaws.com
Importante
Sostituisci i seguenti segnaposto: * us-east-1 con la AWS Regione * 123456789012 con l'ID dell'account AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowBedrockAgentCoreAssumeRole", "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] }
Policy di autorizzazione
Questa politica concede ad Amazon Bedrock AgentCore Gateway le autorizzazioni necessarie per valutare le politiche Cedar tramite Policy in. AgentCore Le autorizzazioni sono suddivise in due dichiarazioni secondo i principi del privilegio minimo.
Importante
Sostituisci questi segnaposto: * us-east-1 con la AWS Regione * 123456789012 con l'ID dell' AWS account * <gateway-id> con l'ID del gateway (o usa * per tutti i gateway) * <policy-engine-id> con l'ID del policy engine (o usa * per tutti i policy engine)
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyEngineConfiguration", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>" ] }, { "Sid": "PolicyEngineAuthorization", "Effect": "Allow", "Action": [ "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:PartiallyAuthorizeActions" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ] } ] }
Nota
* Potrebbero essere necessarie autorizzazioni aggiuntive a seconda del tipo di integrazione di Amazon Bedrock AgentCore Gateway (ad esempio, funzioni Lambda, endpoint API Gateway). Queste autorizzazioni non sono incluse qui poiché variano in base all'integrazione specifica. * Per la produzione: sostituisci i segnaposto con ID di risorsa specifici (ad esempio, policy-engine/my-policy-engine-id anzichépolicy-engine/<policy-engine-id>) per seguire i principi del privilegio minimo, oppure usa i caratteri jolly (*) per consentire l'accesso a tutte le risorse di quel tipo.
Autorizzazioni IAM per le politiche temporali
Le policy temporali richiedono che il Gateway diffonda l'identità della sessione del chiamante attraverso la richiesta generando un Workload Access Token (WAT). Sul flusso in entrata AWS IAM, questa nuova generazione di chiamate. GetWorkloadAccessToken Assegna il ruolo di esecuzione del gatewaybedrock-agentcore:GetWorkloadAccessToken, con ambito alla directory workload-identity del gateway. Aggiungi questa autorizzazione in aggiunta alle tre autorizzazioni Policy (AuthorizeAction,PartiallyAuthorizeActions,GetPolicyEngine) già documentate in questa pagina. Questa autorizzazione è richiesta solo quando la politica temporale è attiva (viene fornito un ID di sessione della policy ed è allegato un Policy Engine); non è necessaria quando la politica temporale è disabilitata.
Aggiungere la seguente dichiarazione alla politica di autorizzazione del Gateway Execution Role:
{ "Sid": "PolicySessionWorkloadIdentity", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetWorkloadAccessToken" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default", "arn:aws:bedrock-agentcore:us-east-1:123456789012:workload-identity-directory/default/workload-identity/<gatewayId>*" ] }
Senza questa autorizzazione, le invocazioni dello strumento hanno esito negativo nella fase di creazione del token (attivaGetWorkloadAccessToken) una volta AccessDenied abilitata la politica temporale. Per la produzione, sostituiscilo <gatewayId> con lo specifico Gateway ID per seguire i principi del privilegio minimo.
Per una panoramica di questo requisito nel contesto delle considerazioni relative alle politiche temporali, vedi Autorizzazioni IAM richieste. Autorizzazioni IAM richieste
Ruolo di gestione delle risorse
Il ruolo di gestione delle risorse viene utilizzato dagli amministratori per creare e gestire Amazon Bedrock AgentCore Gateway and Policy nelle AgentCore risorse. Questo ruolo richiede le autorizzazioni per:
-
Creare, aggiornare ed eliminare Gateway e Gateway target
-
Crea, aggiorna ed elimina Policy Engines e policy Cedar
-
Chiama il Gateway durante la creazione della policy (
InvokeGateway) in modo che Policy in AgentCore possa convalidare le azioni contenute in una dichiarazione Cedar rispetto alle funzionalità del Gateway di destinazione -
Passa il ruolo di esecuzione del gateway alle risorse di Amazon Bedrock AgentCore Gateway durante la creazione
-
Contrassegna le risorse per l'organizzazione e la gestione
-
Leggi le informazioni sui ruoli IAM per convalidare le configurazioni dei ruoli di esecuzione
Questo ruolo è separato dal ruolo di esecuzione del gateway ed è necessario solo quando si imposta o si modifica Amazon Bedrock AgentCore Gateway e Policy nelle configurazioni. AgentCore
Policy di autorizzazione
Importante
Sostituisci questi segnaposto: * us-east-1 con la AWS regione * con l'ID dell'account 123456789012 AWS
{ "Version": "2012-10-17", "Statement": [ { "Sid": "GatewayManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreateGateway", "bedrock-agentcore:UpdateGateway", "bedrock-agentcore:GetGateway", "bedrock-agentcore:DeleteGateway", "bedrock-agentcore:ListGateways", "bedrock-agentcore:InvokeGateway", "bedrock-agentcore:CreateGatewayTarget", "bedrock-agentcore:UpdateGatewayTarget", "bedrock-agentcore:GetGatewayTarget", "bedrock-agentcore:DeleteGatewayTarget", "bedrock-agentcore:ListGatewayTargets" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] }, { "Sid": "PolicyEngineManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePolicyEngine", "bedrock-agentcore:UpdatePolicyEngine", "bedrock-agentcore:GetPolicyEngine", "bedrock-agentcore:DeletePolicyEngine", "bedrock-agentcore:ListPolicyEngines" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*" ] }, { "Sid": "PolicyManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:CreatePolicy", "bedrock-agentcore:UpdatePolicy", "bedrock-agentcore:GetPolicy", "bedrock-agentcore:DeletePolicy", "bedrock-agentcore:ListPolicies" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*/policy/*" ] }, { "Sid": "PolicyGeneration", "Effect": "Allow", "Action": [ "bedrock-agentcore:StartPolicyGeneration", "bedrock-agentcore:GetPolicyGeneration", "bedrock-agentcore:ListPolicyGenerations", "bedrock-agentcore:ListPolicyGenerationAssets" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*/policy-generation/*" ] }, { "Sid": "IAMPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/*BedrockAgentCore*" ], "Condition": { "StringEquals": { "iam:PassedToService": "bedrock-agentcore.amazonaws.com" } } }, { "Sid": "IAMReadAccess", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies" ], "Resource": [ "arn:aws:iam::123456789012:role/*" ] }, { "Sid": "PolicyScopeManagement", "Effect": "Allow", "Action": [ "bedrock-agentcore:ManageResourceScopedPolicy", "bedrock-agentcore:ManageAdminPolicy" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] } ] }
Importante
bedrock-agentcore:InvokeGatewayè necessario per creare o aggiornare le politiche Cedar, non solo per richiamare il Gateway in fase di esecuzione. CreatePolicye UpdatePolicy convalida le azioni contenute nella tua dichiarazione Cedar rispetto al Gateway, un'operazione autorizzata secondo il Gateway ARNInvokeGateway. Senza di essa, la politica passa a con. CREATE_FAILED Insufficient permissions to call gateway with ID <gateway-id>
Importante
Le ManageAdminPolicy azioni ManageResourceScopedPolicy e sono porte di sola autorizzazione che controllano i tipi di policy Cedar che gli amministratori possono creare: * ManageResourceScopedPolicy - Concede il permesso di creare policy Cedar destinate a specifici ARN di gateway (ad esempio, policy applicabili a) * ManageAdminPolicy - Concede il permesso di creare policy Cedar con caratteri jolly (ad esempio, policy che si applicano a gateway/*gateway/my-gateway-123) Entrambe le autorizzazioni sono necessarie per la piena funzionalità di gestione delle policy. Non si tratta di operazioni API, ma piuttosto di controlli di autorizzazione che determinano l'ambito delle politiche Cedar che possono essere create tramite le API di gestione delle policy.
Nota
Sebbene il campo Resource sia incluso per motivi di coerenza, queste azioni di sola autorizzazione limitano principalmente la funzionalità a livello di azione anziché a livello di risorsa.
Quando sono necessari gli aggiornamenti dei ruoli?
Determina se è necessario aggiungere una policy in materia di AgentCore autorizzazioni al ruolo di esecuzione di Amazon Bedrock AgentCore Gateway in base alla modalità di creazione di Amazon Bedrock AgentCore Gateway.
- Scenario 1: Gateway creato con CLI AgentCore
-
Stato: azione richiesta
La AgentCore CLI crea un ruolo di esecuzione del gateway con autorizzazioni specifiche per l'invocazione della destinazione e l'autenticazione in uscita, ma non include la Policy nelle autorizzazioni. AgentCore È necessario aggiungere manualmente le
GetPolicyEngineautorizzazioniAuthorizeActionPartiallyAuthorizeActions, e documentate in questa guida al ruolo di esecuzione del gateway. - Scenario 2: ruolo di esecuzione personalizzato
-
Stato: azione richiesta
I ruoli IAM personalizzati richiedono l'aggiunta manuale della Policy nelle AgentCore autorizzazioni documentata in questa guida. Segui le politiche di autorizzazione nelle sezioni precedenti.
- Scenario 3: Least-Privilege configurazione della produzione
-
Stato: azione richiesta
Per gli ambienti di produzione, definisci la Policy in termini di AgentCore autorizzazioni per ARN di risorse specifiche anziché utilizzare caratteri jolly. Sostituisci policy-engine/* e gateway/* con il motore di policy e gli ID gateway specifici nelle tue politiche di autorizzazione.
Risoluzione dei problemi
Questa sezione tratta i problemi più comuni durante la configurazione delle autorizzazioni IAM per Amazon Bedrock Gateway con Policy in. AgentCore AgentCore
InternalServerException Durante la valutazione delle politiche
Sintomo: Gateway ritorna InternalServerException - Policy evaluation failed quando si collega un Policy Engine a un Gateway esistente e tutte le chiamate agli strumenti vengono negate per impostazione predefinita anche con i criteri di autorizzazione configurati.
Causa principale: nel ruolo di esecuzione del gateway manca la policy richiesta nelle autorizzazioni. AgentCore Senza queste autorizzazioni, il Gateway non può eseguire l'autorizzazione delle policy.
Soluzione: assicurati che il ruolo di esecuzione del gateway includa queste tre autorizzazioni:
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:PartiallyAuthorizeActions", "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:REGION:ACCOUNT:policy-engine/*", "arn:aws:bedrock-agentcore:REGION:ACCOUNT:gateway/*" ] }
Nota
Se colleghi un Policy Engine a un gateway esistente utilizzando la console Policy Engine, le autorizzazioni IAM potrebbero non essere aggiornate automaticamente. È necessario aggiungere manualmente queste autorizzazioni al ruolo del Service-Linked gateway.
«Autorizzazioni insufficienti per chiamare il gateway» su CreatePolicy
Sintomo: CreatePolicy restituisce apolicyId, ma la policy passa quindi a CREATE_FAILED withInsufficient permissions to call gateway with ID <gateway-id>, anche quando il Gateway Execution Role haAuthorizeAction,PartiallyAuthorizeActions, e. GetPolicyEngine
Causa principale: il divario riguarda il ruolo di gestione delle risorse che chiamaCreatePolicy, non il ruolo di esecuzione del gateway. La convalida delle policy chiama il Gateway (autorizzato comebedrock-agentcore:InvokeGateway); l'errore nomina il Gateway ma la correzione riguarda il ruolo di creazione delle policy.
Soluzione: aggiungere bedrock-agentcore:InvokeGateway (con ambito all'ARN del gateway) al ruolo di gestione delle risorse:
{ "Effect": "Allow", "Action": [ "bedrock-agentcore:InvokeGateway" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ] }
Guasti silenziosi in modalità LOG_ONLY
Sintomo: il Policy Engine sembra funzionare in modalità LOG_ONLY ma fallisce silenziosamente senza messaggi di errore appropriati.
Causa principale: bedrock-agentcore:GetPolicyEngine l'autorizzazione mancante causa errori silenziosi che si manifestano solo quando si passa alla modalità ENFORCED.
Soluzione: includete sempre il ruolo bedrock-agentcore:GetPolicyEngine di esecuzione del gateway, anche quando utilizzate la modalità LOG_ONLY per i test.
Errore relativo al Policy Engine non trovato
Sintomo: Amazon Bedrock AgentCore Gateway restituisce errori che indicano che non è in grado di trovare o accedere al motore delle policy.
Causa principale: la policy del Gateway Execution Role utilizza modelli ARN errati o manca la risorsa del motore delle policy.
Soluzione: assicurati che sia il motore delle policy che gli ARN del gateway siano inclusi nell'array di risorse:
"Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/<policy-engine-id>", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/<gateway-id>" ]
Nota
Entrambi PartiallyAuthorizeActions richiedono l'accesso AuthorizeAction SIA al motore delle policy che alle risorse del gateway.
Suggerimenti per il debug
-
Abilita CloudWatch i log: configura la registrazione dettagliata per Amazon Bedrock AgentCore Gateway per acquisire i dettagli di valutazione delle policy
-
Rivedi X-Ray le tracce: controlla AWS X-Ray le tracce per identificare dove i controlli di autorizzazione falliscono
-
Inizia con la modalità LOG_ONLY: utilizza inizialmente la modalità LOG_ONLY per testare le politiche Cedar senza bloccare le richieste
-
Verifica tutte e quattro le autorizzazioni: assicurati che e e siano
AuthorizeActiontutte presentiPartiallyAuthorizeActionsGetPolicyEngine -
Passa alla modalità ENFORCED: solo dopo aver verificato che tutte le autorizzazioni funzionino in modalità LOG_ONLY, passa alla modalità ENFORCED
Esempio: creazione di entrambi i ruoli IAM
L'esempio seguente dimostra come creare entrambi i ruoli IAM richiesti utilizzando la AWS CLI.
Fase 1: creazione del ruolo di esecuzione del gateway
# Create the trust policy file cat > gateway-trust-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "bedrock-agentcore.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:*" } } } ] } EOF # Create the IAM role aws iam create-role \ --role-name MyGatewayExecutionRole \ --assume-role-policy-document file://gateway-trust-policy.json
Passaggio 2: attribuire le autorizzazioni al ruolo di esecuzione del gateway
# Create the permission policy file cat > gateway-permissions.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyEngineConfiguration", "Effect": "Allow", "Action": [ "bedrock-agentcore:GetPolicyEngine" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*" ] }, { "Sid": "PolicyEngineAuthorization", "Effect": "Allow", "Action": [ "bedrock-agentcore:AuthorizeAction", "bedrock-agentcore:PartiallyAuthorizeActions" ], "Resource": [ "arn:aws:bedrock-agentcore:us-east-1:123456789012:policy-engine/*", "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/*" ] } ] } EOF # Attach the policy to the role aws iam put-role-policy \ --role-name MyGatewayExecutionRole \ --policy-name GatewayPolicyEnginePermissions \ --policy-document file://gateway-permissions.json
Nota
Questo esempio mostra solo la Policy nelle AgentCore autorizzazioni. È necessario aggiungere autorizzazioni aggiuntive per le destinazioni Amazon Bedrock AgentCore Gateway (Lambda, API Gateway, ecc.) in base ai requisiti di integrazione specifici.
Fase 3: Passaggi successivi
Dopo aver configurato il ruolo di esecuzione con le AgentCore autorizzazioni Policy richieste, procedi con la creazione e la configurazione delle risorse Policy. Per una guida dettagliata, fare riferimento a:
-
Creazione di un Policy Engine: consulta la sezione Creare un Policy Engine
-
Scrittura delle politiche Cedar - Consulta il Cedar Policy Language Reference
Best practice
-
Usa ruoli separati: mantieni ruoli distinti per l'esecuzione e la gestione delle risorse di Amazon Bedrock AgentCore Gateway
-
Applica il privilegio minimo: inizia con ARN di risorse specifiche anziché con caratteri jolly in produzione
-
Esegui il test con la modalità LOG_ONLY: verifica sempre l'integrazione del policy engine in modalità LOG_ONLY prima di applicare le policy
-
Abilita il monitoraggio: configura i CloudWatch log e la traccia per la risoluzione dei problemi e l' X-Ray osservabilità
-
Politiche di controllo della versione: memorizza le politiche Cedar nel controllo della versione insieme al codice dell'infrastruttura
-
Usa i tag delle risorse: applica i tag per organizzare e gestire Amazon Bedrock AgentCore Gateway and Policy nelle risorse AgentCore
-
Controlli di sicurezza regolari: rivedi periodicamente le politiche IAM per assicurarti che seguano i principi del privilegio minimo