View a markdown version of this page

Usa le chiavi delle condizioni IAM con le AgentCore impostazioni VPC - Amazon Bedrock AgentCore

Usa le chiavi delle condizioni IAM con le AgentCore impostazioni VPC

Utilizza le chiavi di AgentCore-specific condizione di Amazon Bedrock per le impostazioni VPC per controllare con maggiore precisione le autorizzazioni per le tue risorse. AgentCore Ad esempio, richiedi che tutti i runtime dell'organizzazione siano collegati a un VPC o imponi che gli obiettivi del gateway vengano distribuiti in sottoreti approvate. Specificate le sottoreti e i gruppi di sicurezza che gli utenti possono e non possono utilizzare.

AgentCore supporta le seguenti chiavi di condizione nelle politiche IAM:

  • bedrock-agentcore:subnets — Consenti o nega una o più sottoreti.

  • Bedrock-AgentCore:SecurityGroups — Consenti o nega uno o più gruppi di sicurezza.

Le seguenti operazioni dell'API Control Plane supportano queste chiavi di condizione: AgentCore

  • AgentCore runtime e strumenti integratiCreateAgentRuntimeUpdateAgentRuntime,CreateCodeInterpreter, e CreateBrowser

  • AgentCore Gateway CreateGatewayTarget e UpdateGatewayTarget (quando si configura una risorsa VPC gestita per una destinazione)

Per ulteriori informazioni sull'utilizzo delle chiavi di condizione nelle policy IAM, consulta IAM JSON Policy Elements: Condition in the IAM User Guide. Per ulteriori informazioni sulle chiavi di condizione di Gateway, consulta Utilizzare le chiavi di condizione IAM con Amazon Bedrock AgentCore Gateway.

Policy di esempio con chiavi di condizione per le impostazioni VPC

Negli esempi seguenti viene illustrato come utilizzare le chiavi di condizione per le impostazioni VPC. Crea una dichiarazione politica con le restrizioni desiderate, quindi allegala all'utente o al ruolo di destinazione.

Richiedi che gli utenti distribuiscano solo VPC-connected runtime e strumenti

Per richiedere che tutti gli utenti implementino solo VPC-connected AgentCore Runtime e gli strumenti integrati, nega le operazioni di runtime e creazione e aggiornamento degli strumenti che non includono sottoreti e gruppi di sicurezza validi.

{ "Sid": "EnforceVPCRuntime", "Action": [ "bedrock-agentcore:CreateAgentRuntime", "bedrock-agentcore:UpdateAgentRuntime", "bedrock-agentcore:CreateCodeInterpreter", "bedrock-agentcore:CreateBrowser" ], "Effect": "Deny", "Resource": "*", "Condition": { "Null": { "bedrock-agentcore:subnets": "true", "bedrock-agentcore:securityGroups": "true" } } }

Imponi agli utenti di utilizzare solo sottoreti e gruppi di sicurezza specifici

Per far sì che gli utenti utilizzino solo sottoreti e gruppi di sicurezza approvati specifici, usa l'operatore set con. ForAnyValue StringNotEquals La condizione restituisce true se uno qualsiasi dei valori della chiave di contesto nella richiesta non corrisponde ai valori della chiave di contesto nella politica, negando le richieste che includono valori non approvati. L'esempio seguente impone agli utenti di utilizzare subnet-0123456789abcdef0 e solo subnet-0123456789abcdef1 per sottoreti e per gruppi di sicurezza. sg-0123456789abcdef0 sg-0123456789abcdef1

[ { "Sid": "DenyIfNotSpecificSubnets", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateAgentRuntime", "bedrock-agentcore:UpdateAgentRuntime", "bedrock-agentcore:CreateCodeInterpreter", "bedrock-agentcore:CreateBrowser" ], "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "bedrock-agentcore:subnets": ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"] } } }, { "Sid": "DenyIfNotSpecificSecurityGroups", "Effect": "Deny", "Action": [ "bedrock-agentcore:CreateAgentRuntime", "bedrock-agentcore:UpdateAgentRuntime", "bedrock-agentcore:CreateCodeInterpreter", "bedrock-agentcore:CreateBrowser" ], "Resource": "*", "Condition": { "ForAnyValue:StringNotEquals": { "bedrock-agentcore:securityGroups": ["sg-0123456789abcdef0", "sg-0123456789abcdef1"] } } } ]

Negare agli utenti l'accesso a sottoreti o gruppi di sicurezza specifici

Per negare agli utenti l'accesso a sottoreti e gruppi di sicurezza specifici, usa l'operatore set with. ForAnyValue StringEquals La condizione restituisce true se uno qualsiasi dei valori della chiave di contesto nella richiesta corrisponde a uno qualsiasi dei valori della chiave di contesto nella politica. L'esempio seguente nega agli utenti l'accesso a subnet-0123456789abcdef0 e subnet-0123456789abcdef1 per le sottoreti sg-0123456789abcdef0 e sg-0123456789abcdef1 per i gruppi di sicurezza.

[ { "Sid": "EnforceOutOfSubnet", "Action": [ "bedrock-agentcore:CreateAgentRuntime", "bedrock-agentcore:UpdateAgentRuntime", "bedrock-agentcore:CreateCodeInterpreter", "bedrock-agentcore:CreateBrowser" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "bedrock-agentcore:subnets": ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"] } } }, { "Sid": "EnforceOutOfSecurityGroups", "Action": [ "bedrock-agentcore:CreateAgentRuntime", "bedrock-agentcore:UpdateAgentRuntime", "bedrock-agentcore:CreateCodeInterpreter", "bedrock-agentcore:CreateBrowser" ], "Effect": "Deny", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "bedrock-agentcore:securityGroups": ["sg-0123456789abcdef0", "sg-0123456789abcdef1"] } } } ]