

# スキーマの制約
<a name="policy-schema-constraints"></a>

Amazon Bedrock AgentCore Gateway のポリシーは、Gateway の MCP ツールマニフェストから自動的に生成される特定の Cedar スキーマに対して検証する必要があります。このスキーマは、ポリシーで何ができるかを定義します。

**Topics**
+ [プリンシパルタイプ](#policy-principal-type)
+ [リソースタイプ](#policy-resource-type)
+ [アクション](#policy-actions)
+ [Context](#policy-context)
+ [できないこと](#policy-limitations)

## プリンシパルタイプ
<a name="policy-principal-type"></a>

プリンシパルタイプは、AgentCore Gateway 用に設定された認証方法によって異なります。

 `AgentCore::OAuthUser`   
+ OAuth 認証ゲートウェイに使用されます
+ `id` 属性がある (JWT サブクレームから)
+ OAuth クレーム (ユーザー名、スコープ、ロールなど) のタグをサポート

 `AgentCore::IamEntity`   
+ IAM 認証ゲートウェイ (AWS\_IAM オーソライザー) に使用されます
+ 発信者の IAM ARN を含む`id`属性がある
+ タグをサポートしていません。アクセスコントロール`principal.id`には でパターンマッチングを使用します

## リソースタイプ
<a name="policy-resource-type"></a>
+ `AgentCore::Gateway` を指定してください 
+ MCP Gateway インスタンスを表します
+ タイプ ( ) `is` または特定の ARN ( ) `==` で一致可能
+ 特定のアクションを参照するには、特定の ARNs を使用する必要があります

## アクション
<a name="policy-actions"></a>
+ 各 MCP ツールは アクションになります。 `AgentCore::Action::"ToolName"`
+ すべてのツールアクションが CallTool → Mcp 階層から継承されます
+ 例: `Action::"RefundTool___process_refund"`は CallTool です

## Context
<a name="policy-context"></a>
+ 使用可能なコンテキストは のみです。 `context.input`
+ MCP マニフェストで定義されているツールの入力パラメータが含まれます
+ 各ツールには型付き入力構造があります (例: RefundTool\_\_\_process\_refundInput)
+ パラメータタイプは、JSON スキーマから Cedar タイプに自動的にマッピングされます。
  + 文字列 → 文字列
  + 整数 → ロング
  + ブール値 → ブール値
  + 数値 → 10 進数

## できないこと
<a name="policy-limitations"></a>
+ AgentCore 名前空間の外部でエンティティタイプを参照できない
+ 以外のコンテキストフィールドにアクセスできません `context.input` (`context.output`ガードレールでのみ使用できます)
+ OAuthUser でカスタム属性を使用できない (代わりにタグを使用する)
+ ポリシーで新しいエンティティタイプを定義できない