View a markdown version of this page

Restrições do esquema - Amazon Bedrock AgentCore

Restrições do esquema

As políticas do Amazon Bedrock AgentCore Gateway devem ser validadas em relação a um esquema Cedar específico que é gerado automaticamente a partir do manifesto da ferramenta MCP do Gateway. Esse esquema define o que é possível em suas políticas.

Tipos principais

O tipo principal depende do método de autenticação configurado para seu AgentCore Gateway:

AgentCore::OAuthUser
  • Usado para OAuth-authenticated gateways

  • Tem um id atributo (da subafirmação do JWT)

  • Suporta tags para declarações do OAuth (nome de usuário, escopo, função etc.)

AgentCore::IamEntity
  • Usado para IAM-authenticated gateways (autorizador AWS_IAM)

  • Tem um id atributo contendo o ARN do IAM do chamador

  • Não suporta tags; use a correspondência de padrões ativada principal.id para controle de acesso

Tipo de recurso

  • Deve ser AgentCore::Gateway

  • Representa a instância do MCP Gateway

  • Pode ser combinado por tipo (is) ou == ARN específico ()

  • É necessário usar ARNs específicos para se referir a ações específicas

Ações

  • Cada ferramenta MCP se torna uma ação: AgentCore::Action::"ToolName"

  • Todas as ações da ferramenta são herdadas da hierarquia CallTool → Mcp

  • Exemplo: Action::"RefundTool___process_refund" é um CallTool

Contexto

  • Somente o contexto disponível é context.input

  • Contém os parâmetros de entrada da ferramenta conforme definido no manifesto MCP

  • Cada ferramenta tem uma estrutura de entrada digitada (por exemplo, RefundTool ___process_refundInput)

  • Os tipos de parâmetros são mapeados automaticamente do esquema JSON para os tipos Cedar:

    • string → String

    • inteiro → Longo

    • booleano → Bool

    • número → Decimal

O que você não pode fazer

  • Não é possível referenciar tipos de entidade fora do AgentCore namespace

  • Não é possível acessar campos de contexto que não sejam context.input (só context.output pode ser usado com grades de proteção)

  • Não é possível usar atributos personalizados em OAuthUser (em vez disso, use tags)

  • Não é possível definir novos tipos de entidade nas políticas