View a markdown version of this page

Use chaves de condição do IAM com configurações de AgentCore VPC - Amazon Bedrock AgentCore

Use chaves de condição do IAM com configurações de AgentCore VPC

Use as chaves de AgentCore-specific condição do Amazon Bedrock para configurações de VPC para controlar com mais precisão as permissões para AgentCore seus recursos. Por exemplo, exija que todos os tempos de execução em sua organização estejam conectados a uma VPC ou imponha que os destinos do gateway sejam implantados em sub-redes aprovadas. Especifique as sub-redes e os grupos de segurança que os usuários podem e não podem usar.

AgentCore é compatível com as seguintes chaves de condição nas políticas do IAM:

  • bedrock-agentcore:subnets — Permitir ou negar uma ou mais sub-redes.

  • Bedrock-AgentCore:SecurityGroups — Permitir ou negar um ou mais grupos de segurança.

As seguintes operações da API AgentCore Control Plane oferecem suporte a essas chaves de condição:

  • AgentCore tempo de execução e ferramentas integradasCreateAgentRuntimeUpdateAgentRuntime,CreateCodeInterpreter, e CreateBrowser

  • AgentCore GatewayCreateGatewayTarget e UpdateGatewayTarget (ao configurar um recurso de VPC gerenciado para um destino)

Para obter mais informações sobre o uso de chaves de condição nas políticas do IAM, consulte Elementos de política JSON do IAM: condição no Guia do usuário do IAM. Para obter mais informações sobre as chaves de condição do Gateway, consulte Usar chaves de condição do IAM com o Amazon Bedrock AgentCore Gateway.

Políticas de exemplo com chaves de condição para configurações de VPC

Os exemplos a seguir demonstram como usar chaves de condição para configurações de VPC. Crie uma declaração de política com as restrições desejadas e, em seguida, anexe a declaração de política ao usuário ou função de destino.

Exija que os usuários implantem somente VPC-connected tempos de execução e ferramentas

Para exigir que todos os usuários implantem somente o VPC-connected AgentCore Runtime e as ferramentas integradas, negue as operações de criação e atualização de ferramentas e de tempo de execução que não incluam sub-redes e grupos de segurança válidos.

{ "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" } } }

Imponha que os usuários usem somente sub-redes e grupos de segurança específicos

Para garantir que os usuários usem somente sub-redes e grupos de segurança aprovados específicos, use o operador ForAnyValue set with. StringNotEquals A condição retornará verdadeira se qualquer um dos valores da chave de contexto na solicitação não corresponder aos valores da chave de contexto na política, negando solicitações que incluam valores não aprovados. O exemplo a seguir impõe que os usuários só possam usar subnet-0123456789abcdef0 e subnet-0123456789abcdef1 para sub-redes sg-0123456789abcdef0 e sg-0123456789abcdef1 para grupos de segurança.

[ { "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"] } } } ]

Negar aos usuários o acesso a sub-redes ou grupos de segurança específicos

Para negar aos usuários o acesso a sub-redes e grupos de segurança específicos, use o operador ForAnyValue set with. StringEquals A condição retornará verdadeira se qualquer um dos valores da chave de contexto na solicitação corresponder a qualquer um dos valores da chave de contexto na política. O exemplo a seguir nega aos usuários o acesso às subnet-0123456789abcdef0 e subnet-0123456789abcdef1 para sub-redes sg-0123456789abcdef0 e sg-0123456789abcdef1 para grupos de segurança.

[ { "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"] } } } ]