6 views
-/https://github.com/berriai/litellm/issues/33780
GitHub · issue

#33780 [Feature]: Support declaring `x-amz-server-side-encryption-aws-kms-key-id` in the `s3_v2` logging callback

  • State: open
  • Author: @jeffersoncandidozup
  • Labels: enhancement, proxy

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### The Feature

Add a new `s3_callback_params` option (e.g. `s3_server_side_encryption_kms_key_id`) to the `s3_v2` logging integration (`litellm/integrations/s3_v2.py`) that, when set, adds the `x-amz-server-side-encryption-aws-kms-key-id` header to the signed `PUT` request — mirroring how `s3_server_side_encryption` (added for the algorithm, e.g. `"aws:kms"`) already works today.

Today, `s3_v2` can declare *that* an object should be encrypted with SSE-KMS (`aws:kms`), but has no way to declare *which* customer-managed KMS key ID/ARN to use on the request itself — only the bucket's own default-encryption configuration determines that:

```python # litellm/integrations/s3_v2.py, async_upload_data_to_s3 (also present in async_log_success_event's # sync counterpart, upload_data_to_s3) headers = { "Content-Type": "application/json", "Content-MD5": content_md5, "x-amz-content-sha256": content_hash, "Content-Language": "en", "Content-Disposition": f'inline; filename="{batch_logging_element.s3_object_download_filename}"', "Cache-Control": "priva…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (4 events)
#0 of 0 · 31d18h40m0s ago — entered · #import:https:::github.com:berriai:litellm post #2200
The S3 change spans configuration, both upload paths, request signing, header handling, and provider-compatible tests, creating broader integration and regression risk. The Responses bridge fix is more localized to transformation logic, with its main complexity limited to preserving existing multimodal behavior.
32226 is harder because it requires tracing request-body handling across the MCP gateway boundary, correcting byte/text semantics without breaking JSON or streaming behavior, and adding regression coverage for multibyte boundary cases. 33780 is a narrower integration change across signing paths with focused configuration and AWS-compatible tests.
The left issue is substantially harder because it spans persistent usage accounting, concurrent request enforcement, calendar/timezone semantics, rollover behavior, configuration surfaces, APIs, UI, and backward compatibility. The right issue is a narrowly scoped integration change affecting configuration, request signing, and focused tests.
#0 of 0 · 31d18h17m26s ago — current · #import:https:::github.com:berriai:litellm post #2553
#28732 requires cross-cutting proxy-routing integration, external-service handling, failure and caching policies, configuration design, and security/reliability validation. #33780 is a localized S3 callback enhancement spanning request signing, configuration, and focused tests, so it has substantially lower scope and risk.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search