View a markdown version of this page

Utilice claves de condición de IAM con la configuración de AgentCore VPC - Amazon Bedrock AgentCore

Utilice claves de condición de IAM con la configuración de AgentCore VPC

Utilice las claves de AgentCore-specific condición de Amazon Bedrock para la configuración de la VPC a fin de controlar con mayor precisión los permisos de sus recursos. AgentCore Por ejemplo, exija que todos los tiempos de ejecución de su organización estén conectados a una VPC o exija que los destinos de puerta de enlace se desplieguen en las subredes aprobadas. Especifique las subredes y los grupos de seguridad que los usuarios pueden y no pueden usar.

AgentCore admite las siguientes claves de condición en las políticas de IAM:

  • bedrock-agentcore:subnets: permite o deniega una o más subredes.

  • Bedrock-AgentCore:SecurityGroups: permite o deniega uno o más grupos de seguridad.

Las siguientes operaciones de la API de AgentCore Control Plane admiten estas claves de condición:

  • AgentCore tiempo de ejecución y herramientas integradas: CreateAgentRuntimeUpdateAgentRuntime,CreateCodeInterpreter, y CreateBrowser

  • AgentCore Gateway CreateGatewayTarget y UpdateGatewayTarget (al configurar un recurso de VPC gestionado para un destino)

Para obtener más información sobre el uso de claves de condición en las políticas de IAM, consulte Elementos de la política JSON de IAM: condición en la guía del usuario de IAM. Para obtener más información sobre las claves de condición de Gateway, consulte Uso de claves de condición de IAM con Amazon Bedrock AgentCore Gateway.

Políticas de ejemplo con claves de condición para la configuración de la VPC

En los ejemplos siguientes se muestra cómo utilizar claves de condición para la configuración de la VPC. Cree una declaración de política con las restricciones deseadas y, a continuación, adjúntela al usuario o rol objetivo.

Exija que los usuarios implementen únicamente VPC-connected tiempos de ejecución y herramientas

Para exigir que todos los usuarios implementen únicamente VPC-connected AgentCore herramientas integradas y de ejecución, deniegue las operaciones de ejecución y creación de herramientas que no incluyan subredes y grupos de seguridad 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" } } }

Imponga a los usuarios que utilicen únicamente subredes y grupos de seguridad específicos

Para obligar a los usuarios a utilizar únicamente subredes y grupos de seguridad aprobados específicos, utilice el operador ForAnyValue set con. StringNotEquals La condición vuelve a ser verdadera si alguno de los valores de la clave de contexto de la solicitud no coincide con los valores de la clave de contexto de la política, por lo que se rechazan las solicitudes que incluyen valores no aprobados. El siguiente ejemplo exige que los usuarios solo puedan usar subnet-0123456789abcdef0 y subnet-0123456789abcdef1 para las subredes y para los grupos de sg-0123456789abcdef0 seguridadsg-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"] } } } ]

Denegue a los usuarios el acceso a subredes o grupos de seguridad específicos

Para denegar a los usuarios el acceso a subredes y grupos de seguridad específicos, utilice el operador ForAnyValue set con. StringEquals La condición vuelve a ser verdadera si alguno de los valores de la clave de contexto de la solicitud coincide con alguno de los valores de la clave de contexto de la política. El siguiente ejemplo deniega a los usuarios el acceso a subnet-0123456789abcdef0 y subnet-0123456789abcdef1 para las subredes sg-0123456789abcdef0 y sg-0123456789abcdef1 a los grupos de seguridad.

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