View a markdown version of this page

Verwenden Sie IAM-Bedingungsschlüssel mit AgentCore VPC-Einstellungen - Amazon Grundgestein AgentCore

Verwenden Sie IAM-Bedingungsschlüssel mit AgentCore VPC-Einstellungen

Verwenden Sie Amazon Bedrock AgentCore-specific Condition Keys für VPC-Einstellungen, um die Berechtigungen für Ihre AgentCore Ressourcen genauer zu steuern. Erfordern Sie beispielsweise, dass alle Laufzeiten in Ihrer Organisation mit einer VPC verbunden sind, oder erzwingen Sie, dass Gateway-Ziele in zugelassenen Subnetzen bereitgestellt werden. Geben Sie die Subnetze und Sicherheitsgruppen an, die Benutzer verwenden können und welche nicht.

AgentCore unterstützt die folgenden Bedingungsschlüssel in IAM-Richtlinien:

  • bedrock-agentcore:subnets — Erlaubt oder verweigert ein oder mehrere Subnetze.

  • bedrock-agentCore:SecurityGroups — Erlauben oder verweigern Sie eine oder mehrere Sicherheitsgruppen.

Die folgenden AgentCore Control Plane-API-Operationen unterstützen diese Bedingungsschlüssel:

  • AgentCore Laufzeit und integrierte ToolsCreateAgentRuntimeUpdateAgentRuntime,CreateCodeInterpreter, und CreateBrowser

  • AgentCore GatewayCreateGatewayTarget und UpdateGatewayTarget (bei der Konfiguration einer verwalteten VPC-Ressource für ein Ziel)

Weitere Informationen zur Verwendung von Bedingungsschlüsseln in IAM-Richtlinien finden Sie unter IAM-JSON-Richtlinienelemente: Bedingung im IAM-Benutzerhandbuch. Weitere Informationen zu Gateway-Bedingungsschlüsseln finden Sie unter Verwenden von IAM-Bedingungsschlüsseln mit Amazon Bedrock AgentCore Gateway.

Beispielrichtlinien mit Bedingungsschlüsseln für VPC-Einstellungen

In den folgenden Beispielen wird gezeigt, wie Bedingungsschlüssel für VPC-Einstellungen verwendet werden. Erstellen Sie eine Richtlinienerklärung mit den gewünschten Einschränkungen und fügen Sie die Richtlinienerklärung dann dem Zielbenutzer oder der Zielrolle bei.

Erfordern Sie, dass Benutzer nur VPC-connected Laufzeiten und Tools bereitstellen

Um zu verlangen, dass alle Benutzer nur VPC-connected AgentCore Runtime und integrierte Tools bereitstellen, verweigern Sie Runtime- und Tool-Erstellungs- und Aktualisierungsvorgänge, die keine gültigen Subnetze und Sicherheitsgruppen enthalten.

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

Erzwingen Sie, dass Benutzer nur bestimmte Subnetze und Sicherheitsgruppen verwenden

Um zu erzwingen, dass Benutzer nur bestimmte zugelassene Subnetze und Sicherheitsgruppen verwenden, verwenden Sie den ForAnyValue Set-Operator with. StringNotEquals Die Bedingung gibt „true“ zurück, wenn einer der Kontextschlüsselwerte in der Anfrage nicht mit den Kontextschlüsselwerten in der Richtlinie übereinstimmt. Anfragen, die nicht genehmigte Werte enthalten, werden abgelehnt. Das folgende Beispiel erzwingt, dass Benutzer nur subnet-0123456789abcdef0 und subnet-0123456789abcdef1 für Subnetze und und für Sicherheitsgruppen verwenden können. 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"] } } } ]

Verweigern Sie Benutzern den Zugriff auf bestimmte Subnetze oder Sicherheitsgruppen

Um Benutzern den Zugriff auf bestimmte Subnetze und Sicherheitsgruppen zu verweigern, verwenden Sie den ForAnyValue Set-Operator with. StringEquals Die Bedingung gibt „true“ zurück, wenn einer der Kontextschlüsselwerte in der Anforderung mit einem der Kontextschlüsselwerte in der Richtlinie übereinstimmt. Im folgenden Beispiel wird Benutzern der Zugriff auf subnet-0123456789abcdef0 und subnet-0123456789abcdef1 für Subnetze sg-0123456789abcdef0 und sg-0123456789abcdef1 Sicherheitsgruppen verweigert.

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