View a markdown version of this page

Geltungsbereich der Richtlinie - Amazon Grundgestein AgentCore

Geltungsbereich der Richtlinie

Der Geltungsbereich definiert, wofür die Richtlinie gilt. Jede Cedar-Richtlinie spezifiziert drei Komponenten:

permit( principal is AgentCore::OAuthUser, // WHO is making the request action == AgentCore::Action::"...", // WHAT they want to do resource is AgentCore::Gateway::"..." // WHICH resource they want to access )

Entitäten und Namespaces

Cedar verwendet Entitäten, um Prinzipien, Aktionen und Ressourcen darzustellen. Alle Entitäten in AgentCore Gateway verwenden den AgentCore Namespace.

Format der Entität: Namespace::EntityType::"identifier"

Auftraggeber

Der Principal identifiziert die Entität, die die Autorisierungsanfrage stellt. Der Prinzipaltyp hängt davon ab, wie Ihr AgentCore Gateway für die Authentifizierung konfiguriert ist.

OAuth-Benutzerprinzipal

Bei Verwendung der OAuth-Autorisierung ist der Principal ein: AgentCore::OAuthUser

principal is AgentCore::OAuthUser

Komponenten:

  • principal- Die Entität, die die Autorisierungsanfrage stellt

  • AgentCore::OAuthUser- Entitätstyp, der OAuth-authenticated Benutzer repräsentiert

  • is- Operator zur Typüberprüfung (entspricht einer beliebigen OAuthUser Entität)

Principals sind OAuth-authenticated Benutzer. Jeder Benutzer hat eine eindeutige ID aus dem JWT-Unteranspruch.

Prinzipal der IAM-Entität

Bei Verwendung der AWS_IAM-Autorisierung ist der Principal ein: AgentCore::IamEntity

principal is AgentCore::IamEntity

Komponenten:

  • principal- Die Entität, die die Autorisierungsanfrage stellt

  • AgentCore::IamEntity- Entitätstyp, der IAM-authenticated Anrufer darstellt

  • is- Geben Sie den Operator für die Typprüfung ein (entspricht einem beliebigen IamEntity)

IAM-Prinzipale haben ein id Attribut, das den IAM-ARN des Aufrufers enthält. Sie können den Musterabgleich für dieses Attribut verwenden, um eine konto- oder rollenbasierte Zugriffskontrolle zu implementieren.

Action

Die Aktion spezifiziert den Vorgang, der angefordert wird:

action == AgentCore::Action::"RefundTool___process_refund"

Komponenten:

  • action- Die angeforderte Operation

  • AgentCore::Action::"RefundTool___process_refund"- Spezifische Aktionseinheit

  • ==- Exact-Match-Operator (nur diese spezielle Aktion)

Aktionen stellen Tool-Aufrufe im MCP AgentCore Gateway dar. Jedes Tool hat eine entsprechende Aktionsentität.

Aktionsnamen nach Zieltyp

Die Aktions-ID in Ihrer Richtlinie hängt vom Zieltyp ab, der auf Ihrem Gateway konfiguriert ist:

Zieltyp Format der Aktion Beispiel

MCP

<TargetName>___<ToolName>

NotesTool___manage_notes

AgentCore Laufzeit

<TargetName>___<METHOD>:/invocations

StrandsAgentTarget___POST:/invocations

Proxy (HTTP)

<TargetName>___<METHOD>:<uri>

MyAPI___POST:/inference/v1/chat/completions

Mehrere Aktionen

Cedar unterstützt keine Wildcard-Aktionen. Jede Aktion muss explizit mit der genauen Aktions-ID (AgentCore::Action::"ToolName___operation") referenziert werden. Um mehrere Tools unter einer einzigen Regel zu gruppieren, verwenden Sie ein Gateway-Ziel (eine Aktionsgruppe) und schreiben Sie Richtlinien für dieses Ziel.

Um beispielsweise nur Tools Zugriff zu gewähren, deren Namen mit Read beginnen, können Sie einen Gateway-Zielnamen erstellen ReadToolsTarget , der jedes dieser Tools enthält, und dann eine Richtlinie wie die folgende schreiben:

permit( principal, action in AgentCore::Action::"ReadToolsTarget", resource == AgentCore::Gateway::"<gateway-arn>" );

Dadurch werden je nach Wirkung der Richtlinie alle Tools zugelassen, die in diesem Ziel enthalten sind.

Ressource

Die Ressource identifiziert das Ziel der Anfrage:

resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"

Komponenten:

  • resource- Das Ziel der Anfrage

  • AgentCore::Gateway- Entitätstyp, der Gateway-Instanzen darstellt

  • ==- Exact-Match-Operator (entspricht diesem spezifischen AgentCore Gateway)

Das AgentCore Gateway ist der MCP-Server, der Tool-Aufrufe weiterleitet.

Anforderungen an die Spezifität von Ressourcen

Wenn Sie eine oder mehrere spezifische Aktionen angeben, müssen Sie bestimmte AgentCore Gateway-ARNs verwenden:

// Required: Specific Gateway ARN for specific action(s) resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"

Dies gilt in folgenden Fällen:

  • Einzelne Aktion: action == AgentCore::Action::"ToolName"

  • Mehrere spezifische Aktionen: action in [AgentCore::Action::"Tool1", AgentCore::Action::"Tool2"]

Verwenden Sie Typprüfungen nur, wenn eine Aktion zutrifft:

// For policies covering any action (not specific tools) resource is AgentCore::Gateway

Beispiele:

// Blocks all actions forbid(principal, action, resource); // Allow any CallTool action permit(principal, action in AgentCore::Action::"CallTool", resource is AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway");

Spezifische AgentCore Gateway-ARNs bieten:

  • Sicherheitsisolierung zwischen AgentCore Gateway-Instanzen

  • Trennung von Produktions- und Entwicklungsumgebungen

  • Fine-grained Zugriffskontrolle pro AgentCore Gateway