Harden production authorization and service auth
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a0217e-8c4c-7383-be6b-f50a6e485306
This commit is contained in:
parent
f579f3761c
commit
70371649af
20 changed files with 1268 additions and 54 deletions
11
docs/cli.md
11
docs/cli.md
|
|
@ -38,6 +38,7 @@ secrets-engine --version
|
|||
| `SECRETS_ENGINE_HUB_URL` | `http://127.0.0.1:8000` | State Hub for decisions + evidence (empty to disable) |
|
||||
| `SECRETS_ENGINE_CATALOG` | `./catalog` | catalog directory |
|
||||
| `SECRETS_ENGINE_EVIDENCE` | `./.evidence` | local non-secret evidence log |
|
||||
| `SECRETS_ENGINE_UNSAFE_DEMO` | _(unset)_ | allow a prod-labeled lane only when Hub is disabled and OpenBao is loopback; throwaway demos only |
|
||||
|
||||
## Commands
|
||||
|
||||
|
|
@ -67,7 +68,11 @@ var the token is injected under, per the netkingdom publication-scope policy
|
|||
`<ref>` is a catalog id or a decision/CCR ref (matched against
|
||||
`approval.decision_ref`). `plan` and `apply --dry-run` never mutate OpenBao.
|
||||
For decision-gated lanes they may render with `decision: <none>` when the
|
||||
approval object is not reachable; non-dry-run `apply` remains decision-gated.
|
||||
approval object is not reachable. Production live commands remain disabled
|
||||
until State Hub exposes the durable exact-action authorization object. A legacy
|
||||
local decision is accepted for a prod-labeled lane only with
|
||||
`SECRETS_ENGINE_UNSAFE_DEMO=1`, an empty Hub URL, and loopback OpenBao; the demo
|
||||
scripts set those three conditions themselves.
|
||||
|
||||
`handoff` is for `kind: auth-capability` lanes such as `warden-sign`. It mints a
|
||||
fresh AppRole `secret_id` and writes `role_id` plus `secret_id` to caller-chosen
|
||||
|
|
@ -109,8 +114,8 @@ and evidence stores only a short accessor fingerprint plus cleanup outcome.
|
|||
counts, canonical decision references, session cleanup outcomes, and State Hub
|
||||
delivery outcomes for one cataloged lane. Its parser allowlists those fields and
|
||||
does not echo arbitrary JSONL detail. State Hub failures are recorded locally as
|
||||
append-only companion receipts; they are visible but are not automatically
|
||||
replayed.
|
||||
append-only companion receipts. Edge-relay queued receipts and their non-secret
|
||||
outbox ids are recorded too; replay remains an operator/State Hub responsibility.
|
||||
|
||||
Live `apply`, `provision`, `verify`, `handoff`, `exec`, `revoke`, `suspend`, and
|
||||
`deactivate` share one evidence guard. It records an attempt before lane approval
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue