s3: document s3:ExistingObjectTag support and feature status

Update policy engine documentation:

- Add s3:ExistingObjectTag/<tag-key> to supported condition keys
- Add 'Object Tag-Based Access Control' section with examples
- Add 'Feature Status' section with implemented and planned features

Planned features for future implementation:
- s3:RequestObjectTag/<key>
- s3:RequestObjectTagKeys
- s3:x-amz-server-side-encryption
- Cross-account access
This commit is contained in:
chrislu committed 2025-12-09 00:09:36 -08:00
1 parent a3739c9c8c
commit 50eba1ecf8
6 files changed
+122 -21

No files matched your search

+1 -3
View File
@@ -582,9 +582,7 @@ func (iam *IdentityAccessManagement) authRequest(r *http.Request, action Action)
// - No policy or indeterminate → fall through to IAM checks
if iam.policyEngine != nil && bucket != "" {
principal := buildPrincipalARN(identity)
// Evaluate bucket policy with request context for accurate action resolution
// Note: objectEntry is nil here as we don't have the entry at auth time
// For tag-based conditions to work, the caller should re-evaluate with entry after fetching it
// Evaluate bucket policy (objectEntry nil - not yet fetched at auth time)
allowed, evaluated, err := iam.policyEngine.EvaluatePolicy(bucket, object, string(action), principal, r, nil)
if err != nil {