Avoid granting s3:DeleteObjectVersion by mistake in MinIO
This article is an answer to my bug report here: https://github.com/minio/minio/issues/21735 Context S3 buckets can be configured to keep old versions of objects when overwriting/deleting them. This is called a versioned bucket Calling DeleteObject on an object in a versioned bucket will not really delete it, but mark it as so with a delete marker. The object will appear deleted, but can still be viewed/deleted by specifying its versionId. This behaviour is really useful, for example for backups, where you want a client to upload its backups, but not be able to delete them all instantly. In this case, you would allow the client to do DeleteObject calls, but not DeleteObjectVersion, and clean up old versions periodically. ...