Conversation
pyropy
added this pull request to stack #135
September 10, 2026 16:21
A key granted only s3:PutObject could read and abort on the same bucket: s3perm maps that permission to a command set containing every command s3:GetObject, s3:ListBucket and s3:AbortMultipartUpload need, and the fast path decided on a chain probe alone. The authorize response's effective action set is now cached under the bucket hilt named, with the same expiry as the derived keys and the tenant. authorizeLocal reports authorized, denied or undecided: it refuses an action the cached set excludes with AccessDenied, and defers to hilt whenever no set is cached or the operation maps to no Forge command. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
pyropy
force-pushed
the
srdjan/feat/iam-enforce-actions
branch
from
September 11, 2026 12:42
c756269 to
a2a886d
Compare
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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
The fast path enforces the effective action set. A key granted only
s3:PutObjectcould read, list and abort multipart uploads on the same bucket, because that permission's command set covers those actions and the fast path decided on a chain probe alone. The authorize response'spermissionsis now cached per bucket and an action outside it is refused withAccessDenied; no cached set means Hilt decides. Part of the Forge S3 tenant IAM work (RFC).Change log
authorizeLocalreturns a denial alongside the existing ok result; set cached on the Hilt pathTestPutOnlyKeyIsDeniedOnReadspins the defect; no set, empty set, action outside set🤖 Generated with Claude Code