ソースが接続され、アクセスマップが各エージェントの読み書き可能なものを表示したら、次の仕事はそれをガバナンスすることです: 誰と何が行動できるかを決定し、すべての決定を記録された事実にします。このページでは承認ワークフロー — リスクティア、デュアルコントロール、ブレイクグラス、それらすべてがアンカーする台帳 — をカバーします。
ガバナンスはデフォルトで deny-closed です。テナントにロールを持たないプリンシパルは拒否されます。暗黙的な付与はありません。製品は広範に観測しますが、広範にアクチュエートしません — アクションをガバナンスする場合、deny-closed で行い、無差別なエグゼキューターとしてではありません。
認可モデル
すべてのガバナンスコールは、API の残りと同じ認可コアを通過します: まず RBAC、単一テナントにスコープ、その上にオプションの外部ポリシーレイヤー。
ロールはラダーを形成します — viewer(読み取り)、editor(書き込み)、admin(テナント IAM)、owner(テナント内のすべて)。アクセスマップの閲覧は意図的に最下位ティアではありません: すべてのエージェントがアクセスできるもののマップは偵察のロードマップであるため、editor 以上に付与され、テナントスコープで、すべての読み取りが台帳に書き込まれます。
オプションのポリシー決定ポイント(組み込み Cedar、または HTTP 経由の OPA)が属性ベースのルールをレイヤーできます。交差として合成されます — RBAC ∩ ネイティブ ABAC ∩ 外部 PDP — 1つの不変条件があります:
ポリシーレイヤーはアクセスを取り除くことのみが可能で、追加することはできません。ポリシーは RBAC が許可したものを拒否できますが、RBAC が拒否したものを付与することはできません。設定ミスまたは到達不能な PDP はフェイルクローズドになり、外部 PDP の無効化がリクエストをガバナンスなしにすることはありません — ネイティブ RBAC と ABAC がガバナンスを続けます。
リスクティア
ガバナンス対象のアクションは、4つのティア — low、medium、high、critical — のいずれかに分類され、OWASP AI エージェントリスク分類から導出されます。ティアはアクションが進行する前に必要な人的コントロールの量を決定します。
ティアは承認行に保存されません。すべての決定時に現在のポリシーセットと組み込みデフォルトから再導出されるため、ポリシー変更は即座に有効になり、古いスナップショットがライブの分類以下に基準を保持することはありません(deny-closed)。
| ティア | デフォルトのコントロール |
|---|---|
low / medium | 明示的なポリシーによってのみ割り当てられる |
high | 承認キューに到達するすべてのもののデフォルト — 1人の人間の承認 |
critical | 必須の2人制フロア(下記参照) |
組み込みの critical セットは真に不可逆的なものをカバーします: 本番デプロイとリタイア、データ削除と消去、セキュリティ施行とキルスイッチの変更、鍵の管理とローテーション、NHI のオフボーディング。明示的な risk_tier を持つ承認ポリシーはアクションごとにデフォルトを上げたり下げたりできます — それはオペレーターの監査された判断です — ただし、critical なアクションをデュアルコントロールフロア以下に下げることはできません。
承認リクエストとデュアルコントロール
承認リクエストは deny-closed でタイムボックス化されて開かれます: pending で開始し、有効期限を持ち、十分な数の人間が決定するまで何も認可しません。一致する承認ポリシーが閾値とタイムアウトの権威であるため、リクエスターは自身の基準を下げることができません。
3つの不変条件が、慣習ではなくサーバーサイドで施行されます:
- 職務の分離。 リクエスターは自身のリクエストを決定できません。これは安定したユーザーIDに基づいており、1人の個人が変更できるクレデンシャル文字列ではありません。
- 1人につき1つの決定。 ユニークインデックスが重複決定者の競合を防止します。同一人物が閾値に対して二重にカウントされることはありません。
- 有効期限がバインドします。 期限切れのリクエストはバインディング決定を受け取ることができません — 有効ステータスはすべての決定で再導出されます。スイープの有無に関係なく。
critical なアクションの場合、閾値は2人の異なる人間の承認者にフロア設定されます(NIST SP 800-53 AC-3(2) デュアル認可)。フロアはリクエスト作成時(保存された閾値が2未満で開始することはできない)と決定ポイントで再適用されます(アクションがクリティカルになる前に作成されたリクエストでも1人の人間で通過できない)。単一の承認者がクリティカルなアクションを満たすことはできません。
critical な決定には追加でハードウェア検証済みセッションが必要です: 決定する人間は新しい WebAuthn または PIV ステップアップ(AAL3)を持つ必要があります。システムトークンには人間の保証がなく拒否されます — システムトークンは承認できません。
すべての決定は、リクエストの決定証跡に不変の行を追記し、決定、結果のステータス、決定が行われたリスクティアを記録する台帳イベントを追記します。
ブレイクグラス
2人制コントロールには、2人目の承認者に連絡が取れない午前3時のインシデント用のエスケープバルブがあります。admin — 常に実在の人間、システムトークンは不可 — が、ゲートされたアクションをクォーラムなしで進行させるタイムボックス化された緊急付与を有効化します。パスは暗黙的ではありません:
- 有効化には正当化理由が必要で、同一トランザクションで台帳に自己監査され、通知レールにクリティカルな発見事項を発信します。
- すべての使用は、付与、アクション、対象を名指しする不変の行と台帳イベントを追記します。ブレイクグラス下で進行したアクションは、適切に承認されたものと永続的に区別可能です。
- 付与はタイムボックス化されます — デフォルト1時間、ハードキャップ24時間。それ以上必要な「緊急事態」は運用モードであり緊急事態ではなく、通常のデュアルコントロールを経る必要があります。
- 強制的なポストレビュー。 以前の付与が未レビューの間は新しい付与を有効化できず、レビューは有効化者とは異なる人間が行う必要があります。緊急事態を積み重ねて精査を回避することはできません。
ブレイクグラスは欠けているクォーラムを緩和します。明示的な人間の拒否をオーバーライドすることはありません。誰かが意図的に拒否したリクエストは拒否のままです。
記録された決定の保証
上位のワークフローの深さに関係なく、ガバナンスの決定は記録された事実です。変更を伴うアクションは、変更と同一トランザクションで実際のアクターとともに監査台帳に追記され、機密的な読み取り(アクセスマップ、台帳自体)はコミットされた書き込みで自己監査されます。台帳が暗黙的に忘れるガバナンスされていない変更を行うことはできません。
台帳は追記専用、ハッシュチェーン化、Ed25519 署名されています。各レコードが seq、prev_hash、hash、sig を持つため、履歴の書き換えは暗号的に検出可能であり、台帳に PII は含まれません。監査人が要求する外部の不変コピーのために、台帳は /v1/audit/export で認証付きプルエクスポートとして公開されており、format 値は cef、leef、syslog、otlp、ocsf です。各エクスポートレコードはチェーン整合性フィールドを持つため、SIEM または WORM ストアがオフラインでチェーンを再検証できます — デタッチされた署名がデータベースのみの侵害から保護し、オフボックスコピーが完全に侵害されたホストから保護します。
正直なスコープ
認可コア、承認エンジン、台帳は今日稼働しています。まだ成熟中のものは、より充実したオペレーターレビューサーフェス — 完全な承認キューコンソールです。エンドポイントとサーバーサイドの不変条件は出荷済みで、洗練された UI が今後のパスです。プラットフォームの残りと同様に、これはプレ1.0 のオープンコアです: ライブのものと設計段階のものについては正直さと制限事項を読んでください。Olivares AI は SOC 2、ISO 27001、EU AI Act のコントロールに向けて設計されており、認証されてはいません。