cloudnative-pg / cloudnative-pg/plugin-barman-cloud

[Feature request] Support for S3 SSE-C - Server-Side Encryption with Customer-provided keys

Đang mở
#646 8 bình luận 34 reaction 0 người được giao Xem trên GitHub
enhancement
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.