View a markdown version of this page

Vincoli di schema - Amazon Bedrock AgentCore

Vincoli di schema

Le policy per Amazon Bedrock AgentCore Gateway devono essere convalidate rispetto a uno schema Cedar specifico che viene generato automaticamente dal manifesto dello strumento MCP del Gateway. Questo schema definisce ciò che è possibile nelle tue politiche.

Tipi principali

Il tipo principale dipende dal metodo di autenticazione configurato per il AgentCore gateway:

AgentCore::OAuthUser
  • Utilizzato per i OAuth-authenticated gateway

  • Ha un id attributo (da JWT sub claim)

  • Supporta i tag per le attestazioni OAuth (nome utente, ambito, ruolo, ecc.)

AgentCore::IamEntity
  • Utilizzato per i IAM-authenticated gateway (autorizzatore AWS_IAM)

  • Ha un id attributo contenente l'ARN IAM del chiamante

  • Non supporta i tag; utilizza il pattern matching attivo principal.id per il controllo degli accessi

Tipo di risorsa

  • Deve essere AgentCore::Gateway

  • Rappresenta l'istanza MCP Gateway

  • Può essere abbinato per tipo (is) o == ARN specifico ()

  • È necessario utilizzare ARN specifici per fare riferimento a azioni specifiche

Azioni

  • Ogni strumento MCP diventa un'azione: AgentCore::Action::"ToolName"

  • Tutte le azioni dello strumento ereditano dalla gerarchia CallTool → Mcp

  • Esempio: è un Action::"RefundTool___process_refund" CallTool

Contesto

  • L'unico contesto disponibile è context.input

  • Contiene i parametri di input dello strumento definiti nel manifesto MCP

  • Ogni strumento ha una struttura di input tipizzata (ad esempio ___process_refundInput) RefundTool

  • I tipi di parametri vengono mappati automaticamente dallo schema JSON ai tipi Cedar:

    • stringa → Stringa

    • intero → Lungo

    • booleano → Bool

    • numero → Decimale

Cosa non puoi fare

  • Non è possibile fare riferimento a tipi di entità al di fuori dello AgentCore spazio dei nomi

  • Impossibile accedere a campi contestuali diversi da context.input (context.outputpuò essere utilizzato solo con guardrail)

  • Non è possibile utilizzare attributi personalizzati su OAuthUser (utilizzare invece i tag)

  • Impossibile definire nuovi tipi di entità nelle politiche