Mandatory S3:DeleteObject Permission in Velero Forces Risky Maintenance Operations #8724
Replies: 3 comments 6 replies
-
One note -- it's not just kopia maintenance that requires this. Backup and deletion are other operations that Velero does which require this permission. When the backup hits its expiration date, Velero automatically deletes the backup and associated metadata in the bucket (including restore metadata). When manually deleting a backup or restore, velero also deletes it. |
Beta Was this translation helpful? Give feedback.
-
Seems doable but not probably not going to be any more secure.. just adds ability to separate credentials into two secrets instead of one. |
Beta Was this translation helpful? Give feedback.
-
Velero is a backup/restore solution that works in various platforms, i.e., public clouds, private clouds, hybrid clouds and on-premise envs. So Velero should take the universal solutions so as to keep the compatibility to all platforms. For the original concern of bucket items being deleted, WORM storage(i.e., object lock) is already the universal solution, so Velero should take it instead of others. As for the repo maintenance, it is a critical operation to keep the repository healthy, so it should always run routinely. The repo itself already has lots of polices and margins to make sure the data won't be deleted too early or at the wrong time. So data security in this term is not an issue, or if there is any, it should be fixed by the repo, instead of making any workaround. |
Beta Was this translation helpful? Give feedback.
-
Description
I am running into an issue where Velero’s integration with Amazon S3 requires
s3:DeleteObject
permissions, which I cannot disable without breaking the backup maintenance process.Problem Description
s3:DeleteObject
permissions to perform repository maintenance.Expected Behavior
Steps to Reproduce
s3:DeleteObject
permissions from Velero’s IAM role.Impact
Potential Workaround
One option is to enable versioning on the S3 bucket and set up a cron job that removes delete markers only after a 7-day grace period. This would prevent immediate permanent deletion and provide time for recovery if an attacker deletes everything. However, this approach adds operational complexity.
A cleaner solution would be for Kopia to support repository maintenance and TTL expiration natively via the CLI, allowing backup pruning and maintenance to be handled separately from Velero’s delete requirements.
Request for Community Input
s3:DeleteObject
while still allowing proper repository maintenance?Looking forward to any feedback or suggestions from the community!
Beta Was this translation helpful? Give feedback.
All reactions