View a markdown version of this page

Contraintes de schéma - Base rocheuse de l'Amazonie AgentCore

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contraintes de schéma

Les politiques d'Amazon Bedrock AgentCore Gateway doivent être validées par rapport à un schéma Cedar spécifique généré automatiquement à partir du manifeste de l'outil MCP de Gateway. Ce schéma définit ce qui est possible dans vos politiques.

Principaux types

Le type principal dépend de la méthode d'authentification configurée pour votre AgentCore passerelle :

AgentCore::OAuthUser
  • Utilisé pour les OAuth-authenticated passerelles

  • Possède un id attribut (issu de la sous-réclamation JWT)

  • Supporte les balises pour les requêtes OAuth (nom d'utilisateur, champ d'application, rôle, etc.)

AgentCore::IamEntity
  • Utilisé pour les IAM-authenticated passerelles (autorisateur AWS_IAM)

  • Possède un id attribut contenant l'ARN IAM de l'appelant

  • Ne prend pas en charge les balises ; utilisez la correspondance de modèles activée principal.id pour le contrôle d'accès

Type de ressource

  • Doit être AgentCore::Gateway

  • Représente l'instance de passerelle MCP

  • Peut être mis en correspondance par type (is) ou par ARN spécifique (==)

  • Doit utiliser des ARN spécifiques pour faire référence à des actions spécifiques

Actions

  • Chaque outil MCP devient une action : AgentCore::Action::"ToolName"

  • Toutes les actions de l'outil héritent de la hiérarchie CallTool → Mcp

  • Exemple : Action::"RefundTool___process_refund" est un CallTool

Contexte

  • Seul le contexte disponible est context.input

  • Contient les paramètres d'entrée de l'outil tels que définis dans le manifeste MCP

  • Chaque outil possède une structure d'entrée typée (par exemple, RefundTool ___Process_RefundInput)

  • Les types de paramètres sont automatiquement mappés du schéma d'action aux types Cedar.

Le tableau suivant montre la correspondance entre les 7 types de schéma JSON de base et les types Cedar :

Schéma JSON Cèdre Remarques

string

String

integer

Long

boolean

Bool

number

Decimal

Decimal est un type d'extension dans Cedar, qui ne correspond pas exactement aux nombres à virgule flottante IEEE. Les nombres seront donc tronqués à la représentation en cèdre

object

Record

La correspondance de type est appliquée de manière récursive aux propriétés, et la liste des required propriétés est utilisée pour décider quelles propriétés de l'enregistrement sont requises

array

Set

Cedar Set n'a pas de notion d'ordre des articles, donc l'ordre des éléments dans le tableau JSON n'est pas traduit en Cedar

null

Entity

Comme Cedar n'a pas de correspondance 1:1 pour un type uniquementnull, les schémas contiendront une entité unique pour représenter chaque type null

Considérez ce tableau comme une vue d'ensemble de haut niveau. Pour plus d'informations sur les cas d'utilisation détaillés et nuancés, consultez le générateur de schéma MCP open source sur. GitHub

Ce que tu ne peux pas faire

  • Impossible de référencer des types d'entités en dehors de l'espace AgentCore de noms

  • Impossible d'accéder aux champs contextuels autres que context.input (ne context.output peut être utilisé qu'avec des garde-corps)

  • Impossible d'utiliser des attributs personnalisés sur OAuthUser (utilisez plutôt des balises)

  • Impossible de définir de nouveaux types d'entités dans les politiques