cloudnative-pg / cloudnative-pg/plugin-barman-cloud
[Feature request] Support for S3 SSE-C - Server-Side Encryption with Customer-provided keys
- Ngôn ngữ chính
- Go
- Star
- 191
- Fork
- 72
- Merge trung bình
- 1 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 18
Mô tả
I'm using k3s on Hetzner Cloud (https://docs.hetzner.com/storage/object-storage/faq/general#what-configuration-and-security-features-are-currently-supported) and running a PostgreSQL cluster with cnpg. I tried to configure barman-cloud for automatic backups to Hetzner S3 storage, but it seems that this is only possible without encryption.
Currently, Hetzner S3 only supports SSE-C (which means you have to provide an encryption key). I don't really understand what the option `encryption: AES256` means in context of S3 encryption, but I assume for SSE-C there are more options required - at least for providing a secret containing the SSE-C key.
Any chance to get SSE-C support in barman-cloud? I've spend much time in securing my k8s setup (node encryption, pv encryption etc.) and storing plaintext backups in external storage makes this whole effort pointless 😞
BTW: if I just enable `encryption: ASE265`, barman-cloud fails with this log line:
````
{"level":"info","ts":"2025-11-06T19:57:05.717632266Z","logger":"barman-cloud-wal-archive","msg":"2025-11-06 19:57:05,717 [947] ERROR: Barman cloud WAL archiver exception: An error occurred (InvalidArgument) when calling the PutObject operation: None","pipe":"stderr","logging_pod":"my-pg-cluster-1"}
````
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu tại điểm vào của barman-cloud WAL archiver và lần theo cách xử lý hiện có của `encryption: AES256` đến lệnh gọi S3 `PutObject` được nêu trong báo cáo. Xem xét cách cung cấp các secret cấu hình, sau đó xác định các bài kiểm thử upload liên quan hoặc bổ sung coverage cho các đầu vào SSE-C được yêu cầu. Hoàn thành khi các lượt upload SSE-C hoạt động với storage tương thích S3 được báo cáo mà không gặp lỗi `InvalidArgument`.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- go, postgresql
- Lĩnh vực
- cloud, databases
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 45/100