Register qonto-assistant as a protected system (finance.qonto.read)
QONTO-WP-0004-T04. Modeled directly on examples/tenant-engine/: one resource type (finance-snapshot), one action (finance.qonto.read), two registered subjects (an agent-harness session identity and the founder's human identity), and a Rego policy gating on resource.system + action + subject.type + tenant match. Tenant capability-role/plan liveness (VEN/CUS) is deliberately NOT encoded here -- that's qonto-assistant's separate tenant-engine live-lookup check, per this package's own scope note. Verified: flex-auth test-policy (6 rego tests + 6 fixtures, all pass), load-registry, and CLI check for both an allow and a deny case. Also verified end-to-end over real HTTP: a live flex-auth serve loaded with this exact registry+policy, hit by qonto-assistant's actual FlexAuthCheckClient (not a mock) -- allow for tenant:friendly:binky, deny (wrong_tenant) for a mismatched tenant. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
0061835d3a
commit
ae295824bd
8 changed files with 510 additions and 0 deletions
15
examples/qonto-assistant/check_request_allow_read.json
Normal file
15
examples/qonto-assistant/check_request_allow_read.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"id": "check:qonto-assistant-read-t1",
|
||||
"tenant": "tenant:friendly:binky",
|
||||
"subject": {
|
||||
"id": "agent-harness-binky",
|
||||
"type": "agent"
|
||||
},
|
||||
"action": "finance.qonto.read",
|
||||
"resource": {
|
||||
"id": "finance-snapshot",
|
||||
"type": "finance-snapshot",
|
||||
"system": "qonto-assistant"
|
||||
},
|
||||
"context": {}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue