railiance-platform/credential-change-requests/CCR-2026-0044-reuse-surface-hub-writer-caller.yaml
codex 64292531ce
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Record the CCR-2026-0044 metadata apply.
The delegated applier wrote the caller policy and auth/netkingdom role. No secret value was read or written.

Assistant: grok
Assistant-Session: 01a13b2d-5f6d-7a32-b2c9-384625c55ca6
2026-10-14 19:48:47 +02:00

144 lines
6.4 KiB
YAML

id: CCR-2026-0044
kind: credential-change-request
schema_version: 1
request_type: workload-kv-read
title: Name the dedicated reuse-surface hub-writer caller
status: applied
created: '2026-10-14'
updated: '2026-10-14'
requester:
agent: ops-mason
reason: CUST-WP-0081 / State Hub message 08b254af. CCR-2026-0005 is active and does
not name a caller. Entity 4a1f663c-0621-0483-edd0-f852274f4b6b carries default,
operator-custody and platform-admin, so its token can reach the data path, the
metadata path and siblings. Do not attach workload-kv-read-reuse-surface-runtime
to that entity. Bind a new OIDC role to a different principal. No secret value
is rotated or read by this request.
review:
required: true
required_approvers:
- platform-operator
- reuse-surface-owner
comments:
- at: '2026-10-14T16:40:00Z'
reviewer: grok
decision: filed_proposed
comment: Filed from ops-mason fd2c5a5 (State Hub 3642bdc4, MASON-WP-0011). Status
stays proposed. bound_claims_confirmed stays false until key-cape confirms group
reuse-surface-hub-writers and a member entity other than 4a1f663c-0621-0483-edd0-f852274f4b6b.
The caller policy file is unchanged; apply, after platform-operator and reuse-surface-owner
approval, is what adds lookup-self and revoke-self. CCR-2026-0005 remains the
KV and ESO authority. No KV write and no attachment to the platform-admin entity.
- at: '2026-10-14T17:44:49+00:00'
reviewer: platform-operator, reuse-surface-owner (founder Bernd Worsch)
decision: approved
comment: Founder go-ahead 2026-10-14. Approves CCR-2026-0044 as platform-operator
and reuse-surface-owner. Group reuse-surface-hub-writers, member bernd.worsch-3,
second factor enrolled, entity f94b7c34-e151-30bb-b473-df3ccdbb9bf1. That entity
is not 4a1f663c-0621-0483-edd0-f852274f4b6b. No KV write. Do not attach the
policy to the admin entity.
- at: '2026-10-14T17:44:49+00:00'
reviewer: founder Bernd Worsch
decision: binding_confirmed
comment: Bound claims are groups=reuse-surface-hub-writers and /assurance/level=aal2.
Member is bernd.worsch-3, entity f94b7c34-e151-30bb-b473-df3ccdbb9bf1. The apply
checks that entity's policy names and stops if platform-admin or operator-custody
is present.
target:
domain: financials
tenant: reuse
workload: reuse-surface
environment: production
purpose: Attended read of the existing hub writer token by one dedicated caller.
openbao:
mount: platform
kv_path: platform/workloads/reuse/reuse-surface/runtime-secrets
fields:
- REUSE_SURFACE_TOKEN
- REUSE_SURFACE_FORGEJO_WEBHOOK_SECRET
policy_name: workload-kv-read-reuse-surface-runtime
policy_file: openbao/policies/workload-kv-read-reuse-surface-runtime.hcl
metadata_read: true
token_self_lifecycle: true
auth:
method: oidc
mount: netkingdom
role: reuse-surface-hub-writer-workload-kv-read
allowed_redirect_uris:
- http://localhost:8250/oidc/callback
- http://127.0.0.1:8250/oidc/callback
- http://127.0.0.1:18200/ui/vault/auth/netkingdom/oidc/callback
oidc_scopes:
- openid
- profile
- email
- groups
user_claim: sub
groups_claim: groups
bound_claims_type: string
bound_claims:
groups:
- reuse-surface-hub-writers
/assurance/level: aal2
bound_claims_confirmed: true
policies:
- workload-kv-read-reuse-surface-runtime
ttl: 15m
token_max_ttl: 30m
token_explicit_max_ttl: 30m
token_no_default_policy: true
token_type: service
access_frontdoor:
type: ops-warden
catalog_id: reuse-surface-hub-write-token
selector: reuse-surface federation hub write bearer token
command: After a passing member receipt, run warden access reuse-surface-hub-write-token
--exec --field REUSE_SURFACE_TOKEN -- <silent helper> with the unprinted lane
token. Do not use --fetch.
resolvable: false
readiness: pending-review
risk:
classification: high
notes:
- REUSE_SURFACE_TOKEN writes to the production federation hub. This request does
not read or rotate it.
- The platform-admin entity must not receive this policy. OpenBao merges entity
policies into every token for that entity.
- The ESO policy workload-kv-read-reuse-surface-runtime-eso stays on its Kubernetes
role. This role does not attach it.
- bound_claims_confirmed stays false until key-cape confirms group reuse-surface-hub-writers
and a member entity other than 4a1f663c-0621-0483-edd0-f852274f4b6b.
- Public bao.coulomb.social ingress is not a callback. Use the workstation tunnel.
verification:
positive:
- A member token's policy set is exactly workload-kv-read-reuse-surface-runtime.
- That token's capabilities are read on the exact data path and the exact metadata
path.
negative:
- The same token is deny on platform/data/workloads/reuse/reuse-surface, its metadata
parent, and platform/data/workloads/issue-core/issue-core/issue-core-runtime.
- A principal outside reuse-surface-hub-writers is refused by the role.
- Entity 4a1f663c-0621-0483-edd0-f852274f4b6b is not the member token's entity.
activation_conditions:
- platform-operator and reuse-surface-owner approve this caller binding.
- key-cape confirms the group and that the member entity has no platform-admin or
operator-custody identity policy.
- Founder applies policy and role through the delegated applier. No KV write.
- scripts/verify-reuse-surface-hub-writer.py member and non-member both pass. Receipts
stay mode 0600 and contain no token or field value.
evidence:
- at: '2026-10-14T17:47:43+00:00'
actor: founder
kind: delegated_metadata_apply
result: passed
details:
- Delegated metadata applier ran as founder using local bao CLI ambient authority.
- 'Policy metadata write: sys/policies/acl/workload-kv-read-reuse-surface-runtime'
- 'Auth role metadata write: auth/netkingdom/role/reuse-surface-hub-writer-workload-kv-read'
- No secret values were read, written, printed, or accepted in argv.
lifecycle:
deactivate: delete auth/netkingdom/role/reuse-surface-hub-writer-workload-kv-read.
Leave the KV path, the ESO role, and CCR-2026-0005 delivery in place.
rotate: unchanged from CCR-2026-0005. This request does not rotate field values.
compromised: detach the role, revoke outstanding tokens for the role, and follow
the CCR-2026-0005 compromise procedure if a field value was exposed.