Skip to content

feat(iam): cache the effective S3 action set per bucket - #132

Closed
pyropy wants to merge 1 commit into
mainfrom
srdjan/feat/iam-permission-set
Closed

pyropy wants to merge 1 commit into
mainfrom
srdjan/feat/iam-permission-set

Conversation

@pyropy

@pyropy pyropy commented Sep 10, 2026 •

Copy link
Copy Markdown

Description

DelegationCache, the per-access-key proof store, gains a TTL'd effective action set per bucket. Permits reports whether a cached set allows an action and whether any set is cached, so a caller with no set defers to Hilt. No caller yet. Part of the Forge S3 tenant IAM work (RFC).

Change log

  • PutPermissions and Permits on DelegationCache
  • Tests: put, hit, miss, empty set denies, nil caches nothing, expiry, per-bucket isolation

🤖 Generated with Claude Code

DelegationCache gains a TTL'd per-bucket action set alongside the
delegation index. Permits reports whether a cached set allows an action
and whether a set is cached at all, so a caller with no set defers to
Hilt instead of deciding. The set is keyed by the bucket DID Hilt named
and lives in the same per-access-key store as the chains, so an
invalidation drops both.

No caller yet; the fast path starts consulting it in the next change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@pyropy
pyropy added this pull request to stack #135 September 10, 2026 16:21
alanshaw added a commit that referenced this pull request Sep 14, 2026
@pyropy

pyropy commented Sep 15, 2026

Copy link
Copy Markdown
Author

Superseded by the per-key marker design in fil-one/RFC#30 (f61f474): no principal invalidation record; markers are revoked through the existing /ucan/revoke. Branch kept.

@pyropy pyropy closed this Sep 15, 2026
@pyropy
pyropy removed this pull request from stack #135 September 15, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant