Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

s3 retention hold support #2354

Open
udf2457 opened this issue May 20, 2024 · 1 comment
Open

s3 retention hold support #2354

udf2457 opened this issue May 20, 2024 · 1 comment
Assignees
Labels

Comments

@udf2457
Copy link
Contributor

udf2457 commented May 20, 2024

Something to consider would be introducing support for S3 retention hold / object lock

The intent would be to protect backups from changes or deletion, whether malicious or accidental.

An example scenario could be a cyber attack where credentials were compromised. A retention hold on the S3 bucket would prevent an attacker from simply trashing all the old backups.

Clearly you can implement this today by simply setting backup schedules to $days+1 , however this would be rather fragile without integrated support (i.e. pgbackrest checking for the existence of locks and not just erroring out) and indeed pgbackrest should be able to add locks itself.

So I guess the purpose of this suggestion is to open up the discussion about the possibility, and how an implementation might look.

@dwsteele dwsteele self-assigned this May 27, 2024
@dwsteele
Copy link
Member

This is something we have been considering. Ideally versions would be locked rather than preventing the object from being overwritten (which would cause problems for metadata files). As far as I can see, this is how object lock works (or at least it can be made to work this way). If the lock duration can be set with a bucket property then even better.

There would also need to be a way to expose the bucket at a particular time, or we would build that functionality into pgBackRest. Probably the latter is more practical.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants