# Policy Engine実装：OPA／Cedar

CURRENT_STATUS: CURRENT
OBSERVATION: SPEC_ONLY
FRESHNESS: CURRENT
PAGE_TYPE: reference
CANONICAL_URL: /tools/ea-235-policy-engine-opa-cedar
CLAIM_IDS: none
EVIDENCE_IDS: EA-235-CURRENT-APPROVAL, EA-235-CURRENT-BODY-READBACK
UNKNOWN_IDS: EA-235-UNKNOWN-01
OPS_IDS: none

## Summary
Agentのauthorizationをmodel instructionへ委ねません。OPA/RegoやCedarなどのPolicy Engineは、AIの外側でtool/action実行前にdecisionを行い、application/tool gatewayがそのdecisionを強制する構成で使用します。

## Current judgment
Agentのauthorizationをmodel instructionへ委ねません。OPA/RegoやCedarなどのPolicy Engineは、AIの外側でtool/action実行前にdecisionを行い、application/tool gatewayがそのdecisionを強制する構成で使用します。

## Scope
Policy Engine実装：OPA／Cedar

## Confirmed

## UNKNOWN
- EA-235-UNKNOWN-01: 対象engine/version/binding、policy corpus、identity source、policy distribution、tool gateway coverage、latency/failover、decision-log redaction、partial-evaluation利用、tenant residency、organization change-controlは未確認です。

## Evidence
- EA-235-CURRENT-APPROVAL (RESEARCH): 現行本文の監査・revision対応
- EA-235-CURRENT-BODY-READBACK (IMPL): 現行本文の収録照合

## Failure / limits
enforcement bypass、未保護tool、model-controlled identity/resource、allow-on-error、timeout、stale bundle/policy、version migration、malformed input、undefined value、schema drift、missing entity、evaluation error、binding差、partial-evaluation制約、誤ったpolicy synthesis、TOCTOU、sensitive decision log、rollback不能を想定します。
## Failure / limits
Policy EngineをAgentの外側のauthorization boundaryとして配置し、decisionとexecutionを必ず接続してください。tenant固有保証が必要な場合はpinned engineと実policy corpusによるsafe fixtureを追加します。
## Practice
本項は2026-10-05時点のOPA/Cedar公式資料、maintainer issue/release、独立release reproduction、一次研究に基づくdesk researchです。OPA 1.21.1/Cedar 4.13のlive binary、organization policy corpus、production tool gatewayは未検査です。
## PUBLIC_CLAIM
Agentのauthorizationをmodel instructionへ委ねません。OPA/RegoやCedarなどのPolicy Engineは、AIの外側でtool/action実行前にdecisionを行い、application/tool gatewayがそのdecisionを強制する構成で使用します。

## CONTROL_BOUNDARY
Policy Engineはdecision pointであり、単独ではenforcement pointではありません。trusted principal/workload identity、action/tool、resource、bounded context/current stateからauthorization requestを組み立て、deny/error/unknown/timeout時には実行しない経路を固定します。

Agent自身にprincipal、resource、policy version、authorization resultを自由記述させ、その値を無検証でpolicy inputへ使う構成は避けます。

## OPA_REGO
OPAはpolicy decisionをapplicationから分離できますが、OPA serverのauthentication/authorizationは既定で有効ではありません。管理APIをnetworkへ露出する場合はserver authentication/authorizationを別途設定します。

Regoのauthorization ruleは`default allow := false`等でdeny-by-defaultを明示し、undefined inputやpolicy errorをapplication側でallowへ変換しないようにします。

decision logsはdecision provenanceとdebugに利用できますが、inputを記録できるためsecret/PIIを含むfieldのredaction/minimizationが必要です。

## CEDAR
Cedarではprincipal/action/resource/contextとentity dataをauthorization requestとして評価します。schema validationはpolicyをschemaへ照合するpre-use validationであり、runtime authorization時にschemaが自動適用されるわけではありません。

applicationはrequest/entity dataがschemaの前提へ適合するよう構築または明示的にvalidationします。schema変更後は既存policyを再検証し、policy evaluation errorや欠落entityをauthorization failure envelopeへ含めます。

## VERSION_AND_CHANGE_CONTROL
policy、bundle/schema、engine、language/runtime bindingのversionをdecision provenanceへ残します。OPA/Cedarはいずれもreleaseやbindingによってvalidation・runtime・partial-evaluation surfaceが変わり得るため、upgrade時はpinned semantic corpusとnegative testsを再実行します。

LLMが生成したpolicyは未信頼candidateとして扱い、compile/validationだけでactivateしません。human-approved intent、deny/allow境界、negative tests、policy mutation test、rollbackを確認してから有効化します。

## HIGH_RISK_AGENT_ACTION
approvalからexecutionまで時間が空くwrite/actionでは、policy decision時のstateをそのまま再利用せず、必要に応じてexecution-time stateを再取得してauthorization/preconditionを再評価します。cached decisionをpolicy/state変更後も再利用しません。

## FAILURE_ENVELOPE
enforcement bypass、未保護tool、model-controlled identity/resource、allow-on-error、timeout、stale bundle/policy、version migration、malformed input、undefined value、schema drift、missing entity、evaluation error、binding差、partial-evaluation制約、誤ったpolicy synthesis、TOCTOU、sensitive decision log、rollback不能を想定します。

## OPERATING_CHECK
最低限、unknown principal/action/resource、missing identity、malformed context、stale policy version、engine error/timeoutが実行へ進まないことを検査します。policy/schema更新後のrevalidationと、high-risk delayed actionのexecution-time recheckもtestします。

audit recordはrequest id、principal、action、resource、policy/bundle/schema/engine version、decision、error classをjoin可能にし、secret-bearing raw payloadを監査証跡へ残さない設計とします。

## IMPLEMENTATION_STATE
本項は2026-10-05時点のOPA/Cedar公式資料、maintainer issue/release、独立release reproduction、一次研究に基づくdesk researchです。OPA 1.21.1/Cedar 4.13のlive binary、organization policy corpus、production tool gatewayは未検査です。

## SAFE_WORDING
「OPA/Cedarを導入した」「policyがcompile/validateした」「Agentへ禁止事項を指示した」のいずれも、単独ではauthorization correctnessの証明になりません。trusted input、default-deny/fail-closed、全execution pathでのenforcement、version pin、semantic/negative tests、decision provenance、change時の再検証を分離して確認してください。

## OPEN_UNKNOWN
対象engine/version/binding、policy corpus、identity source、policy distribution、tool gateway coverage、latency/failover、decision-log redaction、partial-evaluation利用、tenant residency、organization change-controlは未確認です。

## STOP_CONDITION
Policy EngineをAgentの外側のauthorization boundaryとして配置し、decisionとexecutionを必ず接続してください。tenant固有保証が必要な場合はpinned engineと実policy corpusによるsafe fixtureを追加します。

NEXT: /agent/start.json
STOP: This is a knowledge projection, not an execution order.