Conversation
pyropy
added this pull request to stack #71
September 10, 2026 16:10
Hilt binds an access key to a principal, and Ingot needs to know which principal a key belongs to so it can drop the caches it holds for that principal when a policy changes. Add an optional principal field to the results of /s3/request/authorize and /s3/bucket/info. A key that is not bound to a principal, such as a tenant-wide service credential, omits the field, so an absent field and an empty identifier stay distinguishable on the wire. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
pyropy
force-pushed
the
srdjan/feat/iam-principal-field
branch
from
September 11, 2026 09:03
4087054 to
e056eb8
Compare
pyropy
marked this pull request as ready for review
September 11, 2026 12:40
alanshaw
reviewed
Sep 14, 2026
| // Principal is the identifier of the principal the access key is bound to, | ||
| // unique within the tenant. It is nil for a service key, which carries its | ||
| // own permissions and buckets and is bound to no principal. | ||
| Principal *string `cborgen:"principal,omitempty" dagjsongen:"principal,omitempty"` |
Member
There was a problem hiding this comment.
What is a "principal"? In UCAN a principal is some agent identified by a DID. What are we actually referring to here?
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
AuthorizeOKandInfoOKgain an optionalprincipal: access key is bound to the principal, absent for a service key. Ingot indexes its per-key caches by tenant and principal from this field. Additive on the wire;/s3/bucket/createsharesAuthorizeOKand carries it too. Part of the Forge S3 tenant IAM work (RFC).Change log
Principal *stringonAuthorizeOKandInfoOK, codecs regenerated馃 Generated with Claude Code