Dogwoodのポリシーは、現在のリクエストだけでなく、セッション内におけるエージェントの行動履歴全体を考慮して判断を下します。ポリシーエンジンは過去のツール呼び出しとその応答を記録し、履歴に照らし合わせてから現在の呼び出しを許可または拒否します
。
| 演算子 | 目的 |
|---|---|
formerly | セッション内で、ある条件が過去に真だったかを確認する |
count_within | 指定した時間枠内で、ある条件が発生した回数をカウントする |
count_distinct_within | 時間枠内で出現したフィールドの値の種類(ユニーク値)をカウントする |
sum_within | 時間枠内のイベントにおける数値フィールドの合計を計算する |
since | 最後に特定のイベントが発生してからの条件をチェックする |
once | 条件が一度でも発生したかをチェックする |
これらの演算子により、「支払いアクションは、formerly(過去に)請求書アクションが発生していなければ禁止する」といったルールや、「sum_within(amount, 1h)。時間ポリシーは標準的なCedarルール(
permit/forbid)として記述され、条件部分を temporal { ... }。
時間ポリシーは、エージェントのコードの外部にあるAgentCore Gateway層で強制実行されます。ゲートウェイはすべてのツール呼び出しをリアルタイムで傍受し、セッション全体のイベント履歴に対してポリシーを評価してから、呼び出しを許可または拒否します
。
この認可判断は、エージェントが変更できないインフラ(境界)で行われるため、プロンプト操作、ジェイルブレイク、エージェントが制御するコードによって回避することは原理的に不可能です。AWSは、ポリシーが「AgentCore Gatewayの境界、エージェント自身のコードの外側」で実行されると明言しており、エージェントが自身の指示を書き換えても影響を受けません
。ポリシーエンジンは、ブロックせずに監査のみを行うLOG_ONLYモードと、積極的に拒否するENFORCEモードの2つをサポートしています
。
Dogwoodは、2026年8月6日に発表されたAmazon Bedrock AgentCoreに時間ポリシー(Temporal Policies) として統合されています。これと同時に、ゲートウェイでのレート制限機能も発表されました。
Bedrock AgentCoreで現在利用可能な機能:
sum_withinを使ってセッションあたり60,000ドルの支出上限を強制することができます