Skip to content

[release-1.13] Add descriptive error message when SSE-C is denied on S3 buckets (cherry-pick #318) - #321

Open
kaovilai wants to merge 1 commit into
velero-io:release-1.13from
kaovilai:cherry-pick-318-to-release-1.13
Open

[release-1.13] Add descriptive error message when SSE-C is denied on S3 buckets (cherry-pick #318)#321
kaovilai wants to merge 1 commit into
velero-io:release-1.13from
kaovilai:cherry-pick-318-to-release-1.13

Conversation

@kaovilai

Copy link
Copy Markdown
Member

Cherry-pick of #318 to release-1.13.

Original PR: #318

release-1.13 predates the buildPutObjectInput refactor (that helper doesn't exist on this branch), so PutObject's conditional-error-wrap was applied directly to its existing inline s3.PutObjectInput construction instead of pulling in that refactor. Test-side, only the three tests PR #318 itself actually adds (TestWrapSSECError, TestObjectExists_SSECAccessDenied, TestGetObject_SSECAccessDenied) were kept — TestCreateSignedURL*/TestBuildPutObjectInput are unrelated pre-existing main content tied to that same refactor and don't apply here.

Note

Responses generated with Claude

…ero-io#318)

As of April 2026, AWS disables SSE-C by default on new S3 buckets.
Users configuring customerKeyEncryptionFile or customerKeyEncryptionSecret
will get a generic AccessDenied 403 error with no indication of the root
cause. This change detects AccessDenied errors when SSE-C is configured
and wraps them with guidance on how to enable SSE-C on the bucket using
PutBucketEncryption, or switch to SSE-KMS as an alternative.

Also updates documentation to note the April 2026 SSE-C bucket requirement
and recommend SSE-KMS for users who do not need customer-managed keys.

Fixes #9762

Signed-off-by: Shubham Pampattiwar <spampatt@redhat.com>
(cherry picked from commit 3eb40b5)
Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
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.

2 participants