View a markdown version of this page

Ambito della politica - Fondamento Amazon AgentCore

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ambito della politica

L'ambito definisce a cosa si applica la politica. Ogni politica Cedar specifica tre componenti:

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à e namespace

Cedar utilizza le entità per rappresentare i principi, le azioni e le risorse. Tutte le entità in AgentCore Gateway utilizzano il AgentCore namespace.

Formato dell'entità: Namespace::EntityType::"identifier"

Principale

Il principale identifica l'entità che effettua la richiesta di autorizzazione. Il tipo principale dipende dalla configurazione del AgentCore Gateway per l'autenticazione.

Principio utente OAuth

Quando si utilizza l'autorizzazione OAuth, il principale è: AgentCore::OAuthUser

principal is AgentCore::OAuthUser

Componenti:

  • principal- L'entità che effettua la richiesta di autorizzazione

  • AgentCore::OAuthUser- Tipo di entità che rappresenta OAuth-authenticated gli utenti

  • is- Operatore di controllo del tipo (corrisponde a qualsiasi OAuthUser entità)

I principali sono OAuth-authenticated utenti. Ogni utente ha un ID univoco derivante dalla rivendicazione secondaria JWT.

Entità principale IAM

Quando si utilizza l'autorizzazione AWS_IAM, l'entità principale è: AgentCore::IamEntity

principal is AgentCore::IamEntity

Componenti:

  • principal- L'entità che effettua la richiesta di autorizzazione

  • AgentCore::IamEntity- Tipo di entità che rappresenta i IAM-authenticated chiamanti

  • is- Operatore di controllo del tipo (corrisponde a qualsiasi IamEntity operatore)

I principali IAM hanno un id attributo contenente l'ARN IAM del chiamante. Puoi utilizzare il pattern matching su questo attributo per implementare il controllo degli accessi basato sull'account o sui ruoli.

Azione

L'azione specifica l'operazione richiesta:

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

Componenti:

  • action- L'operazione richiesta

  • AgentCore::Action::"RefundTool___process_refund"- Entità d'azione specifica

  • ==- Operatore di corrispondenza esatta (solo questa azione specifica)

Le azioni rappresentano le chiamate agli strumenti nel AgentCore gateway MCP. Ogni strumento ha un'entità di azione corrispondente.

Nomi delle azioni per tipo di destinazione

L'identificatore dell'azione nella policy dipende dal tipo di destinazione configurato sul gateway:

Target type (Tipo di destinazione) Formato dell'azione Esempio

MCP

<TargetName>___<ToolName>

NotesTool___manage_notes

AgentCore Runtime

<TargetName>___<METHOD>:/invocations

StrandsAgentTarget___POST:/invocations

Proxy (HTTP)

<TargetName>___<METHOD>:<uri>

MyAPI___POST:/inference/v1/chat/completions

Azioni multiple

Cedar non supporta le azioni con caratteri jolly. Ogni azione deve essere referenziata in modo esplicito utilizzando l'identificatore esatto dell'azione (). AgentCore::Action::"ToolName___operation" Per raggruppare più strumenti in un'unica regola, utilizzate un Gateway Target (un Action Group) e scrivete politiche relative a tale destinazione.

Ad esempio, per consentire l'accesso solo agli strumenti il cui nome inizia con Read, puoi creare un Gateway Target chiamato ReadToolsTarget che includa ciascuno di questi strumenti e quindi scrivere una policy come:

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

Ciò consentirà a tutti gli strumenti inclusi in tale destinazione a seconda dell'effetto della politica.

Risorsa

La risorsa identifica l'obiettivo della richiesta:

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

Componenti:

  • resource- L'obiettivo della richiesta

  • AgentCore::Gateway- Tipo di entità che rappresenta le istanze del gateway

  • ==- Operatore di corrispondenza esatta (corrisponde a questo AgentCore gateway specifico)

Il AgentCore Gateway è il server MCP che indirizza le chiamate agli strumenti.

Requisiti di specificità delle risorse

Quando si specificano una o più azioni specifiche, è necessario utilizzare ARN AgentCore Gateway specifici:

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

Questo approccio si applica a:

  • Azione singola: action == AgentCore::Action::"ToolName"

  • Azioni specifiche multiple: action in [AgentCore::Action::"Tool1", AgentCore::Action::"Tool2"]

Usa i controlli di tipo solo quando abbini un'azione:

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

Esempi:

// 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");

Gli ARN AgentCore Gateway specifici forniscono:

  • Isolamento di sicurezza tra le istanze AgentCore Gateway

  • Separazione degli ambienti di produzione e sviluppo

  • Fine-grained controllo degli accessi per AgentCore gateway