Context
PR #61 ships Stage 7 phase 2: OIDC issuer in the Rust broker, AWS-cred wiring through provisioner-scripts, and the operator-side bring-up (DNS + EIP + nginx + certbot + AWS OIDC provider registration). The federation infrastructure is in place; the end-to-end isolation proof is deferred to this issue.
What's done (in PR #61)
What's deferred to this issue
The cloud-enforced PrincipalTag isolation property — "a JWT for wallet A can read s3://bucket/A/ but never s3://bucket/B/" — needs an end-to-end live test before we can call Stage 7 federation truly complete:
The first AccessDenied is the property Stage 6's static-IAM path can't prove. Until that test passes against real AWS, federation is wired but unproven.
Why deferred
Auth is the upstream blocker. Until the broker can reliably authenticate a session bearer to a specific wallet (currently any auth_token is accepted by the mock-server stub — see #63), running the federation acceptance test is meaningless: any caller could mint a session for any wallet, so PrincipalTag isolation isn't actually being tested.
Once auth lands (either Option A or Option C path), the federation acceptance test becomes a one-afternoon validation step.
Related
🤖 Generated with Claude Code
Context
PR #61 ships Stage 7 phase 2: OIDC issuer in the Rust broker, AWS-cred wiring through provisioner-scripts, and the operator-side bring-up (DNS + EIP + nginx + certbot + AWS OIDC provider registration). The federation infrastructure is in place; the end-to-end isolation proof is deferred to this issue.
What's done (in PR #61)
/.well-known/openid-configurationathttps://broker.litentry.orgwith the correctissclaim./.well-known/jwks.jsonwith ES256 P-256 key + stablekid.POST /v1/mint-oidc-jwtissues short-lived JWTs.arn:aws:iam::429071895007:oidc-provider/broker.litentry.org.What's deferred to this issue
The cloud-enforced PrincipalTag isolation property — "a JWT for wallet A can read s3://bucket/A/ but never s3://bucket/B/" — needs an end-to-end live test before we can call Stage 7 federation truly complete:
agentkeys-data-roletrust policy to the federated variant (replaces static IAM-user trust). Per cloud-setup.md §4.3.The first AccessDenied is the property Stage 6's static-IAM path can't prove. Until that test passes against real AWS, federation is wired but unproven.
Why deferred
Auth is the upstream blocker. Until the broker can reliably authenticate a session bearer to a specific wallet (currently any
auth_tokenis accepted by the mock-server stub — see #63), running the federation acceptance test is meaningless: any caller could mint a session for any wallet, so PrincipalTag isolation isn't actually being tested.Once auth lands (either Option A or Option C path), the federation acceptance test becomes a one-afternoon validation step.
Related
🤖 Generated with Claude Code