View a markdown version of this page

Vincoli di schema - 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à.

Vincoli di schema

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

Tipi principali

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

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

  • Ha un id attributo (tratto dalla rivendicazione secondaria JWT)

  • Supporta i tag per le affermazioni 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 on 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 ad 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 come definiti nel manifesto MCP

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

  • I tipi di parametro vengono mappati automaticamente dallo schema di azione ai tipi Cedar.

La tabella seguente mostra la corrispondenza tra i 7 tipi di schema JSON di base e i tipi Cedar:

Schema JSON Cedro Note

string

String

integer

Long

boolean

Bool

number

Decimal

Decimal è un tipo di estensione in Cedar, che non corrisponde esattamente ai numeri in virgola mobile IEEE, quindi i numeri verranno troncati nella rappresentazione in Cedar

object

Record

La corrispondenza tra i tipi viene applicata ricorsivamente alle proprietà e l'elenco delle proprietà viene utilizzato per decidere quali required proprietà del record sono obbligatorie

array

Set

Cedar Set non ha una nozione di ordine degli elementi, quindi l'ordine degli elementi nell'array JSON non viene tradotto in Cedar

null

Entity

Poiché Cedar non ha una corrispondenza 1:1 per un tipo che è uniconull, gli schemi conterranno un'entità univoca per rappresentare ogni tipo null

Considera questa tabella come una panoramica di alto livello. Per ulteriori informazioni su casi d'uso dettagliati e dettagliati, consultate il generatore di schemi MCP open source su. GitHub

Cosa non puoi fare

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

  • Non può accedere a campi di contesto diversi da context.input (context.outputpuò essere utilizzato solo con i guardrail)

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

  • Impossibile definire nuovi tipi di entità nelle politiche