View a markdown version of this page

Utiliser les clés de condition IAM avec les paramètres AgentCore VPC - Amazon Bedrock AgentCore

Utiliser les clés de condition IAM avec les paramètres AgentCore VPC

Utilisez les clés de AgentCore-specific condition Amazon Bedrock pour les paramètres VPC afin de contrôler plus précisément les autorisations relatives AgentCore à vos ressources. Par exemple, exigez que tous les environnements d'exécution de votre organisation soient connectés à un VPC ou exigez que les cibles de passerelle soient déployées dans des sous-réseaux approuvés. Spécifiez les sous-réseaux et les groupes de sécurité que les utilisateurs peuvent ou ne peuvent pas utiliser.

AgentCore prend en charge les clés de condition suivantes dans les politiques IAM :

  • bedrock-agentcore:subnets — Autoriser ou refuser un ou plusieurs sous-réseaux.

  • Bedrock-AgentCore:SecurityGroups — Autoriser ou refuser un ou plusieurs groupes de sécurité.

Les opérations d'API du plan de AgentCore contrôle suivantes prennent en charge ces clés de condition :

  • AgentCore environnement d'exécution et outils intégrésCreateAgentRuntimeUpdateAgentRuntime,CreateCodeInterpreter, et CreateBrowser

  • AgentCore PasserelleCreateGatewayTarget et UpdateGatewayTarget (lors de la configuration d'une ressource VPC gérée pour une cible)

Pour plus d'informations sur l'utilisation des clés de condition dans les politiques IAM, voir IAM JSON Policy Elements : Condition dans le guide de l'utilisateur IAM. Pour plus d'informations sur les clés de condition de passerelle, consultez Utiliser les clés de condition IAM avec Amazon Bedrock AgentCore Gateway.

Exemple de stratégies avec des clés de condition pour les paramètres du VPC

Les exemples suivants montrent comment utiliser les clés de condition pour les paramètres du VPC. Créez une déclaration de stratégie avec les restrictions souhaitées, puis associez-la à l'utilisateur ou au rôle cible.

Exiger que les utilisateurs déploient uniquement des environnements d' VPC-connected exécution et des outils

Pour obliger tous les utilisateurs à déployer uniquement l' VPC-connected AgentCore environnement d'exécution et les outils intégrés, refusez les opérations de création et de mise à jour de l'environnement d'exécution et d'outils qui n'incluent pas de sous-réseaux et de groupes de sécurité valides.

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

Veillez à ce que les utilisateurs n'utilisent que des sous-réseaux et des groupes de sécurité spécifiques

Pour garantir que les utilisateurs n'utilisent que des sous-réseaux et groupes de sécurité approuvés spécifiques, utilisez l'opérateur ForAnyValue set withStringNotEquals. La condition renvoie la valeur true si l'une des valeurs de clé de contexte de la demande ne correspond pas aux valeurs de clé de contexte de la politique, refusant ainsi les demandes contenant des valeurs non approuvées. L'exemple suivant montre que les utilisateurs ne peuvent utiliser subnet-0123456789abcdef0 et que subnet-0123456789abcdef1 pour les sous-réseaux sg-0123456789abcdef0 et sg-0123456789abcdef1 pour les groupes de sécurité.

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

Refuser aux utilisateurs l'accès à des sous-réseaux ou groupes de sécurité spécifiques

Pour refuser aux utilisateurs l'accès à des sous-réseaux et groupes de sécurité spécifiques, utilisez l'opérateur ForAnyValue set withStringEquals. La condition renvoie true si l'une des valeurs de clé de contexte de la demande correspond à l'une des valeurs de clé de contexte de la politique. L'exemple suivant refuse aux utilisateurs l'accès à subnet-0123456789abcdef0 et subnet-0123456789abcdef1 pour les sous-réseaux, ainsi que sg-0123456789abcdef1 pour sg-0123456789abcdef0 les groupes de sécurité.

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