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

[Request] - support encrypt files before pushing to object store

オープン
#911 コメント 3 件 リアクション 5 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Go
スター
191
フォーク
72
平均マージ
2日 21時間
マージ済み PR(30日)
21

説明

As best as I can tell, the only [options for tuning encryption](https://pkg.go.dev/github.com/cloudnative-pg/barman-cloud/pkg/api#EncryptionType) are 'passed through' to the underlying `s3` (or compatible) API calls.

If it turns out that I'm wrong on that one, please let me know!

My question/request: allow use of symmetric encryption _before_ the files leave the host and are sent off to the object store.

I think this could be as straight forward as passing in a key/cypher to the [underlying archiver](https://github.com/cloudnative-pg/plugin-barman-cloud/blob/9be87b0d9c87c0df7f1f72caa33bf848fbc16582/internal/cnpgi/common/wal.go#L147)

The motivation: not all object stores support "BYO" key for bucket encryption and even if they do, you're still required to hand the sensitive key material off to the remote backend so that it can encrypt things for you. One of the simplest ways to address this is to encrypt objects before they're ever off the host.
Symmetric encryption is sufficient for "at rest, I need to know that I truly am the only person that can read it" needs.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

EncryptionType API と internal/cnpgi/common/wal.go から、リンクされた archiver 呼び出しを起点にしてください。WAL ファイルがどのように archiver に渡され、暗号化オプションがどのように object-store API に到達するかを追跡してください。完了には、定義済みの対称暗号化設定と、アップロード前に保護されていることの検証が必要です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
go
領域
cloud, security
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。