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 la passerelle. 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
idattribut (issu de la sous-réclamation JWT) -
Supporte les balises pour les demandes OAuth (nom d'utilisateur, portée, rôle, etc.)
-
-
AgentCore::IamEntity -
-
Utilisé pour les IAM-authenticated passerelles (autorisateur AWS_IAM)
-
Possède un
idattribut contenant l'ARN IAM de l'appelant -
Ne prend pas en charge les balises ; utilisez la correspondance de modèles activée
principal.idpour 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 JSON aux types Cedar :
-
chaîne → Chaîne
-
entier → Long
-
boolean → Bool
-
nombre → Décimal
-
Ce que vous ne pouvez pas faire
-
Impossible de référencer les types d'entités en dehors de l'espace AgentCore de noms
-
Impossible d'accéder aux champs contextuels autres que
context.input(necontext.outputpeuvent être utilisés 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