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

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

Ouverte
#911 3 commentaires 5 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
Go
Étoiles
191
Forks
72
Merge moyen
2 j 21 h
PR mergées (30 j)
21

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par l'EncryptionType API et internal/cnpgi/common/wal.go au niveau de l'appel lié à archiver. Suivez la manière dont les fichiers WAL sont transmis à archiver et dont les options de chiffrement parviennent à l'object-store API ; la tâche est terminée lorsqu'une configuration de chiffrement symétrique définie et une protection vérifiée avant l'upload sont en place.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
go
Domaine
cloud, security
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.